Dolibarr 18 offers a complete range of features covering everything from customer and supplier management to accounting and project tracking. Its intuitive and user-friendly interface makes managing your business more fluid and effective than ever. Whether you run a small business or a larger corporation, Dolibarr 18 adapts to your needs.
The Dolibarr community has released the long-awaited version 18 of their ERP, and this adds a good handful of new features for both users and developers. The most notable is support for PHP 8.2, which will significantly help with resource consumption when running on a cloud server. This is the ERP + CRM that we implement.
Contenidos
What’s new in Dolibarr 18?
Now with greater integration of functions, you can access key information in an instant. The optimization of speed and performance guarantees an uninterrupted experience, even with massive datasets. This is the change log:
- NEW: Compatibility with PHP 8.2.
- NEW: Workstations Management module updated to stable status.
- NEW: Webhook module updated to stable status.
- NEW: #23436 Group social network fields.
- NEW: Accounting – Add specific page to export accounting data instead of the journal page.
- NEW: Accounting – Add FPC22 subaccount balance.
- NEW: Accounting – Manage customer retained warranty FPC21+.
- NEW: Accounting – Manage intra-community VAT in supplier invoices – FPC22.
- NEW: Possibility to upload a file by drag and drop in purchase invoice, VAT, salaries, and social contributions.
- NEW: Authentication mode: #22740 Add OpenID Connect impl.
- NEW: Authentication mode: Add experimental support for Google OAuth2 connection.
- NEW: Adapt category and product image sizes in TakePOS.
- NEW: Supplier invoices: Add ODT support to supplier invoices.
- NEW: Add a public virtual card page for each user.
- NEW: Add status in supplier price reference (WIP to close a supplier reference).
- NEW: Add bookmarks in destination pages selectable by users.
- NEW: Add ext_payment_site column in societe_rib to allow multiple payment modes.
- NEW: Add image conversion to webp for a single image in the web media editor.
- NEW: Add CRC for currency symbol before amount.
- NEW: Add CSS editor in admin GUI.
- NEW: Add customer code to invoice list.
- NEW: Add customer order delivered (ORDER_NEW) in Notification module.
- NEW: Add due date and labels in customer record.
- NEW: Add drop-down button actions (example in Create button in project).
- NEW: Tickets: Added option to display ticket progress in public interface.
- NEW: Add reply-to field in email collector as possible filter.
- NEW: Add filter on number of generations performed in recurring invoice list.
- NEW: Add filters and sort in product unit column.
- NEW: Add Send Email button in salary record.
- NEW: Add link to edit VAT list from missing VAT error message.
- NEW: Add link to third-party ticket history.
- NEW: Add margins in paiement/card.php.
- NEW: Add mass delete action in VAT.
- NEW: Add zip, city, country fields for bank account owner.
- NEW: Members: Add numbering modules for members.
- NEW: Add origin information when creating a batch of products from a stock movement.
- NEW: Add possibility to choose format #21426.
- NEW: Add SQL restriction in product_stock table to only allow existing products and warehouses#23543.
- NEW: Add statistics by amount in product statistics.
- NEW: Add STRIPE_DEBUG, a way to log Stripe IPN.
- NEW: Add subtotal in detailed order list.
- NEW: Add creation and modification triggers for warehouse.
- NEW: Add widget box_members_by_tags.php.
- NEW: An external module can modify quick search fields.
- NEW: Auto-activate some modules when installing (Export/Import/Wysiwyg editor).
- NEW: Autocomplete email form with “Default” email template enabled.
- NEW: Bank name is no longer mandatory when creating. It can be generated if empty.
- NEW: Batch reference objects.
- NEW: Better response for mass actions.
- NEW: You can add any contact in events if MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT is 1.
- NEW: You can add the add now link in the date in addfieldvalue().
- NEW: You can bin accounting line for a given month.
- NEW: You can edit the various payment account (if not transferred).
- NEW: You can edit VAT number inline from supplier tab.
- NEW: You can fill salary payment date with salary start date.
- NEW: You can filter on a custom group of accounts. Perf or book list.
- NEW: Possibility to return to draft when sending when stock change is not validated.
- NEW: You can modify SEPA payment bank account (if file was not sent yet).
- NEW: Proposals: You can modify margin types in proposals like VAT types.
- NEW: Salary: You can modify payment date of a payroll (if not reconciled).
- NEW: OAuth: You can now edit service name for OAuth token.
- NEW: Reception: You can receive more than requested quantity in reception.
- NEW: You can select several warehouses in stock view by past date.
- NEW: You can select export format during journal export.
- NEW: You can set a checkbox in formconfirm by clicking on label.
- NEW: You can set background style with MAIN_LOGIN_BACKGROUND_STYLE.
- NEW: You can set default value of flag in email templates.
- NEW: You can set “Opportunity List” page as destination page.
- NEW: You can display SQL request used in emailing selection.
- NEW: You can stay in edit field when errors occur.
- NEW: GeoIP: You can test a GeoIP conversion from GeoIP setup page.
- NEW: Members: Captcha for public member subscription form.
- NEW: Operation category for crabe PDF model.
- NEW: Color for start date and owner.
- NEW: Comment in api_mymodule for separated methods.
- NEW: Constant PROPALE_ADDON_NOTE_PUBLIC_DEFAULT.
- NEW: Create email substitution variable for intervention signature URL.
- NEW: Date for salary payment includes hour/min.
- NEW: Debug custom CSS function to avoid a directory search/scan in.
- NEW: Name.
- NEW: Disable bad reputation product price.
- NEW: dolExplodeIntoArray can accept regex.
- NEW: dol_sort_array can sort alphabetically even if val is num.
- NEW: No closed contact proposed as receiver for mails.
- NEW: MO: Dynamic choice of warehouse and batch in MO production.
- NEW: Element time code integration + sql.
- NEW: List of events with color.
- NEW: List of social networks expender/collapse.
- NEW: Proposals: Filter by Signed+Invoiced in proposals.
- NEW: Filter by amount and quantity in service contract list.
- NEW: Import: Filter by entity in import.
- NEW: formconfirm can support fields with datetime format.
- NEW: getCommonSubstitutionArray to have more substitution keys.
- NEW: Helper functions for dates + small demo case.
- NEW: Hook printFieldListFrom in contact list.
- NEW: inc.php: Handle parameters from argv.
- NEW: Website module: Increase website counter at each access to the page in website module.
- NEW: Invalidate all user sessions when password is changed.
- NEW: Invoice – Show operation category.
- NEW: iSuiteExpert export model.
- NEW: Keep link between user created from contract and application.
- NEW: Limit product loading in TakePOS.
- NEW: List product in orders.
- NEW: Assign table to element to get entity in import.
- NEW: Migration script + delete old table + rename fields and indexes.
- NEW: REST API for multidivisa to create, update, delete, update rate…
- NEW: Multiselect to filter prospect status.
- NEW: Name and date for printing in PDF Sign.
- NEW: [Mass deletion of project tasks].
- NEW: No overwriting of optional fields during contact put().
- NEW: Notification of proposal signing or rejection from online page.
- NEW: Notification to contributor affected to a ticket if a new message is posted (add TICKET_PUBLIC_NOTIFICATION_NEW_MESSAGE_ALSO_CONTRIBUTOR).
- NEW: We can now edit amount in clone VAT and salary action.
- NEW: Only open contact is returned by liste_contact, to not have access to closed contact as mail receiver.
- NEW: Operation type in email collector to load or create contacts.
- NEW: Filter option for NoSalesRepresentativeAffected in proposal list.
- NEW: Option to manage deposit slips for more payment modes (not only).
- NEW: Option to show column for field and line selection on left.
- NEW: Order export: Allow export of ‘shipping method’ field.
- NEW: Default payment values when creating a supplier order from reception.
- NEW: Payment: Contract management.
- NEW: Possibility to link to pages in German in help.
- NEW: Presend mass action in contact list.
- NEW: Product images in popup are stored in cache.
- NEW: Provide oldcopy value when calling setValueFrom() with an enable key.
- NEW: Accounting: Quadratus export with attached files in accounting export.
- NEW: Batch reference objects.
- NEW: Remove default percentage for event creation URL.
- NEW: Remove keys whose table element is the same as element in map list.
- NEW: Repair script jump views.
- NEW: Save date to invalidate other session in user table.
- NEW: Search by time range.
- NEW: Send an email when a ticket is assigned.
- NEW: Send a notification email when a ticket is assigned.
- NEW: SepaStripe now creates payment mode with pm_ type using new API.
- NEW: Set default payment values when creating a supplier order from reception.
- NEW: Tickets: Set ticket status to responded if customer has responded from public interface.
- NEW: Set start time of today to beginning.
- NEW: Configure emailcollector more easily. You can also use ! for negative search.
- NEW: Display web access counter in web list.
- NEW: Show main currency in company information.
- NEW: Show module in email template list.
- NEW: Show picto in widget combobox.
- NEW: Show supplier invoice reference in direct debit transfer tabs.
- NEW: Show supplier name in getNomUrl of supplier order.
- NEW: Sort custom account group column.
- NEW: Stock limit by alert and optimal stock desired by product and warehouse for import.
- NEW: Substitution date is now in email collector.
- NEW: Support for different bank accounts for several direct debit payments.
- NEW: Support multiselect in warehouse selection combobox.
- NEW: Support MAIN_SECURITY_MAXFILESIZE_DOWNLOADED #yogosha10660.
- NEW: Table llx_element_time to store time spent on various elements (MO, ticket…).
- NEW: The batch to remind due date can be set to use validation date.
- NEW: The update link is always visible.
- NEW: The update process can be done by creating an upgrade.unlock file.
- NEW: Tooltip to explain how to add a picture in a product.
- NEW: Use of a cache file for external RSS in calendar.
- NEW: Use by default the domain $dolibarr_main_url_root for SMTP HELO.
- NEW: Use by default the most recent model.
- NEW: VAT can be modified when adding a line.
- NEW: Write all fields and their properties in asciidoc format.
- NEW: You can add an array of several links in the date selector.
- NEW: Add option PDF_SHOW_PHONE_AFTER_USER_CONTACT to show phone after assigned contact in PDF.
- NEW: Add option PDF_SHOW_EMAIL_AFTER_USER_CONTACT to show email after assigned contact in PDF.
- NEW: Widgets: Implementation of MAIN_ACTIVATE_FILECACHE in birthday widget.
- NEW: Widgets: Add widget “Next events”.
- NEW: Widgets: Add widget for open opportunities.
- NEW: Use of an AJAX component to change prospect status in prospect list.
- NEW: Commenting on a survey is only possible after voting.
- NEW: Add partial payment reason “tax withholding”.
- NEW: New tab for receipt and shipping.
- NEW: Use of most recent PDF templates for documents by default in a new installation.
- NEW: Better design for third-party discount page.
For developers or integrators
- NEW: Possibility to select hours and minutes in form_confirm.
- NEW: Add triggers in mailing.
- NEW: Add a trigger when creating a batch of shipment lines and fix propagation of default values.
- NEW: Add function to list directory objects.
- NEW: Add helplist property to describe object fields.
- NEW: Add hook in loadLotStock() in html.formproduct.class.php, add hook ‘llxFooter’, Add hook online sign.
- NEW: Update parsedown lib to 1.7.4, phpspreadsheet lib to v1.12, ESCPOS v3.0, jquery, Stripe.
- NEW: Support contact in API post().
- NEW: More APIs (update exchange rate, load supplier documents, …).
- NEW: ModuleBuilder: Update in ModuleBuilder in Menu tab when adding object.
- NEW: ModuleBuilder: Add/edit permissions.
- NEW: ModuleBuilder: Better generated documentation.
- NEW: Add shipping information in parameters provided to sendMailAfter hook.
- NEW: Add setAsSelectUser in factory for generic setup page.
- NEW: Add keepspace option in dol_string_nospecialchar().
To be considered
The following changes may cause regressions in some external modules, but they were necessary to improve Dolibarr:
- The minimum PHP version is now PHP 7.1 instead of PHP 7.0.
- The obsolete “escapeunderscore()” method of database handlers has been removed. You must use “escapeforlike()” instead.
- The “nb_expedition()” method has been renamed to “countNbOfShipments().”
- Default hooks type is now ‘addreplace’ (and exception are now ‘output’ hooks, which are deprecated).
- Obsolete libelle property removed from entrepot class.
- The ‘text’ type in the ->fields property no longer accepts HTML content. Use the ‘html’ type for this.
- The WebService SOAP API module has been deprecated. Use the Webservice REST API module instead.
- The htmlPrintOnlinePaymentFooter() method used for public pages footer has been renamed to htmlPrintOnlineFooter() and moved to company.lib.php.