🎯 Module Overview
MBI Subscription Contracts turns your Dolibarr contracts into true recurring subscriptions: the module generates the due periods to be invoiced and converts them into invoices, either individually or in bulk. It adds a "Subscriptions" tab to customer contracts and supplier orders, automatically computes the periods and their amounts according to the chosen periodicity, then drives recurring invoicing from end to end: validation, PDF document, payment, e-mail sending and direct debit. It is designed for companies that regularly invoice services, licences, maintenance contracts or membership fees.
🧭 Benefits
- No more manual listing of due periods: the periods to be invoiced are computed and presented ready to use, with their amounts.
- Recurring invoicing handled in a single run, from one screen, with real-time tracking invoice by invoice.
- Easy recovery after an incident: processing stops at the offending invoice, everything already done stays recorded, with no risk of duplicates.
- Full traceability: every step of every invoice is recorded in a filterable history.
- Verification before accounting: a reconciliation tool compares your invoiced subscriptions with the bank statement and reports discrepancies.
⚙️ Features
Subscription management
- A "Subscriptions" tab added to the customer contract page, to attach a subscription to a contract service line.
- A "Subscriptions" tab also available on supplier orders, to manage purchased subscriptions.
- Per-subscription settings: repetition periodicity (monthly, two-monthly, quarterly, four-monthly, half-yearly, yearly, three-yearly), billing at the start or at the end of the period, and a discount specific to the subscription.
- Choice of price reference for the service: price per hour, day, week, month, quarter, half-year, year, two years, three years, four years or five years.
- Automatic generation of subscription periods (dates and amounts), with proration on the first and last period.
- Choice of period splitting: calendar periods, which make all due dates fall on the same date, or periods based on the actual service dates.
- Calculation based on the actual number of days in the month, or on a 30-day basis, when pricing is expressed per day.
- Period follow-up and correction: change dates, amount and quantity, add or delete a period, "invoiced" flag updated automatically and editable manually.
- Closing and reactivating a subscription at any time, without losing its periods or its history.
- Automatic prorated adjustment of periods when the end date of a service is changed, after confirmation from the contract page.
- Tacit renewal: when no end date is set on the service, invoiced periods are re-created automatically, in a configurable number.
Invoicing
- Creation of a subscription invoice from a selection of periods, on both the customer and supplier sides, with a traceability link between the contract (or order) and the invoice.
- Invoice types supported on the customer side: standard, down payment, proforma, replacement invoice and credit note.
- Reuse of the payment terms, payment method and bank account defined on the third-party record when available; otherwise the module's dedicated settings apply.
- Mass invoicing of customer and supplier subscriptions over a configurable due-date window, with line selection, computed total and selectable steps to run: validation, document generation, payment, e-mail sending, SEPA direct debit authorization and electronic invoice.
- Invoice-by-invoice processing with a progress screen: each invoice runs all the selected steps before moving on to the next one, and results are displayed as they happen.
- Database history of every step of every invoice, with a filterable consultation page (batch, invoice, status, type) and pagination.
- Sending invoices by e-mail using a global subject and message template, customizable per third party from a dedicated tab on the third-party record, with substitution variables.
- Showing or hiding service descriptions on invoices, globally or contract by contract thanks to an extra field added to contracts.
- A dedicated entry point for automated triggering of mass invoicing, protected by a secret key to be defined in the Dolibarr configuration.
Verification and bank reconciliation
- A reconciliation tool offering two modes: due periods to be invoiced, and subscriptions already invoiced within a given month.
- Import of a bank statement in .xls or .xlsx format, with automatic format detection and reading of French-formatted amounts.
- Comparison of expected amounts, invoices actually present in Dolibarr and direct debit requests, subscription discount included.
- Line-by-line reporting of anomalies: period flagged as invoiced with no invoice found, period invoiced twice, invoice left as a draft or abandoned, amount discrepancy, missing or untransmitted direct debit.
Dashboard and printing
- Two widgets for the home page: subscriptions to be invoiced on contracts and on supplier orders, with a configurable alert window before and after the due date.
- Printing and exporting the periods of a subscription in ODT format, from a template shipped with the module and freely editable.
Dolibarr integration
- Multi-company separation and the user's sales scope are enforced in the invoicing and reconciliation screens.
- Reuse of the standard Dolibarr permissions (Contracts, Invoices, Third parties, Suppliers): no additional permission to manage.
- Native integration with the interface: tabs on existing records, menu entries under Commercial, home page widgets and pages following the Dolibarr style.
🧩 Requirements and Dependencies
- Mandatory: a valid licence, activated from the dedicated tab using the order reference received on purchase. Without activation, mass invoicing and bank reconciliation remain unavailable.
- Mandatory: outbound HTTPS access to the publisher's activation service, contacted at most once a day when a module administration screen is opened.
- Mandatory: the Dolibarr Contracts module (dependency declared by the module, enabled automatically if required).
- Mandatory for invoicing: the Dolibarr Invoices module, together with the matching permissions for the users concerned (this module is not declared as a strict dependency, but creating subscription invoices depends on it).
- Mandatory for the supplier side: the Supplier orders module and permissions on supplier invoices.
- Optional: the Direct debit module for the SEPA direct debit authorization step.
- Optional: the Projects module to link subscription invoices to a project.
- Optional: the Multi-company module; when it is active, the screens filter data by entity.
- Optional: the pdpconnectfr electronic invoicing module for the "electronic invoice" step of mass invoicing.
- Optional: the Agenda module to log e-mail sending as events.
- Bundled libraries: shuchkin/simplexls and shuchkin/simplexlsx (MIT licence) to read bank statements. They ship with the module: no additional installation is required.
- PHP extensions: simplexml and zlib, used to read .xlsx statements. They are present in the vast majority of standard PHP installations.
✅ Compatibility
- Minimum required Dolibarr: 19.0
- Dolibarr versions tested: 23.0.2 (verified in a real environment). The module ChangeLog reports compatibility covering Dolibarr 19 to 23; the module declares no maximum version.
- Module designed to integrate with the standard Dolibarr interface, without any core modification.
- Minimum required PHP: 8.0 (operation verified under PHP 8.2).
- Available languages: English, French, German, Spanish (Spain and Argentina), Italian. The translation sets have been compared with the English reference file: they are complete, with no missing key and no empty value.
🔧 Installation
- Download the module ZIP archive without unpacking it.
- In Dolibarr, go to Home > Setup > Modules/Applications.
- Open the Deploy/Install external module tab.
- Upload the module ZIP archive.
- Search for and enable MBI Subscription Contracts.
- Configure the module options from its administration page.
- Grant the required permissions to the users concerned.
Manual installation: copy the module folder under the name contratabonnement into the htdocs/custom/ directory of your installation, then resume at step 5.
🚀 Getting Started
- Open the Activation tab and enter the order reference received on purchase: the tab then shows the licence status and the number of remaining days of updates and support.
- Open the module configuration page from the modules list.
- Set the bank account, payment method and payment terms dedicated to subscriptions, or enable reuse of this information from the third-party record when it is available there.
- Define the due-date window, as a number of days before and after, used by the home page widgets and by mass invoicing.
- Choose the period splitting mode (calendar or actual dates), the per-day calculation mode and the number of periods to create for tacit renewal.
- Prepare the subject and message template used to send invoices by e-mail; they remain customizable third party by third party.
- Check the permissions of the users concerned on contracts, invoices and third parties, as well as on supplier orders and supplier invoices if the supplier side is used.
- Open a contract, go to the "Subscriptions" tab, create a first subscription on a service line and check the generated periods and their amounts.
🔄 Updates and Uninstallation
- Back up the database and the Dolibarr files before any update.
- Read the ChangeLog, then install the new archive over the existing version.
- Important: the table creation and upgrade scripts are only replayed when the module is enabled. After an update performed by simply replacing the files, disable and re-enable the module so that the structural changes are applied.
- Disabling the module releases the licence, which becomes available again for another instance. After re-enabling, the order reference must therefore be entered again: make sure you have it at hand before any operation that requires disabling and re-enabling the module.
- Disabling the module removes its menu entries, tabs and widgets. The module tables and the data they contain (subscriptions, periods, history, e-mail templates) are kept, as is the "Subscription description" extra field added to contracts, together with its values.
- Deleting the module files does not delete its tables or its data: removing them, if desired, requires a manual database operation.
🛟 Support and Documentation
For any support request, please contact MB Informatique at: <info@mb-informatique.fr>
To help with diagnosis, please provide:
- the Dolibarr version in use;
- the module version;
- the PHP version;
- a detailed description of the problem and the steps to reproduce it;
- any error messages or screenshots.
An online demonstration is available at https://demo.mbicloud.fr.
This page is the module's main documentation.
📄 Terms of Use
Article 1 — Publisher. The MBI Subscription Contracts module is published by MB Informatique, a limited liability company registered with the Mulhouse Trade and Companies Register under number 834 342 362 (SIRET 834 342 362 00029, EU VAT number FR07834342362), whose registered office is located at 120 rue de l'Île Napoléon, 68170 Rixheim, France. Telephone: 03 67 262 242 — Email: info@mb-informatique.fr — Website: https://www.mb-informatique.fr.
Article 2 — Purpose and acceptance. These Terms of Use (ToU) govern the use of the MBI Subscription Contracts module ("the Module") for Dolibarr ERP/CRM as well as the associated services provided by MB Informatique SARL (support, updates, activation). Installing, enabling or using the Module constitutes full and unreserved acceptance of these ToU. They apply in addition to the terms of sale of the platform through which the Module was purchased (e.g. DoliStore), which govern the purchase itself.
Article 3 — Code licence. The source code of the Module is distributed under the GNU General Public License version 3 or later (GPL v3+), the full text of which is included in the COPYING file shipped with the Module. These ToU do not restrict the rights granted to the User by that licence; they govern the services provided by MB Informatique SARL and the conditions of use of the Module.
Article 4 — Requirements and compatibility. The Module requires Dolibarr 19.0 and PHP 8.0 as a minimum. It has been tested with Dolibarr 23.0.2 and PHP 8.2. No maximum version of Dolibarr or PHP is declared; this does not constitute an automatic guarantee of compatibility with all later versions. Its operation is not guaranteed with a version earlier than the stated requirements, in the event of a modification of the Dolibarr core, or in the presence of conflicting third-party modules. It is the User's responsibility to check the compatibility of their environment before installation.
Article 5 — User obligations. The User undertakes to: (a) perform a complete backup of the files and of the database before any installation or update; (b) test the Module in a test environment before going live whenever possible; (c) use the Module in accordance with its documentation and applicable regulations; (d) keep their Dolibarr instance under normal security and update conditions.
Article 6 — Support and updates. Support is provided by email at info@mb-informatique.fr, under the conditions and for the duration that may be specified at the time of purchase. Excluded from support are malfunctions caused by a modification of the Module or of the Dolibarr core by the User or a third party, by an environment that does not comply with the requirements, or by a conflict with a third-party module. Some updates may require a more recent version of Dolibarr.
Article 7 — Warranties. The Module is provided "as is", in accordance with articles 15 and 16 of the GPL licence and within the limits permitted by law. MB Informatique SARL does not warrant that the Module is free of defects, operates without interruption, or meets any particular need of the User. Mandatory applicable statutory warranties are not affected by this article.
Article 8 — Liability. Within the limits permitted by law, MB Informatique SARL shall not be held liable for indirect damages, in particular loss of data, loss of business, loss of revenue or damage to reputation, nor for damages resulting from use of the Module that does not comply with its intended purpose, from the absence of a prior backup, from a modification of the Module by the User or a third party, or from an event of force majeure. For professional Users, the total liability of MB Informatique SARL, on all grounds combined, is limited to the amount actually paid for the Module during the last twelve months. Nothing herein excludes liability that cannot lawfully be excluded, in particular in the event of fraud or gross negligence.
Article 9 — Personal data. The Module operates within the User's own Dolibarr instance: the functional data it processes remains stored on the User's systems, and the User remains the data controller within the meaning of the GDPR. In order to allow checking the availability of a version or accessing the activation service, the Module may declare to the Dolibarr core service addresses operated by MB Informatique SARL. When the User triggers one of these functions, Dolibarr may contact the service concerned and send it the technical identifier of the Module. The Module contains no licence key and does not itself transmit either the contents of the Dolibarr database or the domain name of the instance. As with any connection to an Internet service, the public IP address used to establish the connection may appear in the technical logs of the destination server, for security and operational purposes. The User may exercise their rights regarding personal data by writing to info@mb-informatique.fr.
Article 10 — Intellectual property and trademarks. "Dolibarr" is a trademark belonging to its respective owners. The Module is an independent development by MB Informatique SARL, neither affiliated with nor endorsed by the Dolibarr association. The copyright notices contained in the Module files must not be removed, in accordance with the GPL licence.
Article 11 — Duration and changes. These ToU apply from the first use of the Module and for the entire duration of its use. MB Informatique SARL may amend the ToU for future versions of the Module; the applicable version is the one shipped with the version of the Module in use. Termination of the services does not affect the rights granted by the GPL licence.
Article 12 — Governing law and disputes. These ToU are governed by French law. Should any difficulty arise, the User is invited to first send a written complaint to MB Informatique SARL in order to seek an amicable solution. Failing an amicable settlement, any dispute with a professional User falls within the exclusive jurisdiction of the Commercial Court of Mulhouse, including in summary proceedings, warranty claims, incidental claims or where there are multiple defendants. Consumer Users retain the benefit of the mandatory rules of jurisdiction and may make free use of the consumer mediation scheme under the conditions laid down by articles L.612-1 et seq. of the French Consumer Code. Up-to-date information on the consumer mediation applicable to the services of MB Informatique SARL is set out in its General Terms and Conditions of Sale, available at https://www.mb-informatique.fr/cgv.html.
Article 13 — Miscellaneous. If any provision hereof is declared void or unenforceable, the remaining provisions shall retain their full validity. These ToU are drafted in French; in the event of any discrepancy between the French version and a translation, the French version shall prevail.
👨 💻 Publisher
MBI Subscription Contracts is a custom Dolibarr module developed by MB Informatique.
Aimed at companies whose revenue relies on recurring services, it removes the listing and data-entry work involved in recurring invoicing and secures every step, from creating the due periods to bank reconciliation.
The module was originally developed by Maxime MANGIN. MB Informatique has since taken over its maintenance and development, in compliance with the GPL licence of the original work.
Publisher: MB Informatique Contact: <info@mb-informatique.fr> Website: https://www.mb-informatique.fr
Image in the logo by Chanut is Industries is licensed under Creative Commons (Attribution 3.0 Unported).