Roadmap and Release 12.0.0

Version: 12.0 (List of other versions on page Category:RoadMap)
Release date: June 2020
Main focus (What developers has mainly worked on, but not only, so for full list of changes see the detailed ChangeLog):
Manufacturing Orders, POS enhancement, ...

Fr verysmall.png

Watch the Video - What's new in Dolibarr v12

{{#evt: service=youtube |id=https://www.youtube.com/watch?v=HtJAY5dqfM8 }}

Fr verysmall.png https://www.atm-consulting.fr/les-nouveautes-de-dolibarr-erp-crm-version-12/


Detailed Changelog:

For users:

new Modules state:
NEW: Module MO (Manufacturing Order) is available as stable module.
NEW: Module Receipt Printer moved from 'development' to 'experimental'


Accountancy 
NEW: Accountancy - add column thirdparty on binding page 
NEW: Accountancy - add Export for Fiducial Winfic eWinfic WinSis Compta 
NEW: Accountancy - add Export LD compta version 10 
NEW: Accountancy - add mode intra & export for product or service bought 
NEW: Accountancy - add possibility to manage a short alternative label for account (use to simplify accountancy)
NEW: Accountancy - General ledger - add an option to search not reconciled lines
NEW: add accountancy code of thirdparty in contact and supplier export 
NEW: add include various payments and loans in accounting report with simplified accountancy 
NEW: can select which element to export in export accounting documents 
NEW: add due date in feature "Export accounting documents" 
 
NEW: add French association chart of accounts 2018 
NEW: add French farm chart of accounts 2014 
NEW: add French foundation chart of accounts 2018 
NEW: Chart of accounts to Ecuador 


Members 
NEW: add a link to notes in members list 
NEW: add member to validate on dashboard 
NEW: add WYSiWYG on member type's description 


Products 
NEW: add "finished" field on product list 
NEW: add total of value in product stat 
NEW: columns units in product list 
NEW: add units in product list 
NEW: add width and height measures in product list 


Projects 
NEW: add opportunity status in project stats 
NEW: add total weighted amount in project list 
NEW: add weighted amount on project/opportunity 


POS / Cash Desk  

 Cash Desk  
NEW: add icon on payment buttons in cash desk 
NEW: add global reduction in cash desk 
NEW: add numbering module for cash desk 
NEW: labels on reduction buttons in cash desk 
NEW: only auto print paid ticket in cash desk 

 TakePOS 
NEW: add numbering module for TakePOS module 
NEW: add a parameter to group same products in TakePOS 
NEW: add a parameter to sort product by label in TakePOS 
NEW: add VAT rates in free zone for product/service in TakePOS 
NEW: Cash Fence in TakePOS 
NEW: Categories and subcategories sorted by label in TakePOS 
NEW: Colorful theme for TakePOS 
NEW: Minimum sell prices taking into account in TakePOS 
NEW: Multiple sales in TakePOS 
NEW: CUPS printing compatibility for TakePOS 
NEW: TakePOS: sort products by reference 
NEW: TakePOS: supplements are supported 
NEW: search on key code "enter" if defined in TakePOS 
NEW: set payment method on paid ticket in TakePOS 
NEW: add const TAKEPOS_NUMPAD_USE_PAYMENT_ICON to use icons on payment buttons 


Tickets 
NEW: show messages on ticket card 


Warehouse / Stock 
NEW: add default warehouse for dispatch 
NEW: add tel and fax in warehouse card 
NEW: Show units of products in stocks and hide total units if content is of diffents units


Website 
NEW: add field author public alias for blog post on website module 
NEW: add method to add social network sharing buttons on blog posts 
NEW: can replace a string into all pages in website module 


----------------------------------------------------------------------


Categories / tags 
NEW: show count of each category elements in category card 
NEW: Categories for actioncomm 
NEW: Category filter for bank and warehouse list 
NEW: tree view for sub-categories 
NEW: show creator, last update user of category/tag in the information tab 
NEW: show list of users in the user category card 
NEW: show "New category" button in top of sub categories list 


*Documents* 
ODT 
NEW: upload ODT models for invoices, order, proposal, thirdparties and shipments 
NEW: bank account tags for invoice ODT template 
NEW: "contact_civility" for ODT templates 
NEW: Support of tag {line_pos} for line numbers for tables in ODT templates 
NEW: Support some HTML contents into ODT documents 

PDF 
NEW: add option PDF_USE_ALSO_LANGUAGE_CODE to generate PDF in 2 languages 
NEW: add PDF certificate if present on document folder 
NEW: allow display extrafields on PDF 
NEW: allow extrafields on pdf : extend to line desc 

SEPA 
NEW: add professional ID 1 in sepamandate document 
NEW: add VAT ID in sepamandate document 


MultiCurrency 
NEW: invoice list: enable multicurrency columns 


----------------------------------------------------------------------

Export 
NEW: Export module, add extrafields for Contract and Contract line 
NEW: add company extrafields into order export 
NEW: add Project Ref in events export 


Const / Option 
NEW: add const CASHDESK_FORCE_DECREASE_STOCK to force batch decrementation 
NEW: add const TAKEPOS_NUMPAD_USE_PAYMENT_ICON to use icons on payment buttons 
NEW: add option MAIN_VIEW_LINE_NUMBER_IN_LIST for some lists 
NEW: add option PDF_USE_ALSO_LANGUAGE_CODE to generate PDF in 2 languages 
NEW: option MAIN_TEMP_DIR 
NEW: option PRODUCT_SHOW_ORIGIN_IN_COMBO 


API 
NEW: enable put for agendaevents API 
NEW: filter by product on supplier order API 
NEW: get documents for categories with RESP API 
NEW: get proposal by ref with API 


others (not yet sorted)
-----------------------
NEW: support webp image format
NEW: 2 new options when creating an invoice from time spent on a project : by period or by task 
NEW: add a profil to import contact categories
NEW: add company extrafields into order export
NEW: add csv separator setup in module admin
NEW: add dedicated substitutions keys for extrafields of type date and datetime
NEW: add duration information for fichinter
NEW: Start support of Dark theme into ELDY theme
NEW: add graph type 'piesemicircle'
NEW: add hook getInputIdProf. Better solution for #13228
NEW: add hook on margin list page
NEW: add invoice stat graph and categ search
NEW: addition of delivery times in substitution variables
NEW: add multicurrency columns to document lists
NEW: add Opening Balance column to balance.php
NEW: add option to hide all inactive users into combo list of users.
NEW: add product if only one found
NEW: add product on key "Enter" in search bar
NEW: add Project Ref Column on list of social/fiscal contributions
NEW: add Project Ref in events export
NEW: add public and private notes in propal list
NEW: add social networks of the company
NEW: add sorting for contacts of ... pages
NEW: add subtitution variables for url of document in backoffice
NEW: [Allow constants values to be overridden by environment variables]
NEW: allow custom module class origine type in Mouvementstock
NEW: allow time consumed to be linked to another task
NEW: another way to navigate between pages for some lists
NEW: add author column in the client/supplier invoice lists and into order list
NEW: Bar Restaurant tab and Auto order
NEW: better filter on shipment list as other list
NEW: better php module view admin
NEW: Bookkeeping - Add link to document & PDF 
NEW: Bookmarks are now in top menu bar
NEW: Can check all events in one click in setup of audited events
NEW: Can create an deposit from order using a percentage of qty
NEW: Can edit option PDF_USE_ALSO_LANGUAGE_CODE from PDF setup page
NEW: Can enter and edit stripe credit card using the Stripe card ID
NEW: Can filter on donation status in list
NEW: Can select several fields to personalize list before submit.
NEW: can update contact in import model
NEW: class tool for converting units
NEW: Close #13011 Add button create thirdparty when creating intervention
NEW: compatibility of translabel with more dict
NEW: Confirm file delete on fracture card
NEW: Customer command list - Add date start & date end
NEW: display weight in shipment list
NEW: Documentation about PHP support in Dolibarr
NEW: Donation - Update FR CERFA to 11580*04
NEW: Easier way to setup the different types of tax. Better visibility.
NEW: Expedition list - Add date start & date end
NEW: Experiment supplier packaging with option PRODUCT_USE_SUPPLIER_PACKAGING: Using price according to the minimum quantity
NEW: Extend retained warranty to be  available for all invoices
NEW: French new regions
NEW: hook and data id
NEW: hook on ics generation to add more events in eventarray
NEW: hook on product load stats
NEW: If $dolibarr_main_force_https is set, the flag 'secure' on session
NEW: ignore dir for apple pay with stripe
NEW: Invoice list - Add date start & date end
NEW: monthly view to enter time
NEW: multiselect categorie client stats facturation
NEW: no confirm discard ticket if paid
NEW: not show linked table on add message action
NEW: only show units columns in product list (not in service list)
NEW: order list: enable multicurrency columns
NEW: Overwrite tpl with module_part['tpl'] is deprecated, use hooks
NEW: possibility to defined rounding rules by currency
NEW: possibility to show society info when print page
NEW: provide a RSS Feed for blogposts
NEW: Project task list, add column selector and extrafields
NEW: Propal list: add date start & date end
NEW: propal list: enable multicurrency columns
NEW: RECEIPT_PRINTER_NB_CHARACT_BY_LINE and FIX: product label 
NEW: Restore version of application on main screen (for screenshots)
NEW: Salaries list - Add date start & date end
NEW: Show active widget state of a RSS feed
NEW: show project label in project index

NEW: sorting elements on project overview
NEW: special option MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION to store in document line created form other documents lines the id of original lines and origin class line rather than origin object id and origin object type
NEW: stats invoice graph with 3 bars (3 years instead of 2)
NEW: supplier invoice list: enable multicurrency columns
NEW: supplier order list: enable multicurrency columns
NEW: supplier proposal list: enable multicurrency columns
NEW: Parameters for Bar Restaurant are grouped in same tab
NEW: The info_admin() can show text after click on other text
NEW: The module selection uses a KanBan view by default.
NEW: tooltip for Unit_type and scale in "Dictionary setup - Measuring Units"
NEW: tooltip notes with first public note and then private note
NEW: Truncate columns names when too long and show full title as popup
NEW: Use native --convert-to feature to convert to pdf
NEW: add user on order list
NEW: Various payment list - Add search date start & date end & subledger account
NEW: visu FROM day TO day in permonth view
NEW: Website logs are now into a separated log file.
NEW: X-Axis on graph are shown verticaly when there is a lot of values.
NEW: Can force ref of a variant product

 




For developers or integrators: 
 
NEW: add a method $form->widgetForTranslation to allow any field of a form to be entered into different languages 
NEW: add API to get types of expense reports 
NEW: API filter bankaccounts by category 
NEW: API filter contacts by category 
NEW: API filter members by category 
NEW: API filter projects by category 
NEW: API filter thirdpartie by category 
NEW: API filter thirdparty by category 
NEW: API filter user by category 
NEW: API filter warehouses by category 
NEW: API for  get user's documents 
NEW: API invoice get by ref 
NEW: API to update purchase price 
NEW: Move engine to build charts from jflot to chart.js 
NEW: Bookkeeping by account - Add selectfields & hook
NEW: Can force position of legend of graph on right (instead of top)
NEW: Can change destination of "Back to list" using a "backtolist" parameter
NEW: add more category types from hook

Upgrade: ace to 1.4.8 
Upgrade: select2 to 4.0.13 
Upgrade: Stripe library to 6.43.1 



WARNING: 

Following changes may create regressions for some external modules, but were necessary to make Dolibarr better:
 * PHP 5.5 is no more supported. Minimum PHP is now 5.6+.
* Default mode for GETPOST function is now 'alphanohtml' instead of 'none'. So check when you make POST or GET requests with
  HTML content that you make a GETPOST('myparam', 'restricthtml') or GETPOST('myparam', 'none') if you really need posted content without sanitizing
  the HTML code of content (in such a case, sanitize data later)
* Removed hidden constant MAIN_EXTRAFIELDS_IN_ONE_TD that was useless. 
* Reference of object including a "/" are no more allowed. It is never used by default but to support setup that introduced it, the "/" will be replaced 
  by a "_" automatically when a reference (with a custom numbering mask that use it) is generated.  
* Library jflot (replace with chartjs) was removed.
* Library geoip (replaced with geoip2) was removed.  
* Hidden constant COMMANDE_VALID_AFTER_CLOSE_PROPAL was renamed into ORDER_VALID_AFTER_CLOSE_PROPAL.
* Object field ref_int is deprecated and set to 'not used', method to fetch object by only ref_int is not supported anymore.
* UserGroup class has been refactored with new architecture. Triggers of class UserGroup are now USERGROUP_CREATE, USERGROUP_MODIFY, USERGROUP_DELETE
* A new way to navigate between pages in list is available. To use it (not mandatory), you must:
  - replace line $page = GETPOST('page', 'int') with $page = GETPOSTISSET('pageplusone') ? (GETPOST('pageplusone') - 1) : GETPOST("page", 'int'); 
  - remove input field in form '<input type="hidden" name="page" value="'.$page.'">';'
  - add parameter $pagenavastextinput to value 1 when calling print_barre_liste()