Configuration spécial – Dolibarr


This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.

For standard usage of Dolibarr, this screen must be kept empty and not be used.

List of Known Hidden Options

Some options are not visible in the interface (often because they are deprecated or are beta features). In most cases you do not need these functions and their use may make the application unstable.

To enable/override a parameter you have to define the constant name and set it to 1 in Home -> Setup -> Other Setup:

Global Options

  • MAIN_DISABLE_NOTES_TAB (core) => Display total of notes in the card page
  • MAIN_DISABLE_CONTACTS_TAB (core) => Display total of contacts in the card page
  • MAIN_LOGOUT_GOTO_URL => (core) url to which the user will be redirected after LOGOUT.
  • MAIN_FILESYSTEM_ENCODING => With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to “utf-8”.
  • MAIN_SHOW_TECHNICAL_ID => Show also technical IDs on elements cards or some lists (not supported everywhere).
  • MAIN_MAXTABS_IN_CARD => Max number of tabs visible. Others are grouped into a combo list.
  • MAIN_ONLY_LOGIN_ALLOWED => Only the specified login is allowed to log in Dolibarr (maintenance mode).
  • MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES => Add a timestamp and user automatically when editing the public note.
  • MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES => Add a timestamp and user automatically when editing the private note.
  • MAIN_SECURITY_CSRF_WITH_TOKEN (>= 5.0) => Activate a second anti CSRF protection on POST (a POST from another web site can’t be done). Note there is already a default protection using test on referrer. This second protection uses TOKEN on forms and is less powerful.
  • MAIN_APPLICATION_TITLE => This will change the title of software (that appears on the login page by default). Warning, changing this may make Dolibarr version detection fail by smartphone applications like Application Android – DoliDroid
  • MAIN_AUTOFILL_DATE => If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.
  • MAIN_DISABLE_FULL_SCANLIST => Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).
  • MAIN_FIRST_TO_UPPER => Dolibarr add uppercase to Third Parties, contacts or members names if not done. Warning, with some languages (whose words with uppercase are not same words, or pagecode does not always have an uppercase, like cyrillic languages), this feature may alter your data.
  • MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) => If this constant is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.
  • MAIN_USE_HOURMIN_IN_DATE_RANGE => On all entities lines (invoice, order, contract…), it is possible to add hour and minutes with date on fields “date start” and “date end”.
  • MAIN_REMOVE_INSTALL_WARNING => Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.
  • MAIN_OPTIMIZE_SPEED => Use some speed enhancements. See page Increase_Performance for more information.
  • MAIN_REPLACE_TRANS_xx_XX => Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.
  • MAIN_REPEATCONTACTONEACHTAB => If added and set to 1, this adds contacts on all tabs, not only main tab.
  • MAIN_DISABLE_JQUERY_JNOTIFY => Disable usage of JNotify to show confirm or error messages
  • MAIN_USE_JQUERY_JEDITABLE => Allow to update from screen, directly into database, some properties of elements (invoices, proposals, …) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.
  • MAIN_USE_JQUERY_MULTISELECT => Allow to use Ajax when a choice that require multiselect is used (for the moment only external modules uses select box with multiselect values). Set the value to the jQuery plugin name to use (multiselect, multiple-select, select2…). Setting it to any other value will result in unwanted side-effects and/or bugs.
  • MAIN_HELPCENTER_LINKTOUSE => Define the url link to use as the target page for link “I need help” onto logon page
  • MAIN_MODULES_FOR_EXTERNAL => Limit available modules for external users. By default value is ‘facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda’
  • MAIN_SHOW_TUNING_INFO => Add tuning information into javascript console. Better when xdebug is enabled.
  • MAIN_DOL_SCRIPTS_ROOT => Define directory who contains ‘scripts’ directory (e.g /var/www/dolibarr)
  • MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING => A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)
  • MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE => Add signature of the first sale representative into documents (at end of public notes).
  • MAIN_DISABLE_AJAX_COMBOX => If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).
  • MAIN_USE_CACHE_MANIFEST => Add an HTML5 cache manifest to the page – Attention, this functionality is obsolete and removed from web standards
  • MAIN_FORCELANGDIR => relative path of the directory holding your custom langs folder.
  • MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS => allow to define a default VAT rate
  • MAIN_HTML_TITLE => can be used to control how the html page title is formatted. If value contains key ‘noapp’, application name will not be output. If value contains ‘thirdpartynameonly’, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: ‘noapp;thirdpartynameonly’
  • MAIN_LANDING_PAGE => (>= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).
  • MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN => (>= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.
  • MAIN_WEIGHT_DEFAULT_ROUND => Accuracy of weight (number of decimals)
  • MAIN_WEIGHT_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, …)
  • MAIN_VOLUME_DEFAULT_ROUND => Accuracy of volume (number of decimals)
  • MAIN_VOLUME_DEFAULT_UNIT => Default unit for weight (0=kg, -3=g, …)
  • MAIN_PUBLIC_NOTE_IN_ADDRESS >=4.0 => show public note in address block
  • MAIN_DEFAULT_PAYMENT_TERM_ID => With id of a payment term, will use this as default payment term each time you create a new proposal, order, invoice (customer and supplier)
  • MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND => Change way of rounding total TTC lines, rounding first of after
  • MAIN_VIEW_LINE_NUMBER => Shows a line number against each line in the order/invoice for products/services. On screen only, not on PDF.
  • MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME => Add name of thirdparty at begin of generated document
  • MAIN_DOC_USE_TIMING => Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M
  • MAIN_DISABLEDRAFTSTATUS => Disable the status Draft for some objects (project, donation, …)
  • MAIN_USE_OLD_SEARCH_FORM => Display the old search form in left menu.
  • MAIN_SERVER_TZ => If you can’t set the timezone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to ‘UTC’ so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.
  • MAIN_SEARCH_FORM_ON_HOME_AREAS => Show the search form on home page areas for core modules (Removed after v5 due to global search combo) (v6.0+)
  • MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE => If only one result is found, then setting this value to 1 will take you direct to the item (default method). Setting the value to 0 will show the result in the list as a single result (v5.0+)
  • MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) => Allow to import lines into current document from “linked” compatible documents
  • MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) => Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)

Look or Theme

  • MAIN_OPTIMIZEFORTEXTBROWSER => Optimize output rendering for usage of a text browser (usefull for blind people)
  • THEME_ELDY_DISABLE_IMAGE => Disabled images of top menu for eldy theme.
  • MAIN_MENU_HIDE_UNAUTHORIZED => Hide menu if logged in user is not autorized rather than just grey them
  • THEME_TOPMENU_STICKY_POSITION => Option to fix top menu with eldy theme (hidden conf)(v7.0+)

Email and SMS

  • MAIN_MAILFORM_DISABLE_ENTERKEY (>= 8.0.1) => Activate javascript code to disable the enter key in the MAIL form.
  • MAIL_PREFIX_FOR_EMAIL_ID (>= 8.0.1) => Prefix for the mails ID. Default value is $_SERVER[“SERVER_NAME”]
  • MAIN_MAIL_DEBUG => Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.
  • MAIN_SMS_DEBUG => Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.
  • MAIN_MAIL_ALLOW_SENDMAIL_F => On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function mail of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the -f option to be mandatory or for sendmail setup that does not use by default the Return-path of header email to define the sender (with this option, the return-path will be provided also on command line and not lost by sendmail).
  • MAIN_MAIL_SENDMAIL_FORCE_BA => On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the -baparameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the mail.force_extra_parameters=-ba into php.ini file.
  • MAIN_MAIL_NO_FULL_EMAIL => Recipient email and sender are cleaned to be on form “<email>” instead of “Name <email>”. This might solve problem of compatibility with very old mailers.
  • MAIN_FIX_FOR_BUGGED_MTA => Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of or
  • MAIN_MAIL_DO_NOT_USE_SIGN => Do not add user signature at end of suggested pre-defined email
  • MAIL_FORCE_DELIVERY_RECEIPT_INVOICE => Set default as “Yes” on requesting delivery receipt when sending email through the Customer Invoice module.
  • MAIL_FORCE_DELIVERY_RECEIPT_ORDER => Set default as “Yes” on requesting delivery receipt when sending email through the Customer Order module.
  • MAIL_FORCE_DELIVERY_RECEIPT_PROPAL => Set default as “Yes” on requesting delivery receipt when sending email through the Customer Proposal module.
  • MAIN_EMAIL_USECCC => 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.
  • MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO => Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)
  • MAIN_EMAIL_ADD_TRACK_ID => When value is 1 (this is also default value if option is not set): The record “Message-id” added into smtp header includes a tracking id to define where the email was sent from. When value is 2: you send an email from third party card, the sender email is completed with the email source tracking string “+thiXXX” on email (your email will be sent with the “From” that is So when user receiving email will make “Answer”, email will be sent to but with the tracking id included (into header or into target email), allowing you to know to which third party or object, the email exchange is related to.
  • MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL => Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.
  • MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML => Force to send all email (event with text only content) as HTML formatted email.
  • MAIN_MAIL_USE_MULTI_PART => Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+
  • MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS => If images were stored into the medias directory from CKEditor, then images into emails are replaced with “inline content”. This may increase seriously risk of being detected as SPAM.
  • MAIN_COPY_FILE_IN_EVENT_AUTO => Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)
  • MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS => Enter the public ip address of the server, so it will appears into the help on the email setup page.
  • MAIN_MAIL_ENABLED_USER_DEST_SELECT => Show also internal users into list of recipients of email in email sending form (v8.0+)

Third Parties module

  • COMPANY_AQUARIUM_CLEAN_REGEX (>= 8.0.1) => Add a REGEX rule on the third parties names.
  • MAIN_FORCE_DEFAULT_STATE_ID (>= 8.0.1) => rowid (integer) of a state/province as defined in llx_c_departements. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list.
  • SOCIETE_DISABLE_CUSTOMERS => Remove all menu and features related to customers
  • SOCIETE_DISABLE_PROSPECTS => Remove all menu and features related to prospects
  • SOCIETE_DISABLE_STATE => Do not use field “state/province”
  • THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT => Do not set status “Customer/Prospect” to “on” when creating a new third party from menu “New third party”.
  • THIRDPARTY_NOTSUPPLIER_BY_DEFAULT => Do not set status “Supplier” to “on” when creating a new third party from menu “New third party”.
  • SOCIETE_SORT_ON_TYPEENT = The combo list of “type of third party” is sorted on a field “position” that appears into dictionary instead of alphabetical order.
  • THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) => Default Third party create are individual
  • MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr <5.0) => Default Third party create are individual
  • THIRDPARTY_DEFAULT_USEVAT => When creating a new third party, the field “Use vat” is set to on or off depending on value of this parameter.
  • THIRDPARTY_DEFAULT_USELOCALTAX1 => When creating a new third party, the field “Use second tax” is set to on or off depending on value of this parameter.
  • THIRDPARTY_DEFAULT_USELOCALTAX2 => When creating a new third party, the field “Use third tax” is set to on or off depending on value of this parameter.
  • THIRDPARTY_INCLUDE_PARENT_IN_LINKTO => Search also for elements on parent third party when using the “link to” object feature.
  • THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO => Search also for elements on third party that own the project of the current element when using the “link to” object feature (if project is owned by a different thirdparty than current one).
  • SOCIETE_ASK_FOR_SHIPPING_METHOD => Shipping method can be predefined on customer card and will be used as default on order creation
  • THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD => When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.
  • MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL => External users are always restricted on the thirdparty of their contact record. With this option, permission “see all thirdparty” may works also for external user. Not implemented yet…

Proposals module

  • PROPAL_CLONE_ON_CREATE_PAGE => On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the “Clone” button available on existing proposals.
  • MAIN_PROPAL_CHOOSE_ODT_DOCUMENT => On setup page, you’ll be able to select which ODT document to use when close or cancel proposals.
  • MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.
  • PROPAL_DISABLE_SIGNATURE => Do no show the box for signature.
  • WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES => Button “Classified Billed” is visible on proposal even if there is no invoice linked to proposal.
  • PRODUIT_PDF_MERGE_PROPAL => When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF
  • PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)
  • MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal

Order module

  • COMMANDE_REQUIRE_SOURCE => Make the input field “Source of order” mandatory.
  • COMMANDE_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status “Validated”.
  • COMMANDE_CHANGE_THIRDPARTY => Can change customer on orders
  • ORDER_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)

Invoice module

  • MAIN_DEPOSIT_MULTI_TVA => In deposits invoice, creates one line per VAT rate from the origin document (6.0)
  • FACTURE_SHOW_SEND_REMINDER => Show link “Send reminder by mail”, same feature than “Send by mail” (obsolete feature).
  • INVOICE_CAN_ALWAYS_BE_EDITED => Allow to edit invoices even if payment was started. Note: If the module “BlockedLog” is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.
  • INVOICE_CAN_ALWAYS_BE_REMOVED => Allow to always delete invoices (even if invoice is not last one). Note: If the module “BlockedLog” is active (required by some countries for legal reason), this will not change content of archived logs tracked by this module. By definition there is no way to change or remove archived records. It will just update data in your application and a new record to track your change into the non reversible archive log.
  • INVOICE_CAN_NEVER_BE_REMOVED => Never allow to delete invoices (except draft invoices).
  • INVOICE_POSITIVE_CREDIT_NOTE => All amounts on PDF credit notes are positive.
  • FACTURE_CHANGE_THIRDPARTY => Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.
  • FACTURE_USE_PROFORMAT => Enable PROFORMAT invoices type.
  • FACTURE_DEPOSITS_ARE_JUST_PAYMENTS => Treats deposit invoices as a special case. Deposit invoices don’t get counted on turnover. They are then applied as a payment, like a discount, on the final invoice. By default, when you include the deposit into draft of final invoice, the amount of final invoice is reduced. With this option, final amount is not reduced but a payment is registered.
  • FACTURE_SENDBYEMAIL_FOR_ALL_STATUS => Can send invoice by email to customer even if invoice has status “draft”.
  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT => Disable VAT on genrated documents. like for an association. (it’s work with crabe template)
  • INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) => Can make a credit note without invoice.
  • INVOICE_USE_SITUATION = Enable the “situation invoice” feature
  • INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the “situation credit note” feature (need INVOICE_USE_SITUATION)
  • INVOICE_DISABLE_DEPOSIT = Disable deposit invoices
  • INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices
  • INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes
  • WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments
  • INVOICE_ALLOW_EXTERNAL_DOWNLOAD => When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. (v7.0+)

Expense Report

  • EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS => Can enter several expense reports on same or overlapping date periods. (v7.0+)

VAT Report

  • MAIN_INCLUDE_ZERO_VAT_IN_REPORTS => Include lines with VAT to 0% (for “auto-liquidation” in EEC) (V8.0.3+)

Export module

  • EXPORT_CSV_SEPARATOR_TO_USE => String value to use as default separator to delimit fields of exported files (by default Dolibarr uses “,”). Example: EXPORT_CSV_SEPARATOR_TO_USE=;
  • EXPORT_CSV_FORCE_CHARSET => Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8
  • EXPORTTOOL_CATEGORIES => Can export categories (several lines) into one column with the “product export profile”
  • USE_STRICT_CSV_RULES => Use strict/real CSV format for export. Do not clean/replace CR+LF with ‘\n’ but quote them using the escaping CSV char (“).

Agenda module

  • AGENDA_MAX_EVENTS_DAY_VIEW => Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.
  • AGENDA_USE_EVENT_TYPE => Add a mandatory field “Type” when creating an event (deprecated).
  • AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS => To automatically set end date of event to start date + delta on event creation page.
  • MAIN_ADD_EVENT_ON_ELEMENT_CARD => Allow to create an event from a document (proposal, order, invoice)

Products module

  • MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE => Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice
  • PRODUCT_ADD_TYPE_IN_DOCUMENTS => Add text “Product” or “Service” at beginning of details lines on built PDF documents.
  • PRODUCT_DONOTSEARCH_ANYWHERE => When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.
  • PRODUIT_DESC_IN_LIST => Show long description of product/service into lists.
  • PRODUIT_PDF_MERGE_PROPAL => Enable module Propal merge product PDF
  • PRODUCT_USE_OLD_PATH_FOR_PHOTO => Ask dolibarr to check also old path (before 3.7) where photos were stored.
  • PRODUCT_USE_UNITS => Enable units from dictionary in product/service card.
  • PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL => When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.
  • MAIN_DIRECT_STATUS_UPDATE => Allows you to change the status of the product (for sale/not for sale for purchase/not for purchase) directly on the product page via a on/off switch button. This can be convenient for those who need to quickly disable certain statuses of products without having to go through the editing product page individually. Also can be very useful if used as a filter on the product and product search list. This option doesn’t generate a MODIFY trigger, so be careful with external modules. v4.0+
  • PRODUCT_CHARGES => Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.
  • PRODUCT_MAX_VISIBLE_PHOTO => Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to ‘5’ will show the first five product photos found on the product card.
  • PRODUCT_MAX_LENGTH_COMBO => limit the length of the label displayed when adding lines in proposals/invoices/orders
  • MAIN_DISABLE_FREE_LINES (>= 8.0) => Disallow using free lines to add line in documents

Services module


  • CASHDESK_FORCE_STOCK_ON_BILL (>= 8.0.1) => Option to force decrease of stock whatever is user setup.
  • SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED => Disable stock dispatch when total expected was already received.


  • STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (>= 8.0.1) => If set, you can add a shipment line, with no stock source defined.
  • SHIPMENT_GETS_ALL_ORDER_PRODUCTS => Add all order lines in shipment, including the one with 0 in quantity

Point of Sale

  • CASHDESK_SHOW_KEYPAD => Show a mouse key pad into Point Of Sale.
  • POS_ADDON = Set this value to an existing numbering module rule (for example ‘mod_facture_terre’, ‘mod_facture_mars’, …) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to ‘mod_facture_terre’ will use the numbering module ‘terre’ for invoice generated from POS, whatever is the numbering rule defined into invoice module setup (you can also use POS_NUMBERING_TERRE_FORCE_PREFIX and POS_NUMBERING_MARS_FORCE_PREFIX variable to change the prefix used).


  • CONTRACT_SUPPORT_PRODUCTS => Products are also suggested into module contract.

Projects module

  • PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (>= 8.0.1) => Enable removing the button from a link in the project overview.
  • PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS => Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.
  • PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS => Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).
  • PROJECT_SHOW_REF_INTO_LISTS => Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)
  • PROJECT_HIDE_UNSELECTABLES => Hide into select list, all project that we can’t select (closed or draft)
  • PROJECT_HIDE_TASKS => Hide tasks. For user using project only as an analytics key and not using tasks.
  • PROJECT_LIST_SHOW_STARTDATE => Shows start date of projects in project lists.
  • PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) => Hide the “link to” form on the overview page
  • PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) => Hide the “create …” button on the overview page
  • PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY => Can link an object to a project of another thirdparty
  • PROJECT_ALLOW_COMMENT_ON_TASK => Add comment feature on project task

Foundation module

  • MEMBER_URL_REDIRECT_SUBSCRIPTION => Link called and shown when a member account is autocreated in member module by a guest user.
  • MEMBER_EXT_URL_SUBSCRIPTION_INFO => Link of external page pointed by the “Show here” link added in front off payment cell, into the page to make online subscription.

Interventions module

  • FICHINTER_CLASSIFY_BILLED => Allow to classify an intervention card as “Billed”. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.
  • FICHINTER_DISABLE_DETAILS => Disable entry of details line on intervention. Can validate with no line.

Suppliers module

  • FOURN_PRODUCT_AVAILABILITY => On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.
  • RELOAD_PAGE_ON_SUPPLIER_CHANGE => On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.
  • SUPPLIER_ORDER_AUTOADD_USER_CONTACT => Add user approving supplier order as a contact automatically.
  • SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID => Set the default payment method for suppliers (rowid in table llx_c_paiement).
  • SUPPLIER_ORDER_USE_DISPATCH_STATUS => Add a status on each dispatch order line when receiving products from suppliers (v4.0+)
  • SUPPLIER_ORDER_NO_DIRECT_APPROVE => No button “Validate and Approve”. Always do step “Validate” and “Approve” in 2 steps.
  • SUPPLIER_ORDER_WITH_NOPRICEDEFINED => Can enter a product even if no supplier price defined. (v6.0+)
  • SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT => Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. (v6.0+)

Bank module

  • BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) => Can reconciliate cash accounts
  • BANK_DISABLE_CHECK_DEPOSIT => Disable check deposit feature
  • BANK_ASK_PAYMENT_BANK_DURING_ORDER => Ask bank account during creation of an order
  • BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL => Ask bank account during creation of a proposal

Emailing module

  • MAILING_PREFIX_FOR_EMAIL_ID => Set the value that will be used to compose the “Email Id” into email headers. If you set this value to ‘SERVER_NAME’, the virtual host of web server will be used. By default, this is not defined, so a hash key, unique to each instance, is used.
  • MAILING_NO_USING_PHPMAIL => If set, the module emailing can’t be use with mail setup of “phpmail”. Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.
  • MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS => Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.
  • MAILING_LIMIT_WARNING_PHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on “phpmail”. For example, you can set this parameter to ‘MAILING_LIMIT_WARNING_PHPMAIL’ and enter translation key for each language for this key.
  • MAILING_LIMIT_WARNING_NOPHPMAIL => Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than “phpmail”. For example, you can set this parameter to ‘MAILING_LIMIT_WARNING_NOPHPMAIL’ and enter translation key for each language for this key.
  • EMAILING_USE_ADVANCED_SELECTOR => Enable the advanced selector for destinaries
  • MAILING_LIMIT_SENDBYWEB => Restrict number of emails you can send in same sending session with emailing module from GUI. The value “dolibarr_mailing_limit_sendbyweb” if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.
  • MAILING_LIMIT_SENDBYCLI => Restrict number of emails you can send in same sending session with emailing module from CLI script. The value “dolibarr_mailing_limit_sendbycli” if defined into config file is used in priority for this limit.

PDF options

  • MAIN_DISABLE_FORCE_SAVEAS => If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.
  • MAIN_DISABLE_PDF_COMPRESSION => Disable PDF compression.
  • MAIN_INVERT_SENDER_RECIPIENT => Invert sender and recipient in some PDF.
  • MAIN_DISABLE_PDF_AUTOUPDATE => Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on “Generate”). This option may increase interface speed on servers with low CPU.
  • MAIN_USE_BACKGROUND_ON_PDF => Define this constant with short name of an image (example “myimage.jpg”) that must be saved into directory “documents/mycompany/logos”. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !
  • MAIN_ADD_PDF_BACKGROUND => Define this constant with short name of a PDF file (example “mypdf.pdf”) that must be saved into directory “documents/mycompany”. This will add PDF as a background of some of your generated PDF files (proposals,invoices,orders). If you need to concat PDF, see instead Module Concat PDF.
  • MAIN_PDF_FORCE_FONT => To ignore font defined into language file and force usage of a particular font. For example “DejaVuSans”.
  • MAIN_PDF_FREETEXT_HEIGHT => Change height of space reserved to output the free text.
  • MAIN_PDF_TITLE_BACKGROUND_COLOR => Can define a background color onto title line. Example: ‘220,220,200’
  • MAIN_USE_COMPANY_NAME_OF_CONTACT => Use contact name and information rather than company
  • MAIN_ODT_AS_PDF => Activate PDF conversion from ODT document. If value is ‘jodconverter’, java and jodconverter command line tool must be available. If value is ‘/pathto/jodconverter.jar’, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the “scripts” directory is stored (for example /var/www/mydolibarr).
  • MAIN_ODT_AS_PDF_DEL_SOURCE => For ODT generation. If set, then initial behaviour is conserved but odt file is removed when option to convert it as PDF (see previous) is on. Disabled by default
  • MAIN_GENERATE_PROPOSALS_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer proposals.
  • MAIN_GENERATE_INVOICES_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for customer invoices.
  • MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE => Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)
  • MAIN_DOCUMENTS_WITH_PICTURE_WIDTH => Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.
  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN => Hide column with VAT information but only column not total.
  • PDF_SHOW_PROJECT => Show project onto PDF (supported on supplier order only for the moment)
  • PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN => Hide bank number (“code banque/guichet/compte” for france, “sort number/account” for GB, …) and keep only BIC/IBAN on PDF.
  • PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES => Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.
  • MAIN_PDF_ADDALSOTARGETDETAILS => Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.
  • PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME => Include alternative/alias name into name on PDF.
  • MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING => add optional esign field in pdf propal


  • FCKEDITOR_ENABLE_DETAILS_FULL => Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.


  • BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY => Make disable of module “blockedlog” not possible for countries code defined into value. Example: ‘FR,…’


  • MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION => Enable CurrencyLayer API synchronization

Laisser un commentaire