Dolibarr 13.0.0
29 January 2021
Dolibarr version 13.0.0 is now available (major release).
Upgrading to Dolibarr 13.0.0
Dolibarr 13.0.0 can be upgraded to (or installed) using any of Installatron's products. Use Installatron's optional Automatic Update feature to automatically apply Dolibarr updates as new versions are released, or use Installatron's Clone feature to duplicate an existing Dolibarr install to test the 13.0.0 upgrade prior to applying it live. Get started managing your Dolibarr installations with Installatron
What's New in Dolibarr 13.0.0
For Endusers - What's New
- Add module "Credit transfer SEPA" to manage payment of vendors using bank credit transfer SEPA files.
- Module Reception (for a more accurate management of your receptions) moved from experimental to stable.
- Module Recruitment to manage Job position and applications.
- Several security issues after a private bug bounty campaign.
- Accountancy - add chart of sub accounts
- Accountancy - add options to disable binding on sales, purchases & expense reports independently of the modules
- Accountancy balance - add a menu entry to show subtotal by group
- Accountancy - change menu disposition
- Accountancy - on transfers, select the periodicity by default
- Accountancy - Add export for Gestinum (v3 & v5) #15180
- new currency rate editor
- Solve blocking feature. Can increase stock of a Kit without changing subproduct stock.
- add a widget to show the customers with outstanding limits reached
- add 2 rules for emailcollector: Message send/not sent from Dolibarr
- add a counter of number of words for pages in website module
- add alert before changing thirdparty in TakePOS
- add a page to list Stock at a given date in the past
- add a start date to begin binding in accountancy
- add a statistics page to list popularity of products on invoices
- add calendar selection for agenda view
- Support documents generation for ticket edition (PDF or ODT)
- add column payment term into list of supplier invoices
- add column quantity in product margin page
- add column vat rate in page to define accounting account on product/service
- add costprice in fields of products list
- add an import profile for CUSTOMER ORDER, PO, PROPOSAL MODULE, SUPPLIER INVOICE
- add employee link in expense report binding page
- add EORI No. as ProfID5
- add export for various payments
- add Extrafields labels and values in mail on create ticket
- add Extrafields support on ECM module
- add filter rules "is answer" and "is not answer" in email collector
- add focus when editing on product/stock/product.php Close #14548
- add free text on each terminal of cash desk
- add global search for customer payments and vendor payments
- add global search for miscellaneous payments
- add helper function for table headers with numbers
- add link to edit property from the search result of website pages
- add link to reset qty on supplier dispatch page
- add MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const to remove header stored by email collector
- add Manufacturing Orders attached files into the automatic ECM view
- add margin info in invoice list
- add mass action to set category on a list of website pages
- add mass deletion for events
- add mass deletion for draft invoices
- add more filters on monthly statement list
- add option TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT
- add option to define a default warehouse at user level
- add option to include products without alert in replenish
- add order by lastname and firstname by default in get sales representatives
- add param to not show links when output tags
- add PDF document templates for warehouses (list of stock)
- add a prospect status for the contact with managment of custom icon
- add public note on products ; this also partially fix the #14342
- add quick dropdown menu in top right menu (experimental with MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN)
- add region in export companies and contacts
- add rights on margin info on invoice list
- add search param for close date on order list
- add show preview for mail attachement on form mail
- add State/Province origin for products
- add the workflow interaction close intervention on closing ticket
- add third order printer to TakePOS
- add tracking number in list and search_all items
- add vcard for adherent and user
- add week number for month view in agenda
- Algeria data (VAT and forme_juridique)
- allow click on all header numbers on commerce area
- allow to reopen interventions (green button)
- allow zero quantity on supplier/vendor order line
- appearance tab in TakePOS with more visual parameters
- better currency rate editor
- can build vendor invoice from vendor orders
- can change a product in lines of a recurring invoice or contract
- can change size of logo on PDF documents
- can change VAT rate of all lines of a draft object in one step
- can define date range of validity of a login during creation
- can disable, from edit page, the whole web site
- can edit and set sales representatives directly on thirdparty card
- can edit the list of sending email profiles
- can enable/disable users in bulk actions
- can filter on accounting system ref in export of chart of account
- can filter on container type, language and tags in the list of web pages
- can hide eatby, sellby dates with option PRODUCT_DISABLE_SELLBY and PRODUCT_DISABLE_EATBY
- can import proposals, sales orders, supplier invoices
- can set a dedicated SMTP config for sending email from public ticket interface
- can set tags/categories to website pages
- can set type of price without tax per default for new sale price creation
- can use desired stock of a given warehouse for replenishment
- change thirdparty with barcode scan in TakePOS
- common behavior for monthly leave list view
- convert all subscription in datetime
- can create a thirdparty customer from TakePOS
- date shipment from order accepts hours
- price level compatibility for variant
- delayed payment in TakePOS
- display date range if exist in TakePOS
- display resiliate status in TakePOS for member
- display stat for BOM on "object referent"/linked Object product tab
- Email configuration - allow auto signed certificate when smtp ssl activated
- enable free emails input with select2
- Events in agenda for contact
- filter on progress column in task list
- filter product list by country and/or state/province
- format tickets sent by mail in public interface
- form to add customer/supplier into categories
- Framework is ready for CSRF token protection on explicit GET URLs
- helper functions for export with phpspreadsheet
- hide closed contract lines
- hide label in PDF for variants
- if specific help page is available, we change color of icon
- include the tag editor of page as a popup into website editor
- introduce constant FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM
- introducing new modal boxes in TakePOS
- keep TakePOS terminal when login/logout
- link on balance to the ledger
- MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER const in email collector
- manage errors on update extra fields in ticket card
- mass-actions for the event list view
- Module Intracomm report
- more filter for "View change logs"
- multicurrency total in TakePOS
- multiselect type and date to date filter
- Nature of product is now a dictionay
- new line template: hidden conf to fill service dates from the last service line
- PDF model storm for delivery
- possibilty to group payments by mode and show their subtotal
- Print payment method and change in TakePOS
- Priority and transparency from external calendar events
- Products Import/Export 'default warehouse' and 'use batch number' fields
- Purchase price table: added filterable table columns
- rate editor for multicurrency
- ref_ext field for Commande lines, order lines, Attributes and Combinations, Invoice lines, payments, order lines
- remove new lines in mail on add ticket message
- restrict thirdparty to customer in TakePOS
- Rule "email to" accept wildcard *
- Save filter of the project homepage
- select-able columns on customer and supplier invoice paymnet list
- select-able columns on miscellaneous payments + more data columns
- select-able columns on social taxes list
- send context and remove new lines on create ticket
- show available stock in TakePOS
- show category filter on lists only when user have rights to read categories
- show header number and make it clickable in warehouse area, payment area, shipment area
- show image of user in the combo select of users
- show label on batch card
- show links for select and multi-select in category extra field
- show module and permission ids on user/group rights (only admin)
- show place from events on import calender
- show references in contract form on interventions
- show tags and status in search list of website pages
- show user on external calender events (when found)
- subject title with company name instead of application title in ticket message
- Support for Samba4 AD
- TakePOS connector compatibility with RECEIPT PRINTERS module
- TakePOS Gift Receipt
- TakePOS Multicurrency compatibility
- TakePOS Weighing Scale compatibility with TakePOS connector #14725
- Third-Party Import new fields: mother company,outstanding debt limit,bank account,incoterms
- Thirdparty module : box on customer/supplier tab for invoice outsantding amount late
- ticket classification on create from email collector
- Ticket message notifications when edited from public interface
- translate classification labels in ticket
- VAT rate for Angola #15606
- VAT and juridical status for Algeria
- VAT report - Invert constant to show by default zero VAT in reports
- website page fields selection
- website - global header of a website can also have dynamic content
- when creating a user from a member linked to a thirdparty, you can choose to create it as external or internal user
- add clone button on miscellaneous payment
- add option to put the product label in bold in the PDF templates if configured #15065
- add option "If the feature to manage kits of module Stock is used, show details of subproducts of a kit on PDF."
For Developers - What's New
- add MEMBER_TYPE and TYPE substitution key
- add function dolButtonToOpenUrlInDialogPopup() to be able to open page into a popup
- show line number on intervention card (via MAIN_VIEW_LINE_NUMBER)
- Add some fields to link website page to an other object
- fill ECM src object fields in dol_add_file_process
- conf to allow to show the full tree in warehouse popup
- can use THEME_DARKMODEENABLED=2 for a preview of theme in dark mode
- can force the antivirus from conf file or autoprepend ini setup
- can add event to log into blockedlog module with a constant
- add property cssview when declaring fields of an object
- Can use dynamic code into the 'enabled' property of DAO fields
- allow to edit "demand reason" field though API
- field ref_ext in llx_commandedet
- fields ref_ext for Attributes and Combinations
- OAuth SCOPE for Admin SDK
- standardizes API thirdparties by email like other object
- Triggers Attributes and Attributes values
- added incoterms data into the substitution array
- add send context for ticket
- add a message in error_log after detection of SQL or script injection
- add validation of MX domain for emails
- calculate the virtual stock in transverse mode ( not on getEntity('commande'), ... but on getEntity('stock') )
- Graphics can be horizontal bars
For Developers - APIs
- API get contacts list of a given order
- API endpoint getContacts and Clean results
- API can update a payment
- API get member by thirdparty
- API get thirdparty by barcode
- API get users by email / login
- fetch contact by email with REST API
- get state dictionnary by REST API
- improve Product API for variant products
- retrieve discount from invoice from API
- Thirdparty REST API: endpoint to set price level
- use new category API for project list view
For Developers - HOOKs
- Hook on propal card
- add hooks on newpayment page to allow external payment modules
- add hooks on stats pages
- add formConfirm hook on product page
- add two hooks printFieldListFrom and printFieldSearchParam
- add hook "loginCheckSecurityAccess"
WARNING:
- The object "livraison" has been renamed into "delivery" (directory, class, keys, methods with livraison in name ...).
- All properties ->contactid have been renamed into ->contact_id
- All properties ->titre have been renamed into ->title
- Property $paiementid in API 'api_supplier_invoices.php' has been renamed into into $payment_mode_id
- Property 'num_paiement' has been renamed 'num_payment' everywhere for better code consistency.
- The deprecated subsitution key SIGNATURE has been removed. Replace it with USER_SIGNATURE if you used the old syntax in your email templates.
- The hidden option HOLIDAY_MORE_PUBLIC_HOLIDAYS has been removed. Use instead the dictionary table if you need to define custom days of holiday.
- If you build a class that implement CommonObject to use the incoterm properties or methods (->fk_incoterm, ->label_incoterm, ->location_incoterm),
- you must now also include declaration of the Trait 'CommonIncoterm' in your class. All incoterm functions were moved into this Trait.
- The GETPOST(..., 'alpha') has now the same behaviour than GETPOST(..., 'alphanohtml') so no html will be allowed. Use GETPOST(..., 'restricthtml') to accept HTML.
- If you have links in your code with '&action=add', '&action=update', '&action=delete' as a parameter, you must also add '&token='.newToken() as another parameter to avoid CSRF protection errors.
- The API addPayment for api_invoice has evolved to accept amount into a foreign currency. You must provide array(amount=>X,mutlicurrency_ammount=>Y) instead of simple amount.
- The method select_thirdparty(), deprecated since 3.8, into html.form.class.php has been removed.
- Depreciate all methods with name ->valide(). Use instead methods ->validate().
- Function showStripePaymentUrl, getStripePaymentUrl, showPaypalPaymentUrl and getPaypalPaymentUrl has been removed. The generic one showOnlinePaymentUrl and getOnlinePaymentUrl are always used.
- Context for hook showSocinfoOnPrint has been moved from "showsocinfoonprint" to "main"
- Library htdocs/includes/phpoffice/phpexcel as been removed (replaced with htdocs/includes/phpoffice/PhpSpreadsheet)
- Databse transaction in your triggers must be correctly balanced (one close for one open). If not, an error will be returned by the trigger, even if trigger did return error code.
- Dolibarr v13 is still compatible with any PHP version between 5.6.0 and 7.4.*; Unit tests are OK with PHP 8.0 but some warnings or troubles may appears with PHP 8.0.