Setup Other

Help About Screen: Other setup

Menu Path: Home ► Setup ► Other

Introduction

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.

Warning.svg This page contains the list of some advanced development parameters. In most cases, it is parameters for internal usage, development, external modules, features in development not stable or that may lead to security risk. For standard usage of Dolibarr, such parameters SHOULD NOT be used. All experimental options are NOT supported. They may be removed in a future, modified at any version and break stability of your application.

To enable/override a parameter you have to define the constant name and set it to 1 (unless otherwise stated) in Home ► Setup ► Other Setup

The options here may not be documented since they are not stable and unsupported (remember they are experimental or development options). The basic format of how the list is written is broken down in the example below:

HIDDEN_CONFIG ► Description of config and goal ► (specific version information) or values

Global Options

  • ADD_UNSPLASH_LOGIN_BACKGROUND ► The background image will be refreshed on every login page refresh. Background image is pulled from the popular open source image website Unsplash. If an already saved static background image exists, then this code will override it (but not delete the saved image). Warning: Using this may allow this external website to steel your login credentials ► (v10.0)
  • 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 breaking some features when using Dolibarr from this application.
  • 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!
  • 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_COUNTRIES_IN_EEC ► Country list in European Area (For VAT purpose) ► (v10.0-v13.0). From v14, do not use this anymore (remove the constant if you set it and instead set if the country is in Europe or not from the dictionary of countries).
  • 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_DEFAULT_PAYMENT_TYPE_ID ► With ID of a payment type, will use this as default payment type each time you create a new proposal, order, invoice (customer and supplier) ► (v12.0)
  • MAIN_DEFAULT_LANGUAGE_FILTER ► Useful if you do not want to show en_US language option in combo boxes (other languages can easily be removed in langs directory but not en_US) ► (v10.0)
  • MAIN_LANGUAGES_ALLOWED ► Is a list of languages without spaces, example : fr_FR,en_US,de_DE,it_IT If defined, only those languages will appear in combos. ► (v11.0)
  • MAIN_DISABLE_NOTES_TAB ► Show or hide notes tab in the card page
  • MAIN_DISABLE_CONTACTS_TAB ► Show or hide contacts tab in the card page
  • 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 2 000 000 records).
  • MAIN_DISABLE_JQUERY_JNOTIFY ► Disable usage of JNotify to show confirm or error messages
  • 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 this constant to 1 ► (v3.6.0+)
  • MAIN_DISABLE_MULTIPLE_FILEUPLOAD ► Disable users to upload multiple files at once.
  • MAIN_DISABLE_TRUNC ► Disable all truncings in select list. ► (v7.0+)
  • MAIN_DISABLEDRAFTSTATUS ► Disable the status “Draft” for some objects (project, donation, …) so the object is directly created with status “Validated”
  • 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 (only for ODT files)
  • MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT ► Disable the auto renaming on upload file ► (v10.0)
  • MAIN_DOL_SCRIPTS_ROOT ► Define directory who contains ‘scripts’ directory (e.g. /var/www/dolibarr). Value of this variable may be requested by some external script or tools.
  • MAIN_ENABLE_LOG_TO_HTML ► If this constant is defined, it is possible to have logs inside pages by adding the parameter &logtohtml=1 into URL.
  • MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES ► Allow to import lines into current document from “linked” compatible documents ► (v8.0+)
  • 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_ALL_TO_UPPER ► Dolibarr puts uppercase for 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. ► (v11.0)
  • MAIN_ALL_TOWN_TO_UPPER ► Dolibarr puts uppercase for town names if not done. ► (v13.0)
  • 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_FORCELANGDIR ► Relative path of the directory holding your custom langs folder.
  • 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_HELPCENTER_LINKTOUSE ► Define the URL link to use as the target page for link “I need help” onto logon page
  • MAIN_LANDING_PAGE ► 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). ► (v3.9+)
  • MAIN_LOGOUT_GOTO_URL ► URL to which the user will be redirected after LOGOUT
  • MAIN_MAXTABS_IN_CARD ► Maximum number of tabs visible. Others are grouped into a combo list.
  • MAIN_MAXLIST_OVERLOAD ► Maximum number of line in space’s domain.
  • 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_NO_CONCAT_DESCRIPTION ► Allow to use only input custom description in lines (propale, order, invoice) ► (v10.0)
  • MAIN_ONLY_LOGIN_ALLOWED ► Only the specified login is allowed to log in Dolibarr (maintenance mode).
  • MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN ► When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible. ► (v4.0+)
  • MAIN_PUBLIC_NOTE_IN_ADDRESS ► Show public note in address block ► (v4.0+)
  • 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, create 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_REPEATCONTACTONEACHTAB ► If added and set to 1, this adds contacts on all tabs, not only main tab.
  • 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_ROUNDOFTOTAL_NOT_TOTALOFROUND ► Change way of rounding total TTC lines, rounding first of after.
  • 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/Parisauto.
  • 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_SEARCHFORM_SUPPLIER_INVOICE_DISABLED ► Disable the supplier invoice on the search form
  • 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_SERVICES_ARE_ECOMMERCE_200238EC ► If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country.
  • MAIN_SHOW_TUNING_INFO ► Add tuning information into javascript console. Better when xdebug is enabled.
  • MAIN_SHOW_TECHNICAL_ID ► Show also technical IDs on elements cards or some lists (not supported everywhere).
  • MAIN_SHOWDATABASENAMEINHELPPAGESLINK ► Show database name in upper help menu ► (v8.0+)
  • MAIN_USE_ALTERNATE_TRANSLATION_FOR ► List of fields per object that need an alternate translation. Example: MAIN_USE_ALTERNATE_TRANSLATION_FOR=societe:name,town;contact:firstname,lastname
  • 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_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 feature, because it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. Consequently 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_USE_OLD_SEARCH_FORM ► Display the old search form in left menu.
  • MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS ► Allow to force the VAT rate to a given value (instead of higher VAT rate of country) if the VAT rate of product was not defined.
  • MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL ► If the buyer is a company that is in Europe but has no valid intracommunautary VAT ID, it is processed like if it is an individual, not a company. TODO: Must be implemented into accountancy module too instead of being set to 1 systematically into accountancy module.
  • MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC ► For to use the default VAT of product for individual customers that are out E.E.C. (European Economic Community) ► (v7.0+). There is no reason to use this.
  • MAIN_VIEW_LINE_NUMBER ► Shows a line number for each line of products/services at documents like proposal / order / invoice. Only on screen, not on PDF.
  • MAIN_VIEW_LINE_NUMBER_IN_LIST ► Shows a line number in lists ► (v12.0)
  • MAIN_VOLUME_DEFAULT_ROUND ► Accuracy of volume (number of decimals)
  • MAIN_VOLUME_DEFAULT_UNIT ► Default unit for weight (0=kg-3=g, …)
  • MAIN_WEIGHT_DEFAULT_ROUND ► Accuracy of weight (number of decimals)
  • MAIN_WEIGHT_DEFAULT_UNIT ► Default unit for weight (0=kg-3=g, …)
  • USER_HIDE_INACTIVE_IN_COMBOBOX ► Disable display inactive users in combobox.
  • MAIN_DISABLE_PDF_THUMBS ► Disable thumbs PDF in case of imagick bug
  • MAIN_KEEP_REF_CUSTOMER_ON_CLONING ► Keep the Customer Reference on cloned object (Propal/Invoice)
  • MAIN_DONT_KEEP_NOTE_ON_CLONING ► Remove the object notes during cloning ► (v11.0)
  • MAIN_DOC_SORT_FIELD ► Set the default sorting field on document page (name by default) ► (v11.0)
  • MAIN_DOC_SORT_ORDER ► Set the default sorting order (ASC or DESC) on document page (ASC by default) ► (v11.0)
  • MAIN_USE_ZIPTOWN_DICTIONNARY ► Use dictionary ZIP for create card.
  • MAIN_USE_TOP_MENU_SEARCH_DROPDOWN ► Show search in top menu with theme eldy ► (v11.0)
  • MAIN_PHONE_SEPAR ► Separ phone number other space ► (v12.0)
  • GRAPH_USE_FISCAL_YEAR ► Widgets uses fiscal year
  • SHOW_SOCINFO_ON_PRINT ► Permit to add user company information on each printed document (when click on Dolibarr print button) ► (v12.0)
  • MAIN_FEATURES_LEVEL ► Level of features to show: -1=stable+deprecated0=stable only (default)1=stable+experimental2=stable+experimental+development
  • MAIN_SHOW_TECHNICAL_ID ► Show technical id for object.
  • MAIN_HTTP_CONTENT_SECURITY_POLICY ► Allows you to fill in the content security rules ► (v6.0)
  • SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD ► Allow to change the link of the third party to customer/supplier card instead of contact card on List.
  • MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT ► If set to “common” the setup module becomes list by defaut
  • MAIN_PAGESIZE_CHOICES ► Configure select field to choose number of lines displayed on listing (10:10,15:15,20:20,30:30,40:40,50:50,100:100,250:250,500:500,1000:1000,5000:5000).
  • MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN ► Add a dropdown menu with shortcuts to create new objects ► (v13.0)
  • MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER ► Remove the header stored by email collector ► (v13.0)
  • MAIN_USE_VAT_OF_PRODUCT_FOR_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID
  • MAIN_OPTIMIZEFORTEXTBROWSER ► Optimise interface for a text only browser. This variable is set to 1 automatically if your browser is lynx or links
  • MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH ► Set the number of years visible on some graph of some widgets (2 is default value)
  • MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION
  • API_DISABLE_LOGIN_API ►(v14.0)
  • MAIN_LOGIN_BADCHARUNAUTHORIZED ► Add possibility to define bad character unauthorized into login name REGEX expression (Default value is @<>”\’) ► (v16.0)
  • MAIN_SHOW_ALL_FILES_ON_DOCUMENT_TOOLTIP ► Add all files visible from the object to be visible from the list of object.

Security Options

  • MAIN_SECURITY_ANTI_SSRF_SERVER_IP ► Can set a complete list of IPs of server.
  • MAIN_SECURITY_CSRF_WITH_TOKEN ► Activate a second anti-CSRF protection on POST (so 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 more powerful. ► (v5.0+)
  • 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_ALLOW_SVG_FILES_AS_IMAGES ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).
  • MAIN_RESTRICTHTML_ONLY_VALID_HTML ► Refused parameter if value is not a valid HTML content.
  • MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES ► Sanitize also non standard attributes on HTML content.

(back to top)

Accountancy Module

  • ACCOUNTANCY_COMBO_FOR_AUX ► Add graphic option for ACCOUNTANCY_COMBO_FOR_AUX. Having this option on may slow down and even freeze the accounting features if you have a very large number of thirdparties ► (v10.0)
  • ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)
  • ACCOUNTING_DEFAULT_NOTIFIED_EXPORT_DATE ► Avoid flaging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v15.0)

(back to top)

Agenda Module

  • AGENDA_ALL_CALENDARS ► Change the default view of calendar pages to see all the Agenda’s (instead or yours only be default)
  • AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS ► To automatically set end date of event to start date + delta on event creation page.
  • AGENDA_DISABLE_LOCATION ► Disable location field in action card ► (>=v5.0)
  • 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).
  • MAIN_ADD_EVENT_ON_ELEMENT_CARD ► Allow to create an event from a document (proposal, order, invoice)
  • AGENDA_SUPPORT_PRIORITY_IN_EVENTS ► Allow to have priorities in events ► (>=v13.0)

(back to top)

Bank Module

  • BANK_CAN_RECONCILIATE_CASHACCOUNT ► Can reconciliate cash accounts ► (v3.8)
  • 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
  • BANK_USE_OLD_VARIOUS_PAYMENT ► To allow to enter miscellaneous payments (not covered by other modules) using old method. Deprecated. Entering various payment is preferred ► (<=v12.0).
  • MAIN_IBAN_IS_NEVER_MANDATORY ► IBAN and BIC informations not mandatory. (V15)

(back to top)

BOM and MO Module

  • ALLOW_USE_KITS_INTO_BOM_AND_MO
  • BOM_SUB_BOM ►Allow to add a BOM in another BOM►(v16.0)

(back to top)

Inalterable Log Module

  • BLOCKEDLOG_ADD_ACTIONS_SUPPORTED ► Can complete list of triggered action that are logged

(back to top)

Contracts

  • CONTRACT_SUPPORT_PRODUCTS ► Products are also suggested into module contract.
  • CONTRACT_ALLOW_EXTERNAL_DOWNLOAD

(back to top)

Cron module

  • CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module ‘Scheduled Jobs’). Because, a customer of a Saas platform will probably have no access to edit the cron file, it is also import that he has no way to edit the key into the Dolibarr setup, so the key in the cron command line will always match the key in Dolibarr setup, and the Dolibarr batches will executed without security errors. To be sure, the customer does not change the value, you can set this constant to 1 into the table Table_llx_const.
  • CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)
  • CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)

(back to top)

Direct Debit Orders

  • WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS ► If this option is set, all invoices status (even already paid) may appear on the list of invoices qualified for a direct debit payment. This is the list of invoices with a payment request done, and not linked to a direct debit payment. By default, only “unpayed” invoices are used to avoid to pay twice the same invoice.

(back to top)

Donation Module

  • DONATION_USE_THIRDPARTIES ► If this option is set, a thirdparty field appear on donation forms.

(back to top)

Email and SMS

  • MAIN_MAILFORM_DISABLE_ENTERKEY ► Activate javascript code to disable the enter key in the MAIL form. ► (>= 8.0.1)
  • MAIL_PREFIX_FOR_EMAIL_ID ► Prefix for the mails ID. Default value is $_SERVER["SERVER_NAME"] ► (>= 8.0.1)
  • 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 -ba parameter to sendmail. This option asks 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 orange.fr or hotmail.com
  • 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.
  • MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL ► Set default as “Yes” on requesting delivery receipt when sending email through the Supplier 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 recipient 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 myname+thi123@mycompany.com). So when user receiving email will make “Answer”, email will be sent to myname@mycompany.com 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_INFO_SOCIETE_MAIL_ALIASES ► add address aliases for the from field on mail. Set his value with “Firstname Name <firstname.lastname@mydomain.tld, Otherfirstname OtherlastName <othermail@mydomain.tld>,…” ► (v5.0.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 ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:
    • If he chose mail method, a message will explain him how to setup its SPF record for its email domain (showing the list of IP). This is to avoid to have its emails, sent from its Dolibarr instance, fails due to strict antispam rule of some emailing servers.
    • If he chose smtp method, a message will explain him the list of IP he can use if there is restriction on IP by the SMTP agent. If you also need to add a message to help SPF setup, see option MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.
  • MAIN_MAIL_ENABLED_USER_DEST_SELECT ► Show also internal users into list of recipients of email in email sending form ► (v8.0+)

(back to top)

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 used 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 the email of contact to show into the message visible to a 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”. Note: The application always try to translation the message considering the message is a translation key, before showing the translation or message if translation was not found.
  • 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”. Note: The application always try to translation the message considering the message is a translation key, before showing the translation or message if translation was not found.
  • EMAILING_USE_ADVANCED_SELECTOR ► Enable the advanced selector for recipients.
  • 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.

(back to top)

Expense Report

  • EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)
  • EXPENSEREPORT_OVERRIDE_VAT ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)
  • EXPENSEREPORT_USE_OLD_NUMBERING_RULE ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to 1 ► (>=v7.0+)
  • MAIN_USE_EXPENSE_IK ► This feature allows you to set index kilometers against a mileage index for different types of vehicles. ► (v7.0+)
  • MAIN_USE_EXPENSE_RULE ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)

(back to top)

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 (").
  • EXPORTS_SHARE_MODELS ► Share export models between users.

(back to top)

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 of payment cell, into the page to make online subscription.

(back to top)

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.

(back to top)

Invoice Module

  • MAIN_DEPOSIT_MULTI_TVA ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)
  • INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► If a credit note was partially refunded (a refund was sent to the customer), with common situation, we wait to have the remain refunded too. With this option, it is possible to convert the remain of invoice into a discount to reuse it into another invoice.
  • SUUPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.
  • INVOICE_CAN_ALWAYS_BE_EDITED ► Allow to edit invoices even if payment was started. Note: If the module “BlockedLog” is active (required in some countries for legal reasons), 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 read-only 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 read-only 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_DEPOSITS_ARE_JUST_PAYMENTS ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. 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. WARNING: In a lot of european countries, using this option is not allowed.
  • FACTURE_SENDBYEMAIL_FOR_ALL_STATUS ► Can send invoice by email to customer even if invoice has status “draft”.
  • INVOICE_CREDIT_NOTE_STANDALONE ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)
  • INVOICE_USE_SITUATION ► Enable the “situation invoice” feature. Warning, this feature is bugged and may not be compatible with the final version of the feature once the bug will be solved. Also, using the double-entry accountancy module is not possible when this option is on (due to the same design problem).
  • INVOICE_USE_SITUATION_CREDIT_NOTE ► Enable the “situation credit note” feature (need INVOICE_USE_SITUATION) ► (v8.0)
  • INVOICE_USE_RETAINED_WARRANTY ► Enable the retained warranty on invoice ► (v14.0)
  • INVOICE_DISABLE_DEPOSIT ► Disable deposit invoices
  • INVOICE_DISABLE_REPLACEMENT ► Disable replacement invoices
  • INVOICE_DISABLE_CREDIT_NOTE ► Disable credit notes
  • INVOICE_ADD_ZATCA_QR_CODE ► Add a QR code with format ZATCA (for Saudi Arabia) on PDF of invoices.

Note: To decode a QR image of a ZATCA code: https://www.onlinebarcodereader.com/. You can also use the mobile application https://play.google.com/store/apps/details?id=com.posbankbh.einvoiceqrreader&gl=FR

  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► See PDF option
  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► See PDF options
  • 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. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)
  • INVOICE_POINTOFTAX_DATE ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)
  • FACTURE_ENABLE_NEGATIVE ► Can validate an invoice when amount is negative
  • FACTURE_ENABLE_NEGATIVE_LINES ► Allows to add negative lines to an invoice ► (v8.0.2+)
  • INVOICE_USE_DEFAULT_DOCUMENT ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)
  • FACTURE_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object (Proposal,…) when creating the bill.
  • FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)
  • MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST ► Display the reference of credit notes in discount list when creating the bill.
  • INVOICE_ALLOW_FREE_REF ► Capability to change reference of an invoice. This will be possible as long as the invoice has the status “Draft” and only if your country is not in Europe(V11)
  • INVOICE_DISALLOW_REOPEN
  • INVOICE_MAX_FUTURE_DELAY ► Numbers of seconds allowed for billing in the future ► (V14.0)
  • INVOICE_AUTO_NEXT_MONTH_ON_LINES ► Increase start date and end date by one month, if an invoice line is a clone of a time based service AND if this services started on the first day of month and ended on the last day of month ► (V13.0.1)

(back to top)

Leave

  • MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY ► Set this value to 0 if you want to have the saturday as a working day
  • MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY ► Set this value to 0 if you want to have the sunday as a working day

Look or Theme

  • MAIN_FAVICON_URL ► favicon url
  • MAIN_EASTER_EGG_COMMITSTRIP ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)
  • MAIN_STATUS_USES_CSS ► Change status design using new style ► (v10.0+)
  • MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD ► This conf will auto remove global stats box item if there are already in the new dashboard of opened elements and keep displayed stats on the opened item box (not only on mouse over) ► (v11.0+)
  • MAIN_USE_TOP_MENU_SEARCH_DROPDOWN ► Actually only for eldy theme, this conf move search input to top menu and use new design too ► (v11.0+)
  • THEME_AGRESSIVENESS_RATIO ► This conf can be used to increase/decrease agressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)
  • THEME_SHOW_BORDER_ON_INPUT
  • MAIN_DISABLE_GLOBAL_WORKBOARD ► Hide the workboard of the main page ► (v13.0+)
  • MAIN_DISABLE_GLOBAL_BOXSTATS ► Hide the Statistic Box of the main page

(back to top)

MultiCurrency

  • MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION ► Enable CurrencyLayer API synchronization

(back to top)

Order Module

  • MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER => Copy customer reference from proposal to order. ► (v7.0+)
  • ORDER_REQUIRE_SOURCE => Make the input field “Source of order” mandatory.
  • ORDER_VALID_AFTER_CLOSE_PROPAL => When an order is created on a proposal close, the order is directly defined with status “Validated”.
  • 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+)
  • ORDER_ENABLE_NEGATIVE => Can validate an order when amount is negative
  • THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER => Copy also extrafields from thirdparty to order (if name match). ► (v11.0+)

(back to top)

PDF Options

  • 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_DISABLE_FORCE_SAVEAS ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser.
  • 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_DISABLE_PDF_COMPRESSION ► Disable PDF compression.
  • 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_SHOW_FOOT_DETAILS ► Adding the company address at the bottom of the page. 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_GENERATE_SUPPLIER_ORDER_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for supplier orders
  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► Disable VAT on generated documents. like for an association. (Works with crabe template)
  • MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► Hide column with VAT information but only column not total.
  • MAIN_INVERT_SENDER_RECIPIENT ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.
  • MAIN_ODT_AS_PDF ► Activate ODT to PDF conversion. Value can be “libreoffice” or “unoconv”. Do not use value ‘jodconverter’ any more, as it is declared deprecated and partly not functional, use value ‘libreoffice’ instead, it requires only soffice (OpenOffice or LibreOffice) installed on server (use apt install soffice libreoffice-common libreoffice-writer).

If you got this error: javaldx failed! Warning: failed to read path from javaldx with no return to prompt when running soffice –headless -env:UserInstallation=file:”/tmp” –convert-to pdf –outdir xxx ./yyy.odt, check that directory defined into env:UserInstallation parameters exists and is writeable.

You may also have a look at this page if your server is on Windows: Générer automatiquement des documents PDF à partir de fichier ODT avec Doliwamp

  • 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_PDF_FORCE_FONT ► To ignore font defined into language file and force usage of a particular font. For example “DejaVuSans“.
  • MAIN_PDF_FORCE_FONT_SIZE ► To force size of font (by default 10). For example “12” ► (v11.0)
  • 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_PDF_USE_LARGE_LOGO ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !
  • 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.
  • MAIN_USE_COMPANY_NAME_OF_CONTACT ► Use contact name and information rather than company
  • MAIN_PDF_ADDALSOTARGETDETAILS ► If 1, add details of reipient on generated PDFs (email, fax, url and phone). Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.
  • MAIN_TVAINTRA_IN_SOURCE_ADDRESS ► Show VAT N° in source address of PDF to comply with legalities in certain countries. Note that VAT number should be already visible in footer of page ► (v8.0.1+)
  • MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► Add optional esign field in pdf propal ► (v8.0+)
  • MAIN_PROFID1_IN_SOURCE_ADDRESS ► Show Professional ID 1 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • MAIN_PROFID2_IN_SOURCE_ADDRESS ► Show Professional ID 2 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • MAIN_PROFID3_IN_SOURCE_ADDRESS ► Show Professional ID 3 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • MAIN_PROFID4_IN_SOURCE_ADDRESS ► Show Professional ID 4 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • MAIN_PROFID5_IN_SOURCE_ADDRESS ► Show Professional ID 5 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • MAIN_PROFID6_IN_SOURCE_ADDRESS ► Show Professional ID 6 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)
  • PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN ► Hide bank number (“code banque/guichet/compte” for France, “sort code/account number” for GB, …) and keep only BIC/IBAN on PDF.
  • PDF_BOLD_PRODUCT_REF_AND_PERIOD ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)
  • PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES ► Modify the use/position of Supplier Ref/Internal Ref with the item Label (name) on PDF documents.

Default (constant not set or Value 0): Internal ref followed by supplier ref in brackets.”COMPANY-REF-001 (Vendor SKU SUPPLIER-REF-001) – LABEL…”.

Value 1: Supplier ref only eg.”SUPPLIER-REF-001 – LABEL…”.

Value 2: Supplier ref followed by internal ref in brackets. eg.”SUPPLIER-REF-001 (InternalRef COMPANY-REF-001) – LABEL…”.

  • PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME ► Include alternative/alias name into name on PDF.
  • PDF_SECURITY_ENCRYPTION ► Encrypt PDF produced by dolibarr ► (v?) . See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block ‘modify’ or ‘copy’) – PDF_SECURITY_ENCRYPTION_USERPASS – PDF_SECURITY_ENCRYPTION_OWNERPASS (random if not specified) – PDF_SECURITY_ENCRYPTION_STRENGTH (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) – PDF_SECURITY_ENCRYPTION_PUBKEYS Array of recipients containing public-key certificates (‘c’) and permissions (‘p’) – For example: array(array(‘c’ => ‘file://../examples/data/cert/tcpdf.crt’, ‘p’ => array(‘print’)))
  • PDF_SHOW_PROJECT ► Show project onto PDF (supported on supplier order only for the moment)
  • PDF_USE_1A ► PDF files produced by dolibarr respect PDF/A standard ► (v?)
  • PDF_USE_ALSO_LANGUAGE_CODE ► The value of this constant must be a language code (‘fr_FR’, ‘en_US’, ‘sa_SA’, …). If set, the PDF document will contains both language (default and the one defined by the constant).
  • DOC_SHOW_FIRST_SALES_REP ► Show the sales representant on header (at least on propal azur and rubis template)
  • MAIN_PDF_DASH_BETWEEN_LINES
  • SHOW_SUBPRODUCT_REF_IN_PDF
  • PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES ► hide product label in supplier order lines (V15+)

(back to top)

Point of Sale (POS)

  • CASHDESK_SHOW_KEYPAD ► Show a mouse key pad into the ‘Simple Point of Sale’ module.
  • 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 use for invoice ref definition 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).
  • TAKEPOS_ENABLE_SUMUP ► Enable the compatibility of TakePOS with the card reader terminal SumUp
  • TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT ► Possibility to force the bank account during the payment in TakePOS ► (v13.0)
  • TAKEPOS_CONTROL_CASH_OPENING ► Control the cash openning
  • TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS

(back to top)

Products Module

  • CATEGORY_GRAPHSTATS_ON_PRODUCTS ► Show graph of products with categories and totals in Products Area screen
  • MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE ► Avoid customs 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.
  • 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+)
  • MAIN_SEARCH_PRODUCT_BY_FOURN_REF ► Allow to search a product by supplier ref in document’s add line form. ► (>= 8.0)
  • MAIN_DISABLE_FREE_LINES ► Disallow using free lines to add line in documents ► (>= 8.0)
  • MAIN_SHOW_PRODUCT_ACTIVITY_TRIM ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)
  • PRODUIT_DESC_IN_LIST ► Show long description of product/service into lists.
  • PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES ► Disable propagation of prices per customer from a customer to its child company.
  • PRODUCT_DISABLE_PUBLIC_URL ► Disable public url in product card ► (v14.0+)
  • PRODUCT_DISABLE_STOCK_LEVELS ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)
  • PRODUCT_DISABLE_NATURE ► Disable nature in product card ► (v14.0+)
  • PRODUCT_DISABLE_WEIGHT ► Disable weight in product card ► (v14.0+)
  • PRODUCT_DISABLE_PRICES ► Disable prices in product card ► (v14.0+)
  • PRODUCT_DISABLE_ACCOUNTING ► Disable accounting in product card ► (v14.0+)
  • PRODUCT_DISABLE_SIZE ► Disable size in product card.
  • PRODUCT_DISABLE_LENGTH ► Disable length in product card ► (v4.0+)
  • PRODUCT_DISABLE_SURFACE ► Disable surface in product card. ► (v4.0+)
  • PRODUCT_DISABLE_VOLUME ► Disable volume in product card.
  • PRODUCT_DISABLE_CUSTOM_INFO ► Disable custom info (custom code and country origin) 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.
  • PRODUIT_CUSTOMER_PRICES_BY_QTY ► If price per quantity ► Experimental
  • PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES ► If price per quantity and customer ► Experimental
  • PRODUCT_LOT_ENABLE_QUALITY_CONTROL ► Enable feature for control quality on Lot
  • PRODUCT_MAX_LENGTH_COMBO ► Limit the length of the label displayed when adding lines in proposals/invoices/orders
  • 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.
  • 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 ► Add another units on products (Use same dictionnary as default unit feature) and propagate this unit on line of documents.
  • RESOURCE_ON_PRODUCTS_RESOURCE_ON_SERVICES ► Allow to affect ressources on products/services ► (v10.0+)
  • PRODUCT_SHOW_ORIGIN_IN_COMBO ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)
  • PRODUIT_ATTRIBUTES_HIDECHILD ► Add option hide child if variantes
  • PRODUCT_ADD_FORM_ADD_TO ► Add a product to a draft proposal/order/invoice, from the product card.
  • PRODUCT_DISABLE_SELLBY ► Hide the Sell by date ► (v13.0+)
  • PRODUCT_DISABLE_EATBY ► Hide the Eat by date ► (v13.0+)
  • PRODUCT_DENY_CHANGE_PRODUCT_TYPE ► Forbid to change the product type
  • PRODUCT_SORT_BY_CATEGORY ► Sort the product by categories instead of by ID
  • PRODUCT_ADD_NET_MEASURE ► Support Net Measure in product’s card.php (For real weight, volume or piece; needed for some business ie fruits, vegetables….). Note brut value is already available natively, use this option only if you need 2 weights, 2 volumes, …for each product) ► (v11.0.1+)

(back to top)

Projects Module

  • PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY ► Can link an object to a project of another thirdparty
  • PROJECT_ALLOW_COMMENT_ON_PROJECT ► Add comment feature on a project
  • PROJECT_ALLOW_COMMENT_ON_TASK ► Add comment feature on project task
  • 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_CREATE_ON_OVERVIEW_DISABLED ► Hide the “create …” button on the overview page ► (v4.0)
  • PROJECT_DISABLE_UNLINK_FROM_OVERVIEW ► Enable removing the button from a link in the project overview. ► (>= v8.0.1)
  • 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 ► Hide the “link to” form on the overview page ► (v4.0)
  • 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_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_OPEN_ALWAYS_ON_TAB ► Set to value ‘task’, or ‘preview’ to always open the project on the given tab instead of main tab.
  • PROJECT_ELEMENTS_FOR_MINUS_MARGIN

(back to top)

Proposals Module

  • 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.
  • 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_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► add optional esign field in pdf propal ► (v8.0+)
  • 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.
  • PROPAL_DISABLE_SIGNATURE ► Do no show the box for signature.
  • 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+)
  • PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT ► Add Proposal Author as user contact follow proposal
  • PROPOSAL_PDF_HIDE_PAYMENTTERM ► Do not show the payment term on proposal ► (v11.0+)
  • PROPOSAL_PDF_HIDE_PAYMENTMODE ► Do not show the payment mode on proposal ► (v11.0+)
  • WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES ► Button “Classified Billed” is visible on proposal even if there is no invoice linked to proposal.
  • PROPAL_REOPEN_UNSIGNED_ONLY ► Do not allow reopening of signed (or billed) proposals. (V15)
  • PROPOSAL_ARE_NOT_BILLABLE ► Disable billing button on proposals (V15)

(back to top)

Services Module

  • MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE ► (v13.0) On add line form add a button to fill service dates from the last service line

(back to top)

Shipments

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

(back to top)

Stocks

  • SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED ► Disable stock dispatch when total expected was already received
  • STOCK_EXCLUDE_VIRTUAL_PRODUCTS ► If product is a virtual product, we do not manage stock for it.
  • ENTREPOT_EXTRA_STATUS ► Instead of the 2 status (Closed, Open), a Warehouse has 3 status: Closed, Open (for all movements), Open (for internal movement only). Internal movement only means you can’t use the warehouse to make shipment or receptions.
  • SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK ► For the calculation of virtual stocks, by default supplier orders with the status 3 (ordered) and 4 (partially received) are used. You can enter the list of statuses to be taken into account separated by commas for this calculation (example: 0,1,2,3)
  • STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE ► to hide unit price on some pages (V15+)

(back to top)

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_INVOICE_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)
  • 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_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (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+)
  • SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)
  • DISPLAY_DISCOUNTED_SUPPLIER_PRICE ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)
  • MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER ► Allow to change the supplier on a draft supplier order ► (v10.0)
  • SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD

(back to top)

Third Parties Module

  • COMPANY_AQUARIUM_CLEAN_REGEX ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = ‘^..(..)..(.*)‘ the first char and second char are removed and the char 5 and 6 too ► (>= 8.0.1)
  • SOCIETE_EMAIL_MANDATORY ► E-mail is a mandatory field when creating a thirdparty
  • 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”
  • SOCIETE_SORT_ON_TYPEENT ► The combo list of “type of third party” is sorted on alphabetical order instead of the field “position” that appears into dictionary instead.
  • SOCIETE_ASK_FOR_SHIPPING_METHOD ► Shipping method can be predefined on customer card and will be used as default on order creation
  • SOCIETE_ADD_REF_IN_LIST ► Displays the code before the name in the lists ► Value 1 -> Code + name + alias ou Code + name if colone alias 2 -> Code + alias 3 -> Alias
  • THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER ► Possible to add Categories to third parties that are not customer, prospect or supplier.
  • 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_NOTCUSTOMERPROSPECT_BY_DEFAULT ► Do not set status “Customer/Prospect” to “on” when creating a new third party from menu “New third party”.
  • 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).
  • 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.
  • THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION ► Enabled contact creation on third-party create card
  • THIRDPARTY_QUICKSEARCH_ON_FIELDS ► Personalized search criterias ► Example: $conf->global->THIRDPARTY_QUICKSEARCH_ON_FIELDS = ‘s.nom=ThirdPartyName;s.name_alias=AliasNameShort;s.code_client=CustomerCode’
  • MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS ► Enabled member creation on third-party create card
  • SOCIETE_DISABLE_PARENTCOMPANY ► Disables attachment to a parent company.
  • THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT ► Set the third party to customer by default
  • THIRDPARTY_SUPPLIER_BY_DEFAULT ► Set the third party to supplier by default
  • THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT ► Set the third party type by default (3 = customer & prospect / 2 = prospect / 1 = customer )
  • CONTACT_DISABLE_PERSONALINFO ► Disable Personal data on contact page
  • SOCIETE_DISABLE_WORKFORCE ► Disable work force selector on society page
  • SOCIETE_SHOW_VAT_IN_LIST ► display VAT number in combo list of thirdparties (V15+)

(back to top)

Ticket Module

  • TICKET_SHOW_MESSAGES_ON_CARD ►Display all ticket related messages on the main ticket card. ► (>= 10.0)
  • TICKET_AUTO_ASSIGN_CONTRACT_CREATE ►Automatically create a contract linked to the ticket ► (>= 10.0)
  • TICKET_AUTO_CREATE_FICHINTER_CREATE ►Automatically create an intervention linked to the ticket ► (>= 10.0)
  • WORKFLOW_TICKET_CLOSE_INTERVENTION ►On ticlet close, automatically close an intervention linked to the ticket
  • TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION ►Automatically check “notify thirdparty at creation” ( >=16)
  • TICKETS_MESSAGE_FORCE_MAIL ► Precheck email sending on ticket message (>=15)

VAT Report

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

(back to top)

Website Module

  • WEBSITE_USE_WEBSITE_ACCOUNTS ► Add a table and a tab to manage some accounts for websites to a third party
  • WEBSITE_ADD_CSS_TO_BODY

(back to top)

WYSIWYG Editor

  • 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 guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.
  • FCKEDITOR_ALLOW_ANY_CONTENT ► Allow to enter any content. However, this will totally disable content filtering which is one of the most important CKEditor features. You can use this to keep all your tags and attributes in the html content.

(back to top)

STRIPE Module

  • STRIPE_FORCE_VERSION ► Force the STRIPE version. For Example: “2019-09-09” (v11+)

(back to top)

ClickToDial Module

  • CLICKTODIAL_FORCENEWTARGET ► Open in new page.

(back to top)

For SaaS / Cloud hosting integrators

The following options are useless for a common usage of Dolibarr. But they are usefull if you plan to host / provide Dolibarr instances as Software As A Service (SAAS) to your customers.

  • CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module ‘Scheduled Jobs’). Because, a customer of a Saas platform will probably have no access to edit the cron file, it is also import that he has no way to edit the key into the Dolibarr setup, so the key in the cron command line will always match the key in Dolibarr setup, and the Dolibarr batches will executed without security errors. To be sure, the customer does not change the value, you can set this constant to 1 into the table Table_llx_const.
  • CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)
  • CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)
  • To avoid bad use of the emailing module, it is recommended to set the option MAILING_NO_USING_PHPMAIL to 1 (This option is described previously). Also you can complete the message visible by customers when they try to setup the SMTP credentials of their Dolibarr by using the constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS (This option is described previously). For example, you can point to a FAQ on your website.
  • If you set a system limit on number of recipient, you can set some option to match the same values so users will be informed: 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_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock so the administration tools like install.php and repair.php can’t be used on your customer instance (until the lock file is deleted).
  • MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP ► Set to 1 by default. You can set it to 0 to show a warning to encourage admin to set its own SMTP service.
  • MAILING_LIMIT_WARNING_PHPMAIL ► Set this value to a translation key. Then add translation keys into the instance so user will see a message when into the email setup page. For example, you can set a message to say Warning: To avoid abuse, when using default setup, you are restricted to 500 emails per day for all your application (account may be suspended in case of violation of this rule. You can setup application to use your own SMTP server for sending email so you want have no restriction at all (see menu Home-Setup-Emails)
  • MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:
    • If he chose mail method, a message will explain him how to setup its SPF record for its email domain (showing the list of IP). This is to avoid to have its emails, sent from its Dolibarr instance, fails due to strict antispam rule of some emailing servers.
    • If he chose smtp method, a message will explain him the list of IP he can use if there is restriction on IP by the SMTP agent. If you also need to add a message to help SPF setup, see option MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.
  • MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD ► Set here the string to add in the SPF record This string will be shown into a help message when the user in in the setup of email page and has choose a method using an external SMTP server.
  • MAIN_FIRST_PING_OK_ID ► Set this value to “disabled” to remove completely any ping after a complete setup.
  • MAIN_FILECHECK_LOCAL_SUFFIX and MAIN_FILECHECK_LOCAL_EXT ► If you offer a customized or patched version of Dolibarr, when the user will use the tool to check the integrity of files, the default xml file name used for signature checking will be the official file provided by the Dolibarr team, so it does not includes your own changes. To have the suggested signature file being your own file, you can set the constant MAIN_FILECHECK_LOCAL_SUFFIX to a suffix. For example, set this to “-mysaassolution“. So, when the user will use the file integrity tool, the default file to check for signature will be “/install/filelist-10.0.2-mysaassolution.xml” instead of “/install/filelist-10.0.2.xml“. All you have to do is generate the signature file mysaassolution using the tool build/generate_filelist_xml.php and put this file into the install directory of your customer instance. Doing this, your customer, and yourself, will be able to check if a file was modified without being disturbed by false alerts due to your customized files or patches (they will be included in the signature used for check). Also, if you want to zip the customized signature file into “/install/filelist-10.0.2-mysaassolution.xml.zip“, you can set the constant MAIN_FILECHECK_LOCAL_EXT to ‘.zip’.
  • MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING ► If set to N, the warning saying modules are not activated will be shown if number of activated module is < N (Having this variable not defined is same than having it set to 1). This may be usefull if you preinstall an application with some modules already loaded by default and you want to keep the warning to be sure the user will enable other modules he need, even if some modules are already enabed.
  • SYSLOG_DISABLE_LOGHANDLER_SYSLOG ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).
  • WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER ► Put here a text or a translation key of a text to show when the user will use the feature “Deploy” when he want to deploy a website done with Dolibarr CMS. So you can, for example, show him a message that this feature is not part of its subscription and putting a website online may need a complementary subscription.