<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Isamuse</id>
	<title>Dolibarr ERP CRM Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.dolibarr.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Isamuse"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Isamuse"/>
	<updated>2026-10-22T09:52:05Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=63667</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=63667"/>
		<updated>2025-07-08T09:50:07Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Agenda Module */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Paramétrage_Divers]]&lt;br /&gt;
[[es:Configuración_Varios]]&lt;br /&gt;
[[de:Erweiterte_Einstellungen]]&lt;br /&gt;
[[zh:其他设置]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help About Screen&#039;&#039;&#039;: Other setup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu Path&#039;&#039;&#039;: Home ► Setup ► Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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 or may not work as expected.&lt;br /&gt;
&lt;br /&gt;
 {{warning|32px}} This page contains the list of some advanced development parameters. In most cases, they are 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 &#039;&#039;&#039;SHOULD NOT&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
To enable/override a parameter you have to define the constant name and set it to 1 (unless otherwise stated) in &amp;lt;code&amp;gt;Home ► Setup ► Other Setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The options here may not be documented since they are not stable and are unsupported (remember they are experimental or development options). The basic format of how the list is written is broken down in the example below:&lt;br /&gt;
&lt;br /&gt;
UNSTABLE_OR_DEV_OPTION ► &#039;&#039;Description of config and goal&#039;&#039; ► &#039;&#039;(specific version information) or values&#039;&#039;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=Global Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ADD_UNSPLASH_LOGIN_BACKGROUND&#039;&#039;&#039; ► 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 (the value to be put is the URL of the service, exemple : https://source.unsplash.com/random) ► (v10.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HIDE_POWERED_BY&#039;&#039;&#039; ► Hide the &amp;quot;Powered by Dolibarr&amp;quot; picto on public pages&lt;br /&gt;
*&#039;&#039;&#039;MAIN_APPLICATION_TITLE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTOFILL_DATE&#039;&#039;&#039; ► If this constant is defined (to something other than &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;), 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!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TERM_ID&#039;&#039;&#039; ► 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). Deprecated. Replaced with the default setup feature instead (see French page of wiki for some exemple : [[Paramétrage Valeurs par défaut]])&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TYPE_ID&#039;&#039;&#039; ► 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). Deprecated. Replaced with the default setup feature instead (see French page of wiki for some exemple : [[Paramétrage Valeurs par défaut]])&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_LANGUAGE_FILTER&#039;&#039;&#039; ► Useful if you do not want to show &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt; language option in combo boxes (other languages can easily be removed in &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; directory but not &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt;) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LANGUAGES_ALLOWED&#039;&#039;&#039; ► Is a list of languages without spaces, example : &amp;lt;code&amp;gt;fr_FR,en_US,de_DE,it_IT&amp;lt;/code&amp;gt; If defined, only those languages will appear in combos. ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_NOTES_TAB&#039;&#039;&#039; ► Show or hide notes tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_CONTACTS_TAB&#039;&#039;&#039; ► Show or hide contacts tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FULL_SCANLIST&#039;&#039;&#039; ► 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_JQUERY_JNOTIFY&#039;&#039;&#039; ► Disable usage of &amp;lt;code&amp;gt;JNotify&amp;lt;/code&amp;gt; to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_AJAX_COMBOX&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ► (v3.6.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_MULTIPLE_FILEUPLOAD&#039;&#039;&#039; ► Disable users to upload multiple files at once.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_TRUNC&#039;&#039;&#039; ► Disable all truncings in select list. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLEDRAFTSTATUS&#039;&#039;&#039; ► Disable the status &amp;quot;Draft&amp;quot; for some objects (project, donation, ...) so the object is directly created with status &amp;quot;Validated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME&#039;&#039;&#039; ► Add name of thirdparty at begin of generated document.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_TIMING&#039;&#039;&#039; ► Add a timestamp at end of generated document. Value must be format of timestamp. For example: &amp;lt;code&amp;gt;%Y%m%d%H%M&amp;lt;/code&amp;gt; (only for ODT files)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT&#039;&#039;&#039; ► Disable the auto renaming on upload file ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOL_SCRIPTS_ROOT&#039;&#039;&#039; ► Define directory who contains &#039;scripts&#039; directory (e.g. &amp;lt;code&amp;gt;/var/www/dolibarr&amp;lt;/code&amp;gt;). Value of this variable may be requested by some external script or tools.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_LOG_TO_HTML&#039;&#039;&#039; ► If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;lt;code&amp;gt;&amp;amp;logtohtml=1&amp;lt;/code&amp;gt; into URL.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES&#039;&#039;&#039; ► Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_TO_UPPER&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TO_UPPER&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TOWN_TO_UPPER&#039;&#039;&#039; ► Dolibarr puts uppercase for town names if not done. ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILESYSTEM_ENCODING&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; if on Linux or OSX system, and &amp;lt;code&amp;gt;ISO-8859-1&amp;lt;/code&amp;gt; if on Windows. If not, for example on a Windows server with a NTFS &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; pagecode, you can set the variable &amp;lt;code&amp;gt;MAIN_FILESYSTEM_ENCODING&amp;lt;/code&amp;gt; to &amp;quot;&amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FORCELANGDIR&#039;&#039;&#039; ► Relative path of the directory holding your custom &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTML_TITLE&#039;&#039;&#039; ► Can be used to control how the html page title is formatted. If value contains key &#039;&amp;lt;code&amp;gt;noapp&amp;lt;/code&amp;gt;&#039;, application name will not be output. If value contains &#039;&amp;lt;code&amp;gt;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;&amp;lt;code&amp;gt;noapp;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HELPCENTER_LINKTOUSE&#039;&#039;&#039; ► Define the URL link to use as the target page for link &amp;quot;I need help&amp;quot; onto logon page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGOUT_GOTO_URL&#039;&#039;&#039; ► URL to which the user will be redirected after LOGOUT&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXTABS_IN_CARD&#039;&#039;&#039; ► Maximum number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXLIST_OVERLOAD&#039;&#039;&#039; ► Maximum number of line in space&#039;s domain.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if not defined)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_CONCAT_DESCRIPTION&#039;&#039;&#039; ► Allow to use only input custom description in lines (proposal, order, invoice) ► (v10.0)   &amp;lt; v20.0. [ OSBOLETE since 20.0 | SEE Product module admin configuration to set the description behavior of products and services ]. This value is overwritten by PRODUCT_AUTOFILL_DESC, controled by the option in the product module admin configuration, and is no longer used. Kept in code to allow compatibility if custom modules are using it. Removed completely from v22.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZE_SPEED&#039;&#039;&#039; ► Use some speed enhancements. See page [[FAQ Increase Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PUBLIC_NOTE_IN_ADDRESS&#039;&#039;&#039; ► Show public note in address block ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REMOVE_INSTALL_WARNING&#039;&#039;&#039; ► Remove all security warnings that appear to administrator users if URL &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; is public. You should solve the problem if warning occurs, instead of removing the warning! For this, create a file called &amp;lt;code&amp;gt;install.lock&amp;lt;/code&amp;gt; into Dolibarr root directory. This will stop the warning but also make the page &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPEATCONTACTONEACHTAB&#039;&#039;&#039; ► If added and set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPLACE_TRANS_xx_XX&#039;&#039;&#039; ► Where &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt; is language code. If value is &amp;lt;code&amp;gt;string1:newstring1;string2:newstring2&amp;lt;/code&amp;gt; then replace &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;newstring1&amp;lt;/code&amp;gt; in all translation done for language &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND&#039;&#039;&#039; ► Change way of rounding total TTC lines, rounding first of after.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVER_TZ&#039;&#039;&#039; ► If you can&#039;t set the time zone of your PHP installation, set this constant. Better is to set it to UTC. In future, this constant will be forced to &#039;&amp;lt;code&amp;gt;UTC&amp;lt;/code&amp;gt;&#039; so PHP server time zone will not have effect any more. Examples: &amp;lt;code&amp;gt;Europe/Paris&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_FORM_ON_HOME_AREAS&#039;&#039;&#039; ► Show the search form on home page areas for core modules (Removed after v5 due to global search combo) ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED&#039;&#039;&#039; ► Disable the supplier invoice on the search form&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE&#039;&#039;&#039; ► If only one result is found, then setting this value to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; will take you direct to the item (default method).  Setting the value to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; will show the result in the list as a single result ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVICES_ARE_ECOMMERCE_200238EC&#039;&#039;&#039;  ► If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country. It can have value &#039;1&#039; or &#039;2&#039;. If value 2, the VATs available to select only the ones of buying country. If &#039;1&#039;, the VATs available to select mix the ones of selling country and the ones of buying country. ► (v18.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TUNING_INFO&#039;&#039;&#039; ► Add tuning information into JavaScript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOWDATABASENAMEINHELPPAGESLINK&#039;&#039;&#039; ► Show database name in upper help menu ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ALTERNATE_TRANSLATION_FOR&#039;&#039;&#039; ► List of fields per object that need an alternate translation. Example: &amp;lt;code&amp;gt;MAIN_USE_ALTERNATE_TRANSLATION_FOR=societe:name,town;contact:firstname,lastname&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_HOURMIN_IN_DATE_RANGE&#039;&#039;&#039; ► On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields &amp;quot;date start&amp;quot; and &amp;quot;date end&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_JEDITABLE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_MULTISELECT&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_OLD_SEARCH_FORM&#039;&#039;&#039; ► Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► If we can&#039;t guess if a thirdparty is a company or individual (not VAT ID fill, no Prof ID fill, no type of thirdparty fill), then we suppose it is a company (B2B business) if 1, we suppose it is an individual (B2C business) if 0.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► For intra CEE sales, we use by default, on proposal, order or invoice creation, a 0 VAT for customers that are companies (see MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES to change behaviour to know if a thirdparty is a company or an individual). But if the option MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL is set, we will use the 0 VAT only if a VAT ID is defined for the customer.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC&#039;&#039;&#039; ► For to use the default VAT of product for individual customers that are out E.E.C. (European Economic Community) ► (v7.0+). &#039;&#039;There is no reason to use this.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER&#039;&#039;&#039; ► Shows a line number for each line of products/services at documents like proposal / order / invoice. Only on screen, not on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER_IN_LIST&#039;&#039;&#039; ► Shows a line number in lists ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USER_HIDE_INACTIVE_IN_COMBOBOX&#039;&#039;&#039; ► Disable display inactive users in combobox.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_THUMBS&#039;&#039;&#039; ► Disable thumbs PDF in case of imagick bug&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_KEEP_REF_CUSTOMER_ON_CLONING&#039;&#039;&#039; ► Keep the Customer Reference on cloned object (Propal/Invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DONT_KEEP_NOTE_ON_CLONING&#039;&#039;&#039; ► Remove the object notes during cloning ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_FIELD&#039;&#039;&#039; ► Set the default sorting field on document page (name by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_ORDER&#039;&#039;&#039; ► Set the default sorting order (ASC or DESC) on document page (ASC by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ZIPTOWN_DICTIONNARY&#039;&#039;&#039; ► Use dictionary ZIP for create card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Show search in top menu with theme eldy ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PHONE_SEPAR&#039;&#039;&#039; ► Separ phone number other space ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;GRAPH_USE_FISCAL_YEAR&#039;&#039;&#039; ► Widgets uses fiscal year&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SOCINFO_ON_PRINT&#039;&#039;&#039; ► Permit to add user company information on each printed document (when click on Dolibarr print button) ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FEATURES_LEVEL&#039;&#039;&#039; ► Level of features to show: &amp;lt;code&amp;gt;-1=stable+deprecated&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0=stable only (default)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1=stable+experimental&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2=stable+experimental+development&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show technical id for object.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTTP_CONTENT_SECURITY_POLICY&#039;&#039;&#039; ► Allows you to fill in the content security rules ► (v6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD&#039;&#039;&#039; ► Allow to change the link of the third party to customer/supplier card instead of contact card on List.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT&#039;&#039;&#039; ► If set to &amp;quot;common&amp;quot; the setup module becomes list by defaut&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PAGESIZE_CHOICES&#039;&#039;&#039;  ► Configure select field to choose number of lines displayed on listing (&amp;lt;code&amp;gt;10:10,15:15,20:20,30:30,40:40,50:50,100:100,250:250,500:500,1000:1000,5000:5000&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN&#039;&#039;&#039; ► Add a dropdown menu with shortcuts to create new objects ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER&#039;&#039;&#039; ► Remove the header stored by email collector ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZEFORTEXTBROWSER&#039;&#039;&#039; ► Optimise interface for a text only browser. This variable is set to 1 automatically if your browser is lynx or links&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH&#039;&#039;&#039; ► Set the number of years visible on some graph of some widgets (2 is default value)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;API_DISABLE_LOGIN_API&#039;&#039;&#039; ►(v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGIN_BADCHARUNAUTHORIZED&#039;&#039;&#039; ► Add possibility to define bad character unauthorized into login name REGEX expression (Default value is @&amp;lt;&amp;gt;&amp;quot;\&#039;)  ► (v16.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_ALL_FILES_ON_DOCUMENT_TOOLTIP&#039;&#039;&#039;  ► Add all files visible from the object to be visible from the list of object.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PUBLIC_NOTES&#039;&#039;&#039;  ► Display public notes on list&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PRIVATE_NOTES&#039;&#039;&#039;  ► Display private notes on list&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CHECKBOX_LEFT_COLUMN&#039;&#039;&#039; ► Display private check boxes on the left ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATS_GRAPHS_SHOW_N_YEARS&#039;&#039;&#039; ► Nb of years to shows in widget and graph ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HOOK_DEBUG&#039;&#039;&#039; ► if &amp;gt;=2 the hook in the logs are more verbose ► (v18.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_AJAX_TOOLTIP&#039;&#039;&#039; ► if 1 the tooltips are updated with AJAX request ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_INPUT_PRICE_WITH_TAX&#039;&#039;&#039; ► if 1 the TTC input field is removed from propal/invoices/... ► (v17.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_SELECT2_FOCUS_PROTECTION&#039;&#039;&#039; ► if 1 disable the focus protection ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ADVANCED_PERMS ►&#039;&#039;&#039; Add advanced user permission&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FREE_PRODUCT_CHECKED_BY_DEFAULT ►&#039;&#039;&#039; Check &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot; by default on order/invoices/propal cards (set value &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot;)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LINK_BY_REF ►&#039;&#039;&#039; Allow to link documents by choosing the type and ref from the object linked option&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Official supported option&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
The following options are not hidden option. They are available by default from the interface.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED ►&#039;&#039;&#039; Activate maintenance mode and set user that is allowed to login. Value must be user login. Available into menu Home - Admin tools - User session, it is filled with admin user when clicking on button &amp;quot;Block other session&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_ANTI_SSRF_SERVER_IP&#039;&#039;&#039; ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_CSRF_WITH_TOKEN&#039;&#039;&#039; ► Activate a second anti-CSRF protection on POST (so a POST from another web site can&#039;t be done). Note there is also a default protection using test on referrer that is not reliable. This second protection uses TOKEN on forms and is more powerful. Value can be: 0=CSRF protection disabled; 1=CSRF protection is on POST URLs only (default from version Dolibarr 15.0+); 2=CSRF protection is required on POST + some GET URL that contains some white listed parameters like the parameter &amp;quot;action&amp;quot; used to request database change (default from version Dolibarr 16+), 3=CSRF protection is enabled on any POST and GET URLs (a valid CSRF token is expected whatever are the parameters, warning: can be enabled on Dolibarr but some external modules developped by thirdparty may not be ready yet with this option)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULES_FOR_EXTERNAL&#039;&#039;&#039; ► Limit available modules for external users. By default value is &#039;&amp;lt;code&amp;gt;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALLOW_SVG_FILES_AS_IMAGES&#039;&#039;&#039; ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_ONLY_VALID_HTML&#039;&#039;&#039; ► Refused parameter if value is not a valid HTML content. The content is also sanitized with Tidy.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_ONLY_VALID_HTML_TIDY&#039;&#039;&#039; ► Refused parameter if value is not a HTML content validated by Tidy PHP library. The content is also sanitized with Tidy.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES&#039;&#039;&#039; ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_SALT&#039;&#039;&#039; ► A salt string to base the hashing on. 8 strings length recommended.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_MAX_IMG_IN_HTML_CONTENT&#039;&#039;&#039; ► Maximum number of Images on the HTML content&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_ALLOW_UNSECURED_LABELS_WITH_HTML&#039;&#039;&#039; ► Allow HTML tags into products label&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_FORCERP&#039;&#039;&#039; = &amp;quot;strict-origin-when-cross-origin&amp;quot; (default) so browser doesn&#039;t send any referrer when going into another web site domain / &amp;quot;same-origin&amp;quot; / &amp;quot;strict-origin&amp;quot;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Adherent Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_NEWFORM_FORCEMORPHY&#039;&#039;&#039; ► Force nature of member set to &amp;quot;phy&amp;quot; for physical or to &amp;quot;mor&amp;quot; for moral ► (v12.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_ALLOW_CHANGE_OF_TYPE&#039;&#039;&#039; ► Member can edit their type on public subscription page ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;ADHERENT_DEFAULT_CREATE_THIRDPARTY&#039;&#039;&#039; ► Thirdparty is created when creating a new member ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_SUBSCRIPTION_SUGGEST_END_OF_MONTH&#039;&#039;&#039; ► If set to 1, the member subscription end date will be suggested for the end of the month ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_SUBSCRIPTION_SUGGEST_END_OF_YEAR&#039;&#039;&#039; ► If set to 1, the member subscription end date will be suggested for the end of the year ► (v18.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NB_OF_YEAR_IN_MEMBERSHIP_WIDGET_GRAPH&#039;&#039;&#039; ► If set, it limits the number of years visible on graph and widgets of membership (empty is default value to show all) ► (v18.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Accountancy Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTANCY_COMBO_FOR_AUX&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE&#039;&#039;&#039; ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_EXPORT_DATE&#039;&#039;&#039; ► Avoid flagging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTANCY_USE_PRODUCT_ACCOUNT_ON_THIRDPARTY ►&#039;&#039;&#039; Add 2 fields on thirdparty card which allow you to set an account for all sells products and an other for all buying products for this customer ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Agenda Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ALL_CALENDARS&#039;&#039;&#039; ► Change the default view of calendar pages to see all the Agenda&#039;s (instead or yours only be default)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS&#039;&#039;&#039; ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_DISABLE_LOCATION&#039;&#039;&#039; ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_MAX_EVENTS_DAY_VIEW&#039;&#039;&#039; ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_USE_EVENT_TYPE&#039;&#039;&#039; ► Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (&#039;&#039;&#039;&#039;&#039;deprecated&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_EVENT_ON_ELEMENT_CARD&#039;&#039;&#039; ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_SUPPORT_PRIORITY_IN_EVENTS&#039;&#039;&#039; ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFORPHONE&#039;&#039;&#039; ► Allow you to create a event from phone number ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFOREMAIL&#039;&#039;&#039; ► Allow you to create a event from Email ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ACTIONCOM_CAN_ADD_ANY_CONTACT&#039;&#039;&#039; ► Allow you to add any contact on events if set at 1a https://github.com/Dolibarr/dolibarr/releases/tag/18.0.0&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_CAN_RECONCILIATE_CASHACCOUNT&#039;&#039;&#039; ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_DISABLE_CHECK_DEPOSIT&#039;&#039;&#039; ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_ORDER&#039;&#039;&#039; ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL&#039;&#039;&#039; ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_USE_OLD_VARIOUS_PAYMENT&#039;&#039;&#039; ► To allow to enter miscellaneous payments (not covered by other modules) using old method. &#039;&#039;&#039;&#039;&#039;Deprecated&#039;&#039;&#039;&#039;&#039;. Entering various payment is preferred ► (&amp;lt;=v12.0).&lt;br /&gt;
*&#039;&#039;&#039;MAIN_IBAN_IS_NEVER_MANDATORY&#039;&#039;&#039; ► IBAN and BIC informations not mandatory. (V15)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=BOM and MO Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ALLOW_USE_KITS_INTO_BOM_AND_MO&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;BOM_SUB_BOM&#039;&#039;&#039; ►Allow to add a BOM in another BOM►(v16.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bookmarks Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BOOKMARKS_SHOW_IN_MENU&#039;&#039;&#039; ► Numbers of bookmark entries to be displayed (10 by default)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inalterable Log Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BLOCKEDLOG_ADD_ACTIONS_SUPPORTED&#039;&#039;&#039; ► Can complete list of triggered action that are logged&lt;br /&gt;
*&#039;&#039;&#039;BLOCKEDLOG_USE_REMOTE_AUTHORITY&#039;&#039;&#039; ► URL of the remote authority for the blockchain&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Category-Tags Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_SHOW_COUNTS&#039;&#039;&#039; ► Shows nb of object by tags in tag tree&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_SUPPORT_PRODUCTS&#039;&#039;&#039; ► Products are also suggested into module contract.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_PLANNED_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_REAL_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_PRICE_ON_PDF&#039;&#039;&#039; ► allows you to not display price on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_QTY_ON_PDF&#039;&#039;&#039; ► allows you to not quantity dates on pdf files.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Cron module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► 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 &#039;Scheduled Jobs&#039;). 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Direct Debit Orders=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS&#039;&#039;&#039; ► 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 &amp;quot;unpayed&amp;quot; invoices are used to avoid to pay twice the same invoice.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Donation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DONATION_USE_THIRDPARTIES&#039;&#039;&#039; ► If this option is set, a thirdparty field appear on donation forms.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Email=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_COPY_FILE_IN_EVENT_AUTO&#039;&#039;&#039; ► Add attachment document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_USE_LAYOUT&#039;&#039;&#039;► Enable the use of predefined layout when writing an email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAILFORM_DISABLE_ENTERKEY&#039;&#039;&#039; ► Activate JavaScript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG&#039;&#039;&#039; ► Write content with header of last mail into file &amp;lt;code&amp;gt;dolibarr_mail.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG_ERR_WITH_DATE&#039;&#039;&#039; ► Use a different filename (by adding a prefix of date) for each email sent with error when MAIN_MAIL_DEBUG.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG_LOG_WITH_DATE&#039;&#039;&#039; ► Use a different filename (by adding a prefix of date) to log each email sent (whatever is result) when MAIN_MAIL_DEBUG.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_FROM&#039;&#039;&#039; ► (v19+) Can force the value into the From field of the SMTP header. Note that email sender is always saved into the &amp;quot;Reply-To&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ALLOW_SENDMAIL_F&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. This option is here to ask Dolibarr to call the function mail of PHP by adding value for the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. 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 setup or version of sendmail that ask the -f option to be mandatory or for sendmail setup that does not use by default the From of the header email to define the sender (with this option, the from can be forced on command line to avoid to have the from lost by sendmail).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_SENDMAIL_FORCE_BA&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_NO_FULL_EMAIL&#039;&#039;&#039; ► Recipient email and sender are cleaned to be on form &amp;quot;&amp;lt;email&amp;gt;&amp;quot; instead of &amp;quot;Name &amp;lt;email&amp;gt;&amp;quot;. This might solve problem of compatibility with very old mailers.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIX_FOR_BUGGED_MTA&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;orange.fr&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;hotmail.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DO_NOT_USE_SIGN&#039;&#039;&#039; ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_NOT_SENDING_TO&#039;&#039;&#039; ► If en email is defined into this variable, emails will never be sent to this email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_INVOICE&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Invoice&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_ORDER&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Order&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_PROPAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Proposal&#039;&#039; module.&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Supplier Proposal&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_SUPPORT_ACK ►&#039;&#039;&#039; Restore email acknowledgment checkbox on sending emails. This feature is commonly abandoned by mailers. Active from Dolibarr V17 - see [https://github.com/Dolibarr/dolibarr/blob/33744f74da1a5c20f8aa9950018ab4e549e00205/ChangeLog#L53 changelog]&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_USECCC&#039;&#039;&#039; ► 1 = Shows field BCC into email forms, If value is an email = Shows the BCC pre filled with the email value.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_PROPOSAL_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_ORDER_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_INVOICE_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_SHIPMENT_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_..._TO&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_ADD_TRACK_ID&#039;&#039;&#039; ► When value is 1 (this is also default value if option is not set): The record &amp;quot;Message-id&amp;quot; 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  &amp;quot;+thiXXX&amp;quot; on email (your email will be sent with the &amp;quot;From&amp;quot; that is myname+thi123@mycompany.com). So when user receiving email will make &amp;quot;Answer&amp;quot;, 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► Restrict sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include 1000 recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML&#039;&#039;&#039; ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_USE_MULTI_PART&#039;&#039;&#039; ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INFO_SOCIETE_MAIL_ALIASES&#039;&#039;&#039; ► add address aliases for the from field on mail. Set his value with &amp;quot;Firstname Name &amp;lt;firstname.lastname@mydomain.tld, Otherfirstname OtherlastName &amp;lt;othermail@mydomain.tld&amp;gt;,...&amp;quot; ► (v5.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS&#039;&#039;&#039; ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (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. You can also set the URLs where to get the IP addresses, for exemple: &amp;quot;https://ipv4.urltoshowip.com/_service_showmyip.php,https://ipv6.urltoshowup.com/_service_showmyip.php. So when your customer go into the setup area of email:&lt;br /&gt;
**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.&lt;br /&gt;
**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 &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_IMAP_USE_PHPIMAP&#039;&#039;&#039; ► Use embedded PHP-imap library (not using the native php imap) instead of native php imap extension ► (v17.0+, available as official option in setup of emailcollector by default from v19)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ENABLED_USER_DEST_SELECT&#039;&#039;&#039; ► Show also internal users into list of recipients of email in email sending form ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Prefix for the mails ID. Default value is &amp;lt;code&amp;gt;$_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&amp;lt;/code&amp;gt; ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=SMS= &lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SMS_DEBUG&#039;&#039;&#039; ► Write content of SMS sent into file &amp;lt;code&amp;gt;dolibarr_sms.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Emailing Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Set the value that will be used to compose the &amp;quot;Email ID&amp;quot; into email headers. If you set this value to &#039;&amp;lt;code&amp;gt;SERVER_NAME&amp;lt;/code&amp;gt;&#039;, 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► If set, the module emailing can&#039;t be used with mail setup of &amp;quot;phpmail&amp;quot;. Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant &amp;lt;code&amp;gt;&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039; ► 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 &#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; is set to on.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. 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.&lt;br /&gt;
*&#039;&#039;&#039;EMAILING_USE_ADVANCED_SELECTOR&#039;&#039;&#039; ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYWEB&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbyweb&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYCLI&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbycli&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expense Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS&#039;&#039;&#039; ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_OVERRIDE_VAT&#039;&#039;&#039; ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_USE_OLD_NUMBERING_RULE&#039;&#039;&#039; ► 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 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_IK&#039;&#039;&#039; ► This feature allows you to set index kilometres against a mileage index for different types of vehicles. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_RULE&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Export Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_SEPARATOR_TO_USE&#039;&#039;&#039; ► String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_FORCE_CHARSET&#039;&#039;&#039; ► 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= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORTTOOL_CATEGORIES&#039;&#039;&#039; ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USE_STRICT_CSV_RULES&#039;&#039;&#039; ► Use strict/real CSV format for export. Do not clean/replace CR+LF with &#039;\n&#039; but quote them using the escaping CSV char (&amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
*&#039;&#039;&#039;EXPORTS_SHARE_MODELS&#039;&#039;&#039;  ► Share export models between users.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Foundation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_URL_REDIRECT_SUBSCRIPTION&#039;&#039;&#039; ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_EXT_URL_SUBSCRIPTION_INFO&#039;&#039;&#039; ► Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front of payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
=Holiday Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;HOLIDAY_HIDE_BALANCE&#039;&#039;&#039; ► Hide the user&#039;s vacation balance on the vacation request page&lt;br /&gt;
&lt;br /&gt;
[https://wiki.dolibarr.org/Setup_Other#Top (back to top)]&lt;br /&gt;
=Interventions Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_CLASSIFY_BILLED&#039;&#039;&#039;► Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger &amp;lt;code&amp;gt;FICHINTER_CLASSIFY_BILLED&amp;lt;/code&amp;gt; into list of possible automatic event into agenda.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_DISABLE_DETAILS&#039;&#039;&#039;► Disable entry of detail lines on intervention. Can validate with no line. Only one line will be shown per intervention on list.&lt;br /&gt;
**If set to &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt; details are disabled only on intervention list ► (v21.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Invoice Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEPOSIT_MULTI_TVA&#039;&#039;&#039; ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039; ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_BE_EDITED_EVEN_IF_PAYMENT_DONE&#039;&#039;&#039; ► Allow to edit invoices even if payment was started. Note: If the module &amp;quot;BlockedLog&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_ALWAYS_BE_REMOVED&#039;&#039;&#039; ► Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;BlockedLog&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_NEVER_BE_EDITED&#039;&#039;&#039; ► Never allow to edit invoices (except draft invoices with ref like (PROV%)). See also INVOICE_CAN_NEVER_BE_REMOVED.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_NEVER_BE_REMOVED&#039;&#039;&#039; ► Never allow to delete invoices (except draft invoices with ref like (PROV%)). See also INVOICE_CAN_NEVER_BE_EDITED&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POSITIVE_CREDIT_NOTE&#039;&#039;&#039; ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_DEPOSITS_ARE_JUST_PAYMENTS&#039;&#039;&#039; ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#039;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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_SENDBYEMAIL_FOR_ALL_STATUS&#039;&#039;&#039; ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CREDIT_NOTE_STANDALONE&#039;&#039;&#039; ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION&#039;&#039;&#039; ► 1=Enable the &amp;quot;situation invoice&amp;quot; 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). 2=Enable the &amp;quot;situation invoice&amp;quot; feature with a rewrite. This mode should be better to become a future stable feature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION_CREDIT_NOTE&#039;&#039;&#039; ► Enable the &amp;quot;situation credit note&amp;quot; feature (need &amp;lt;code&amp;gt;INVOICE_USE_SITUATION&amp;lt;/code&amp;gt;) ► (v8.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_RETAINED_WARRANTY&#039;&#039;&#039; ► Enable the retained warranty on invoice ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_DEPOSIT&#039;&#039;&#039; ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_REPLACEMENT&#039;&#039;&#039; ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_CREDIT_NOTE&#039;&#039;&#039; ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*&amp;lt;bdi&amp;gt;&#039;&#039;&#039;INVOICE_ADD_EXTRAFIELD_IN_NOTE&#039;&#039;&#039; ► Add extrafields in note for canelle template ► (v17.0+)&amp;lt;/bdi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; &amp;lt;bdi&amp;gt;► Default text in public note&amp;lt;/bdi&amp;gt;&lt;br /&gt;
&lt;br /&gt;
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&amp;amp;gl=FR&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_BILL_ON_SHIPMENT&#039;&#039;&#039; ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POINTOFTAX_DATE&#039;&#039;&#039; ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE&#039;&#039;&#039; ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE_LINES&#039;&#039;&#039; ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_DEFAULT_DOCUMENT&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST&#039;&#039;&#039; ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_FREE_REF&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISALLOW_REOPEN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_MAX_FUTURE_DELAY&#039;&#039;&#039; ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_AUTO_NEXT_MONTH_ON_LINES&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_KEEP_DISCOUNT_LINES_AS_IN_ORIGIN&#039;&#039;&#039; ► Does not change a line with a negative price into an absolute discount when creating an invoice ► (V16 ?)&lt;br /&gt;
*&#039;&#039;&#039;INVOICEREC_SET_AUTOFILL_DATE_START&#039;&#039;&#039; and &#039;&#039;&#039;INVOICEREC_SET_AUTOFILL_DATE_END ►&#039;&#039;&#039; Set start and end date to yes for lines of template invoice when created from a draft invoice ► (V16)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_REC_DATE_TO_YES&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; Set start and end date to yes by default in add line form for template invoice ► (V16)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_SUBTYPE_ENABLED&#039;&#039;&#039; ► Extends Dolibarr standard invoice with more invoice types used in some countries. A combo box in the new invoice creation card allows the selection of &amp;quot;subtypes&amp;quot; with values from dictionary &amp;quot;Invoice Subtypes&amp;quot; ► (v19.0+)&lt;br /&gt;
*&#039;&#039;&#039;LIST_OF_QUALIFIED_INVOICES_LIMIT_DEFINED&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; Perf options to limit list of invoices for &amp;quot;credit note&amp;quot; source (on form &amp;quot;create a credit note&amp;quot;), usable for big quantities of invoices for one customer like you can have with TakePos ► (V22+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the Saturday as a working day&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the Sunday as a working day&lt;br /&gt;
&lt;br /&gt;
=Look or Theme=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FAVICON_URL&#039;&#039;&#039; ► favicon url&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EASTER_EGG_COMMITSTRIP&#039;&#039;&#039; ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATUS_USES_CSS&#039;&#039;&#039; ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_AGRESSIVENESS_RATIO&#039;&#039;&#039; ► This conf can be used to increase/decrease aggressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_SHOW_BORDER_ON_INPUT&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_WORKBOARD&#039;&#039;&#039; ► Hide the work board of the main page ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_BOXSTATS&#039;&#039;&#039; ► Hide the Statistic Box of the main page&lt;br /&gt;
*&#039;&#039;&#039;ALLOW_THEME_JS ►&#039;&#039;&#039; Allow JS file in theme folder (same name as theme folder)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Manifest (Progressive Web App)=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_THEME_COLOR ►&#039;&#039;&#039; Theme color for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_BG_COLOR ►&#039;&#039;&#039; Background color  for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_LOGO_URL  ►&#039;&#039;&#039; Logo for manifest&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MANIFEST_APPLI_LOGO_URL_SIZE  ►&#039;&#039;&#039; Logo url size for app (150, 192, 512px) missing 3 configurations&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Order Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MASSACTION_CREATEBILLS_REDIRECT_IF_ONE&#039;&#039;&#039; ► If set 1, redirects to the one bill created from massaction create bills from order list ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MASSACTION_CREATEBILLS_REDIRECT_IF_MANY&#039;&#039;&#039; ► If set to 1, redirects to the invoice list after plural invoices where generated from tho massaction create bills from order list  ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ORDERLIST_CREATEBILLS_ONEBYTHIRD&#039;&#039;&#039; ► Allow defining value for option &amp;quot;one by thirdparty&amp;quot; in massaction create bills from orders list page (no by default, yes if set to &#039;yes&#039; or 1) ► (v20.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER&#039;&#039;&#039; =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_REQUIRE_SOURCE&#039;&#039;&#039; =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_VALID_AFTER_CLOSE_PROPAL&#039;&#039;&#039; =&amp;gt; When an order is created on a proposal close, the order is directly defined with status &amp;quot;Validated&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; =&amp;gt; When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ENABLE_NEGATIVE&#039;&#039;&#039; =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER&#039;&#039;&#039; =&amp;gt; Copy also extrafields from thirdparty to order (if name match). ► (v11.0+)&lt;br /&gt;
*&#039;&#039;&#039;ORDER_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; ► Default text in public note&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REMOVE_DROPDOWN_CREATE_BUTTONS_ON_ORDER&#039;&#039;&#039; =&amp;gt; Remove the create dropdown button on order card (introduce on v19) to come back with old buttons.  &#039;&#039;&#039;►&#039;&#039;&#039; (v20.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PDF Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_PDF_BACKGROUND&#039;&#039;&#039; ► Define this constant with short name of a PDF file (example &amp;quot;&amp;lt;code&amp;gt;mypdf.pdf&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany&amp;lt;/code&amp;gt;&amp;quot;. 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FORCE_SAVEAS&#039;&#039;&#039; ► 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. Values : 0= Default (file is auto downloaded), 1= For to output the file into the browser tab, 2= For to output the file into a browser tab open with target_blank&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_AUTOUPDATE&#039;&#039;&#039; ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_COMPRESSION&#039;&#039;&#039; ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_WITH_PICTURE_WIDTH&#039;&#039;&#039; ► Can change size of picture when hidden option &amp;lt;code&amp;gt;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&amp;lt;/code&amp;gt; is used. By default value is &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS&#039;&#039;&#039; ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_ORDERS_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer orders.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_INVOICES_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INVERT_SENDER_RECIPIENT&#039;&#039;&#039; ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF&#039;&#039;&#039; ► Activate ODT to PDF conversion. Value can be &amp;quot;libreoffice&amp;quot; or &amp;quot;unoconv&amp;quot;. Do not use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;jodconverter&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039; any more, as it is declared deprecated and partly not functional, use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;libreoffice&#039;&#039;&#039;&#039; instead, it requires only &#039;&#039;&#039;soffice&#039;&#039;&#039; (OpenOffice or LibreOffice) installed on server (use &#039;&#039;&#039;apt install soffice libreoffice-common libreoffice-writer&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
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:&amp;quot;/tmp&amp;quot; --convert-to pdf --outdir xxx ./yyy.odt, check that directory defined into env:UserInstallation parameters exists and is writeable.&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF_DEL_SOURCE&#039;&#039;&#039; ► 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&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT&#039;&#039;&#039; ► To ignore font defined into language file and force usage of a particular font. For example &amp;quot;&amp;lt;code&amp;gt;DejaVuSans&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT_SIZE&#039;&#039;&#039; ► To force size of font (by default 10). For example &amp;quot;&amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&amp;quot; ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FREETEXT_HEIGHT&#039;&#039;&#039; ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_TITLE_BACKGROUND_COLOR&#039;&#039;&#039; ► Can define a background color onto title line. Example: &amp;lt;code&amp;gt;220,220,200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_USE_LARGE_LOGO&#039;&#039;&#039; ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_BACKGROUND_ON_PDF&#039;&#039;&#039; ► Define this constant with short name of an image (example &amp;quot;&amp;lt;code&amp;gt;myimage.jpg&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany/logos&amp;lt;/code&amp;gt;&amp;quot;. This will add this background image into your generated PDF files.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_COMPANY_NAME_OF_CONTACT&#039;&#039;&#039; ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_ADDALSOTARGETDETAILS&#039;&#039;&#039; ► If 1, add details of recipient 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_TVAINTRA_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID1_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 1 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID2_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 2 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID3_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 3 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID4_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 4 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID5_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 5 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID6_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 6 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN&#039;&#039;&#039; ► Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for France, &amp;quot;sort code/account number&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BOLD_PRODUCT_REF_AND_PERIOD&#039;&#039;&#039; ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES&#039;&#039;&#039; ► Modify the use/position of Supplier Ref/Internal Ref with the item Label (name) on PDF documents.&lt;br /&gt;
&lt;br /&gt;
Default (constant not set or Value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;): Internal ref followed by supplier ref in brackets.&amp;quot;COMPANY-REF-001 (Vendor SKU SUPPLIER-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: Supplier ref only eg.&amp;quot;SUPPLIER-REF-001 - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Supplier ref followed by internal ref in brackets. eg.&amp;quot;SUPPLIER-REF-001 (InternalRef COMPANY-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME&#039;&#039;&#039; ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SECURITY_ENCRYPTION&#039;&#039;&#039; ► Encrypt PDF produced by dolibarr. See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_USERPASS&#039;&#039;&#039; - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_OWNERPASS&#039;&#039;&#039; (random if not specified) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_STRENGTH&#039;&#039;&#039; (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_PUBKEYS&#039;&#039;&#039; Array of recipients containing public-key certificates (&#039;c&#039;) and permissions (&#039;p&#039;) - For example: array(array(&#039;c&#039; =&amp;gt; &#039;file://../examples/data/cert/tcpdf.crt&#039;, &#039;p&#039; =&amp;gt; array(&#039;print&#039;))). WARNING: if an &#039;encrypted PDF&#039; provides a protection against manual change done by mistake, it does NOT provide any protection against modification of your PDF in a security point of view: A protected PDF can still be modified by any advanced PDF editors. Don&#039;t forget this: If a software can read the PDF, this software can also rebuild it differently !&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SHOW_PROJECT&#039;&#039;&#039; ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_ALSO_LANGUAGE_CODE&#039;&#039;&#039; ► The value of this constant must be a language code (&#039;fr_FR&#039;, &#039;en_US&#039;, &#039;sa_SA&#039;, ...). If set, the PDF document will contains both language (default and the one defined by the constant).&lt;br /&gt;
*&#039;&#039;&#039;DOC_SHOW_FIRST_SALES_REP&#039;&#039;&#039; ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_DASH_BETWEEN_LINES&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SUBPRODUCT_REF_IN_PDF&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES&#039;&#039;&#039; ► hide product label in supplier order lines (V15+)&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_DISPLAY_AMOUNT_HT&#039;&#039;&#039; ► Show HT unit price and HT total price for lines of PDF shipment&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_FACTURE&#039;&#039;&#039; ► To Hide product description in Customer Invoice&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_COMMANDE&#039;&#039;&#039; ► To Hide product description in Sales Order&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_ORDER_SUPPLIER&#039;&#039;&#039; ► To Hide product description in Purchase Order&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_HIDE_DESCRIPTION_FOR_INVOICE_SUPPLIER&#039;&#039;&#039; ► To Hide product description in Vendor Invoice&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_PROPAL_SHOW_PRICE_INCL_TAX&#039;&#039;&#039; ► Display price with tax on Proposal(cyan template), Order(eratosthene template), Bill(sponge template) (V17+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_GETALIASNBPAGE_FOR_TOTAL&#039;&#039;&#039; ► Display the page number alias&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_NO_SENDER_FRAME&#039;&#039;&#039; ► Do not display the &amp;quot;sender&amp;quot; mention&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_HIDE_SENDER_NAME&#039;&#039;&#039; ► Do not display the sender name&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_NO_RECIPENT_FRAME&#039;&#039;&#039; ► Do not display BillTo&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Point of Sale (POS)=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CASHDESK_SHOW_KEYPAD&#039;&#039;&#039; ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;POS_ADDON&#039;&#039;&#039; ► Set this value to an existing numbering module rule (for example &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039;, &#039;&amp;lt;code&amp;gt;mod_facture_mars&amp;lt;/code&amp;gt;&#039;, ...) to force the numbering module to use for invoice ref definition when invoice is created by the POS. For example setting value &amp;lt;code&amp;gt;POS_ADDON&amp;lt;/code&amp;gt; to &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039; will use the numbering module &#039;&amp;lt;code&amp;gt;terre&amp;lt;/code&amp;gt;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_ENABLE_SUMUP&#039;&#039;&#039; ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT&#039;&#039;&#039; ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CONTROL_CASH_OPENING&#039;&#039;&#039; ► Control the cash opening&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_GRAPHSTATS_ON_PRODUCTS&#039;&#039;&#039; ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE&#039;&#039;&#039; ► Avoid customs code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_TYPE_IN_DOCUMENTS&#039;&#039;&#039; ► Add text &amp;quot;Product&amp;quot; or &amp;quot;Service&amp;quot; at beginning of details lines on built PDF documents.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DONOTSEARCH_ANYWHERE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DIRECT_STATUS_UPDATE&#039;&#039;&#039; ► Allows you to change the status of the product (&#039;&#039;for sale/not for sale for purchase/not for purchase&#039;&#039;) directly on the product page via a &#039;&#039;on/off&#039;&#039; 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&#039;t generate a MODIFY trigger, so be careful with external modules. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_PRODUCT_BY_FOURN_REF&#039;&#039;&#039; ►  Allow to search a product by supplier ref in document&#039;s add line form. ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FREE_LINES&#039;&#039;&#039; ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_PRODUCT_ACTIVITY_TRIM&#039;&#039;&#039; ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_DESC_IN_LIST&#039;&#039;&#039; ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES&#039;&#039;&#039; ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PUBLIC_URL&#039;&#039;&#039; ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_STOCK_LEVELS&#039;&#039;&#039; ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_NATURE&#039;&#039;&#039; ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_WEIGHT&#039;&#039;&#039; ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PRICES&#039;&#039;&#039; ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_ACCOUNTING&#039;&#039;&#039;  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SIZE&#039;&#039;&#039; ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_LENGTH&#039;&#039;&#039; ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SURFACE&#039;&#039;&#039; ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_VOLUME&#039;&#039;&#039; ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_CUSTOM_INFO&#039;&#039;&#039; ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL&#039;&#039;&#039; ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY&#039;&#039;&#039; ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES&#039;&#039;&#039; ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOT_ENABLE_QUALITY_CONTROL&#039;&#039;&#039; ► Enable feature (Display fields for life time and quality control duration) for quality control on product and lot&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_LENGTH_COMBO&#039;&#039;&#039; ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_VISIBLE_PHOTO&#039;&#039;&#039; ► Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039; will show the first five product photos found on the product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_OLD_PATH_FOR_PHOTO&#039;&#039;&#039; ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_UNITS&#039;&#039;&#039; ► Add other units on products (Use same dictionary as default unit feature) and propagate this unit on line of documents.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EDIT_LINE_ALLOW_ALL_UNIT_TYPE ►&#039;&#039;&#039; Allow the selection of other unit types when editing the document line&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_PRODUCTS&#039;&#039;&#039; ► Allow to affect resources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_SERVICES&#039;&#039;&#039; ► Allow to affect resources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SHOW_ORIGIN_IN_COMBO&#039;&#039;&#039; ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_ATTRIBUTES_HIDECHILD&#039;&#039;&#039;  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_FORM_ADD_TO&#039;&#039;&#039; ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SELLBY&#039;&#039;&#039; ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_EATBY&#039;&#039;&#039; ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DENY_CHANGE_PRODUCT_TYPE&#039;&#039;&#039; ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SORT_BY_CATEGORY&#039;&#039;&#039; ► Sort the product by categories instead of by ID&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_NET_MEASURE&#039;&#039;&#039; ► Support Net Measure in product&#039;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+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_PRICE_BASE_TYPE&#039;&#039;&#039;  ► value &#039;TTC&#039; / &#039;HT&#039; specify the default value of the price (with or without taxes) ► (v16.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES&#039;&#039;&#039; ► Load product extrafiled on object lines&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_SUB_COST_PRICES_IF_COST_PRICE_EMPTY&#039;&#039;&#039; : Calculate the parent product production price by child prices.&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SEARCH_AUTO_SELECT_IF_ONLY_ONE&#039;&#039;&#039; : Set to 0 to disable or 1 to enable (by default) the auto select product behavior in combobox when there is only one result.(v21.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Projects Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY&#039;&#039;&#039; ► Option related to the combo list Project on elements. It is a list of thirdparty IDs. If set, you can link an object to a project owned by one of this thirdparty in the list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_PROJECT&#039;&#039;&#039; ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_TASK&#039;&#039;&#039; ► Add comment feature on project task&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALWAYS_DISCARD_CLOSED_PROJECTS_IN_SELECT&#039;&#039;&#039; ► Discards closed projects in every select field. A closed project can&#039;t be associated to an object ► (v20.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS&#039;&#039;&#039; ► Option related to the combo list Project on elements. Can link an element (purhcase invoice, purchase order, reception, ...) to any project even if object has a different supplier than the one of the project to link to. See also PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY that is different because it allows to define some given thirdparty ID to allow.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CREATE_ON_OVERVIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;create ...&amp;quot; button on the overview pagec&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_DISABLE_UNLINK_FROM_OVERVIEW&#039;&#039;&#039; ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_UNSELECTABLES&#039;&#039;&#039; ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_TASKS&#039;&#039;&#039; ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LIST_SHOW_STARTDATE&#039;&#039;&#039; ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LINK_ON_OVERWIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_SHOW_REF_INTO_LISTS&#039;&#039;&#039; ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS&#039;&#039;&#039; ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_OPEN_ALWAYS_ON_TAB&#039;&#039;&#039; ► Set to value &#039;task&#039;, or &#039;preview&#039; to always open the project on the given tab instead of main tab.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ELEMENTS_FOR_MINUS_MARGIN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TIMESPENT_ALWAYS_UPDATE_THM&#039;&#039;&#039; ► when it&#039;s on always check current time of user to update it in task time line ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ENABLE_SUB_PROJECT&#039;&#039;&#039; ► Add support for parent projects ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAL_CHOOSE_ODT_DOCUMENT&#039;&#039;&#039; ► On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_CLONE_ON_CREATE_PAGE&#039;&#039;&#039; ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_DISABLE_SIGNATURE&#039;&#039;&#039; ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT&#039;&#039;&#039; ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTTERM&#039;&#039;&#039; ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTMODE&#039;&#039;&#039; ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES&#039;&#039;&#039; ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_REOPEN_UNSIGNED_ONLY&#039;&#039;&#039;  ► Do not allow reopening of signed (or billed) proposals. (V15)&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ARE_NOT_BILLABLE&#039;&#039;&#039;  ► Disable billing button on proposals (V15)&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_DEFAULT_NOTE_PUBLIC&#039;&#039;&#039; ► Default text in public note&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Services Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SERVICE_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ►  If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country. For french speaking people, see also the page [[Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE&#039;&#039;&#039;  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS&#039;&#039;&#039; ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHIPMENT_GETS_ALL_ORDER_PRODUCTS&#039;&#039;&#039; ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_HIDE_ORDERED&#039;&#039;&#039; ►Hide column quantity ordered on shipment pdf (&amp;gt;=15.0)&lt;br /&gt;
*&#039;&#039;&#039;STOCK_SUPPORTS_SERVICES&#039;&#039;&#039; ►Allow to manage services into warehouse and allow to ship services&lt;br /&gt;
*&#039;&#039;&#039;SHIPMENT_SUPPORTS_SERVICES&#039;&#039;&#039; ►Allow to ship services without stock (&amp;gt;=19.0)&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_DISPLAY_STOCK_ENTRY_DATE&#039;&#039;&#039; ►Display date entry stock exped and sort in date order (&amp;gt;=19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Stocks=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED&#039;&#039;&#039; ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_EXCLUDE_VIRTUAL_PRODUCTS&#039;&#039;&#039; ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
*&#039;&#039;&#039;STOCK_ALLOW_DELETE_OF_MOVEMENT&#039;&#039;&#039; ► Enable massaction option to delete in movements list (be carefull !!).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ENTREPOT_EXTRA_STATUS&#039;&#039;&#039; ► 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&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE&#039;&#039;&#039; ► to hide unit price on some pages (V15+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DISABLE_QTY_OVERWRITE&#039;&#039;&#039; ► Disable quantity overwrites on inventories ► (v19.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WAREHOUSE_LIST_DISPLAY_MODE&#039;&#039;&#039; ► Change warehouse select list display mode  ► (v21.0) (see github pull request [https://github.com/Dolibarr/dolibarr/pull/31013 #31013] for more info)&lt;br /&gt;
**0 : Default behavior, display parents of warehouse&lt;br /&gt;
**1 : Display only current warehouse label only&lt;br /&gt;
**2 : Display last parent warehouse label&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Suppliers Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FOURN_PRODUCT_AVAILABILITY&#039;&#039;&#039; ► On the Suppliers price page of the products, activate the supplier product availability. &#039;&#039;This is duplicate feature with delivery_delay introduced with 3.8.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RELOAD_PAGE_ON_SUPPLIER_CHANGE&#039;&#039;&#039; ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_AUTOADD_USER_CONTACT&#039;&#039;&#039; ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID&#039;&#039;&#039; ► Set the default payment method for suppliers (&amp;lt;code&amp;gt;rowid&amp;lt;/code&amp;gt; in table &amp;lt;code&amp;gt;llx_c_paiement&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_USE_DISPATCH_STATUS&#039;&#039;&#039; ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_NO_DIRECT_APPROVE&#039;&#039;&#039; ► No button &amp;quot;Validate and Approve&amp;quot;. Always do step &amp;quot;Validate&amp;quot; and &amp;quot;Approve&amp;quot; in 2 steps.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT&#039;&#039;&#039; ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DISPLAY_DISCOUNTED_SUPPLIER_PRICE&#039;&#039;&#039; ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER&#039;&#039;&#039; ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_CAN_UPDATE_BUYINGPRICE_DURING_RECEIPT&#039;&#039;&#039; ►  Allow to change price on receipt ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_HIDE_SUPPLIER_OBJECTLINES&#039;&#039;&#039; ►  Hide the supplier information on objectlines (invoices, etc..) ► (v19.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Third Parties Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;COMPANY_AQUARIUM_CLEAN_REGEX&#039;&#039;&#039; ► 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 = &#039;&amp;lt;code&amp;gt;^..(..)..(.*)&amp;lt;/code&amp;gt;&#039; the first char and second char are removed and the char 5 and 6 too ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_EMAIL_MANDATORY&#039;&#039;&#039; ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_CUSTOMERS&#039;&#039;&#039; ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PROSPECTS&#039;&#039;&#039; ► Remove all menu and features related to prospects&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PROSPECTSCUSTOMERS ►&#039;&#039;&#039; Remove the status &amp;quot;Customer/Prospect&amp;quot; when thirdparties creation or modification&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_STATE&#039;&#039;&#039; ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SORT_ON_TYPEENT&#039;&#039;&#039; ► The combo list of &amp;quot;type of third party&amp;quot; is sorted on alphabetical order instead of the field &amp;quot;position&amp;quot; that appears into dictionary instead.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ASK_FOR_SHIPPING_METHOD&#039;&#039;&#039; ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ADD_REF_IN_LIST&#039;&#039;&#039; ► Displays the code before the name in the lists  ► Value 1 -&amp;gt; Code + name + alias ou Code + name if colone alias 2 -&amp;gt; Code + alias 3 -&amp;gt; Alias&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER&#039;&#039;&#039; ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX1&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use second tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX2&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use third tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Do not set status &amp;quot;Customer/Prospect&amp;quot; to &amp;quot;on&amp;quot; when creating a new third party from menu &amp;quot;New third party&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PARENT_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on third party that own the project of the current element when using the &amp;quot;link to&amp;quot; object feature (if project is owned by a different thirdparty than current one).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION&#039;&#039;&#039; ► Enabled contact creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_QUICKSEARCH_ON_FIELDS&#039;&#039;&#039; ► Personalized search criteria ► Example: $conf-&amp;gt;global-&amp;gt;THIRDPARTY_QUICKSEARCH_ON_FIELDS = &#039;s.nom=ThirdPartyName;s.name_alias=AliasNameShort;s.code_client=CustomerCode&#039;&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS&#039;&#039;&#039; ► Enabled member creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PARENTCOMPANY&#039;&#039;&#039; ► Disables attachment to a parent company.&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to customer by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUPPLIER_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to supplier by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT&#039;&#039;&#039; ► Set the third party type by default (3 = customer &amp;amp; prospect / 2 = prospect / 1 = customer )&lt;br /&gt;
*&#039;&#039;&#039;CONTACT_DISABLE_PERSONALINFO&#039;&#039;&#039; ► Disable Personal data on contact page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_WORKFORCE&#039;&#039;&#039; ► Disable work force selector on society page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SHOW_VAT_IN_LIST&#039;&#039;&#039; ► display VAT number in combo list of thirdparties ► (V15+)&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_CREATE_CONTACT&#039;&#039;&#039; ► When set, a contact is created at the creation of an individual third party ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SUPPORT_SHARED_CONTACT_BETWEEN_THIRDPARTIES&#039;&#039;&#039; ► Able to share contact between several third parties&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Ticket Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TICKET_SHOW_MESSAGES_ON_CARD&#039;&#039;&#039; ►Display all ticket related messages on the main ticket card. ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_ASSIGN_CONTRACT_CREATE&#039;&#039;&#039; ►Automatically create a contract linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_CREATE_FICHINTER_CREATE&#039;&#039;&#039; ►Automatically create an intervention linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_ASSIGN_USER_CREATE&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; (&amp;gt;= 21.0) 0=No auto assignement, 1=Auto assign current user if no user was set, 2=Auto assign current user even if another user was set.&lt;br /&gt;
*&#039;&#039;&#039;TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION&#039;&#039;&#039; ►Automatically check &amp;quot;notify thirdparty at creation&amp;quot; ( &amp;gt;=16)&lt;br /&gt;
*&#039;&#039;&#039;TICKETS_MESSAGE_FORCE_MAIL&#039;&#039;&#039; ► Pre check email sending on ticket message (&amp;gt;=15)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_SEND_PRIVATE_EMAIL ►&#039;&#039;&#039; Allow a private message to be sent by mail (&amp;gt;=17)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_LIMIT_VIEW_ASSIGNED_ONLY&#039;&#039;&#039;  &#039;&#039;&#039;►&#039;&#039;&#039; Only display tickets assigned to the user&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ADD_AUTHOR_AS_CONTACT&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; If set to 1: Automatically adds the author as internal contact. If set to 2: Automatically adds the author as external contact if external user. (&amp;gt;=20)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ASSIGN_CONTACT_TO_MESSAGE&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039; If known, the external contact is assigned to the message. (&amp;gt;=19)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_ALLOW_CLASSIFICATION_MODIFICATION_EVEN_IF_CLOSED&#039;&#039;&#039; &#039;&#039;&#039;►&#039;&#039;&#039;Allow modify ticket classification even if closed. (&amp;gt;=19)&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_TICKET_CLOSE_INTERVENTION&#039;&#039;&#039; ►On ticket close, automatically close an intervention linked to the ticket&lt;br /&gt;
*&#039;&#039;&#039;TICKET_INCLUDE_SUSPENDED_STATUS&#039;&#039;&#039; ► Use ticket suspended status (&amp;gt;=19)&lt;br /&gt;
&lt;br /&gt;
=VAT Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_ZERO_VAT_IN_REPORTS&#039;&#039;&#039; ► Include lines with VAT to 0% (for &amp;quot;auto-liquidation&amp;quot; in EEC) ► (v8.0.3+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Website Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_USE_WEBSITE_ACCOUNTS&#039;&#039;&#039; ► Add a table and a tab to manage some accounts for websites to a third party&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_ALLOW_OVERWRITE_GIT_SOURCE&#039;&#039;&#039; ► Add a button to export a website over the GIT sources&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_ADD_CSS_TO_BODY&#039;&#039;&#039; ► Add a CSS class to the body tag of websites&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=WYSIWYG Editor=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_DETAILS_FULL&#039;&#039;&#039; ► 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.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ALLOW_ANY_CONTENT&#039;&#039;&#039; ► 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.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_SCAYT_AUTOSTARTUP ►&#039;&#039;&#039; Allow to activate the SpellCheckAsYouType (SCAYT) plugins of CKEditor i.e an automatic spell checking. The value to activate this option is 1.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STRIPE_FORCE_VERSION&#039;&#039;&#039; ► Force the STRIPE version. For Example: &amp;quot;2019-09-09&amp;quot; (v11+)&lt;br /&gt;
*&#039;&#039;&#039;STRIPE_REUSE_EXISTING_INTENT_IF_FOUND&#039;&#039;&#039; ► With this, you will have idempotency key but the payment intention will be reuse and not Generate again (13+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=ClickToDial Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CLICKTODIAL_FORCENEWTARGET&#039;&#039;&#039; ► Open in new page.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=For SaaS / Cloud hosting integrators=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► 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 &#039;Scheduled Jobs&#039;). 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► 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)&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► To avoid bad use of the emailing module, it is recommended to set this option 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► If you have set a system limit on number of recipients on your system, you can set also this option to match the same value, so users will be informed: So &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; restricts sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for the same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include a ton of recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYDAY&#039;&#039;&#039; ► This is a limit of number of emails, an instance can send. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► 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 &#039;&#039;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)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE&#039;&#039;&#039; ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock and remove the upgrade.unlock so the administration tools like install.php, upgrade.php and repair.php can&#039;t be used on your customer instance (until the install.lock file is deleted or the upgrade.unlock file is created).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (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:&lt;br /&gt;
**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.&lt;br /&gt;
**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 &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_PING_OK_ID&#039;&#039;&#039; ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILECHECK_LOCAL_SUFFIX&#039;&#039;&#039; and &#039;&#039;&#039;MAIN_FILECHECK_LOCAL_EXT&#039;&#039;&#039; ► 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 &amp;quot;&#039;&#039;&#039;-mysaassolution&#039;&#039;&#039;&amp;quot;. So, when the user will use the file integrity tool, the default file to check for signature will be &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml&#039;&#039;&#039;&amp;quot; instead of &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2.xml&#039;&#039;&#039;&amp;quot;. All you have to do is generate the signature file &#039;&#039;&#039;mysaassolution&#039;&#039;&#039; using the tool &#039;&#039;&#039;build/generate_filelist_xml.php&#039;&#039;&#039; 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 &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml.zip&#039;&#039;&#039;&amp;quot;, you can set the constant MAIN_FILECHECK_LOCAL_EXT to &#039;.zip&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP&#039;&#039;&#039; ► Set to 1 by default (so warning is hidden). You can set it to 0 to show a warning to encourage admin to set its own SMTP service.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_SENDMODE_password&#039;&#039;&#039; ► To force the mode to send the email on the &amp;quot;password forgotten&amp;quot; page. So you can decide to use php mail or SMTP method for this specific use case.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &amp;lt; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_UPGRADE_REDIRECT_ON_LEVEL_3_CHANGE&#039;&#039;&#039; ► The page to make the migration is not shown automatically when you deploy files of version X.Y.Z+delta over an  installation with a database version X.Y.Z. The upgrade page will be shown automatically only if there is a change on value of X or Y in version.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SYSLOG_DISABLE_LOGHANDLER_SYSLOG&#039;&#039;&#039; ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER&#039;&#039;&#039; ► Put here a text or a translation key of a text to show when the user will use the feature &amp;quot;Deploy&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63636</id>
		<title>Extrafield Champ Calculé</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63636"/>
		<updated>2025-07-01T13:07:35Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Afficher le stock réel d&amp;#039;un produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;PAGE EN COURS  D ECRITURE&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
=Principe=&lt;br /&gt;
&lt;br /&gt;
Vous pouvez entrer ici une formule utilisant les propriétés objet ou tout code PHP pour obtenir des valeurs dynamiques. Vous pouvez utiliser toute formule compatible PHP, incluant l&#039;opérateur conditionnel &amp;quot;?&amp;quot;, et les objets globaux : $db, $conf, $langs, $mysoc, $user, $objectoffield ($object avant la V17).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] depuis la V17 il ne faut plus utiliser $object/$obj mais $objectoffield&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Seulement quelques propriétés de l&#039;objet $objectoffield pourraient être disponibles. Si vous avez besoin de propriétés non chargées, créez vous même une instance de l&#039;objet dans votre formule, comme dans le deuxième exemple.&lt;br /&gt;
Utiliser un champs calculé signifie que vous ne pouvez pas entrer vous même toute valeur à partir de l&#039;interface. Aussi, s&#039;il y a une erreur de syntaxe, la formule pourrait ne rien retourner.&lt;br /&gt;
&lt;br /&gt;
Exemple de formule:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$objectoffield-&amp;gt;id &amp;lt; 10 ? round($objectoffield-&amp;gt;id / 2, 2) : ($objectoffield-&amp;gt;id + 2 * $user-&amp;gt;id) * (int) substr($mysoc-&amp;gt;zip, 1, 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour recharger l&#039;objet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id)) ? $reloadedobj-&amp;gt;array_options[&#039;options_extrafieldkey&#039;] * $reloadedobj-&amp;gt;capital / 5 : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Un autre exemple de formule pour forcer le rechargement d&#039;un objet et de son objet parent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Task($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id) &amp;gt; 0) &amp;amp;&amp;amp; ($secondloadedobj = new Project($db)) &amp;amp;&amp;amp; ($secondloadedobj-&amp;gt;fetch($reloadedobj-&amp;gt;fk_project) &amp;gt; 0)) ? $secondloadedobj-&amp;gt;ref : &#039;Objet parent projet non trouvé&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type de champ extrafield utilisable=&lt;br /&gt;
&lt;br /&gt;
Numerique Entier&lt;br /&gt;
Decimale&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Date/heure &lt;br /&gt;
&lt;br /&gt;
Prix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=propriétés d  objet utilisable=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;width:800px;&amp;quot; |MODULE PRODUIT  OBJECT PRODUIT/SERVICE&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |NOM DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |TYPE DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:400px;&amp;quot; |CALCULABLE ?&lt;br /&gt;
|-&lt;br /&gt;
|PRIX&lt;br /&gt;
|Decimale&lt;br /&gt;
|OUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise En Application=&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple addition&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple Multiplication&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple subtraction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Afficher l&#039;adresse d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;address: &#039; &#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le champ complémentaire d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher la balance d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? $ret[&#039;opened&#039;]: 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le nombre de facture ouvertes d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? sizeof($ret[&#039;refsopened&#039;]): 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le champ personnalisé d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le stock réel d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt; stock_reel : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63635</id>
		<title>Extrafield Champ Calculé</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63635"/>
		<updated>2025-07-01T13:05:51Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Afficher le champ personnalisé d&amp;#039;un produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;PAGE EN COURS  D ECRITURE&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
=Principe=&lt;br /&gt;
&lt;br /&gt;
Vous pouvez entrer ici une formule utilisant les propriétés objet ou tout code PHP pour obtenir des valeurs dynamiques. Vous pouvez utiliser toute formule compatible PHP, incluant l&#039;opérateur conditionnel &amp;quot;?&amp;quot;, et les objets globaux : $db, $conf, $langs, $mysoc, $user, $objectoffield ($object avant la V17).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] depuis la V17 il ne faut plus utiliser $object/$obj mais $objectoffield&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Seulement quelques propriétés de l&#039;objet $objectoffield pourraient être disponibles. Si vous avez besoin de propriétés non chargées, créez vous même une instance de l&#039;objet dans votre formule, comme dans le deuxième exemple.&lt;br /&gt;
Utiliser un champs calculé signifie que vous ne pouvez pas entrer vous même toute valeur à partir de l&#039;interface. Aussi, s&#039;il y a une erreur de syntaxe, la formule pourrait ne rien retourner.&lt;br /&gt;
&lt;br /&gt;
Exemple de formule:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$objectoffield-&amp;gt;id &amp;lt; 10 ? round($objectoffield-&amp;gt;id / 2, 2) : ($objectoffield-&amp;gt;id + 2 * $user-&amp;gt;id) * (int) substr($mysoc-&amp;gt;zip, 1, 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour recharger l&#039;objet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id)) ? $reloadedobj-&amp;gt;array_options[&#039;options_extrafieldkey&#039;] * $reloadedobj-&amp;gt;capital / 5 : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Un autre exemple de formule pour forcer le rechargement d&#039;un objet et de son objet parent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Task($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id) &amp;gt; 0) &amp;amp;&amp;amp; ($secondloadedobj = new Project($db)) &amp;amp;&amp;amp; ($secondloadedobj-&amp;gt;fetch($reloadedobj-&amp;gt;fk_project) &amp;gt; 0)) ? $secondloadedobj-&amp;gt;ref : &#039;Objet parent projet non trouvé&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type de champ extrafield utilisable=&lt;br /&gt;
&lt;br /&gt;
Numerique Entier&lt;br /&gt;
Decimale&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Date/heure &lt;br /&gt;
&lt;br /&gt;
Prix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=propriétés d  objet utilisable=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;width:800px;&amp;quot; |MODULE PRODUIT  OBJECT PRODUIT/SERVICE&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |NOM DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |TYPE DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:400px;&amp;quot; |CALCULABLE ?&lt;br /&gt;
|-&lt;br /&gt;
|PRIX&lt;br /&gt;
|Decimale&lt;br /&gt;
|OUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise En Application=&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple addition&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple Multiplication&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple subtraction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Afficher l&#039;adresse d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;address: &#039; &#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le champ complémentaire d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher la balance d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? $ret[&#039;opened&#039;]: 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le nombre de facture ouvertes d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? sizeof($ret[&#039;refsopened&#039;]): 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le champ personnalisé d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le stock réel d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product)&amp;gt; 0)) ? $reloadedobj-&amp;gt; stock_reel : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63634</id>
		<title>Extrafield Champ Calculé</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63634"/>
		<updated>2025-07-01T12:32:15Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Afficher le champ personnalisé d&amp;#039;un produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;PAGE EN COURS  D ECRITURE&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
=Principe=&lt;br /&gt;
&lt;br /&gt;
Vous pouvez entrer ici une formule utilisant les propriétés objet ou tout code PHP pour obtenir des valeurs dynamiques. Vous pouvez utiliser toute formule compatible PHP, incluant l&#039;opérateur conditionnel &amp;quot;?&amp;quot;, et les objets globaux : $db, $conf, $langs, $mysoc, $user, $objectoffield ($object avant la V17).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] depuis la V17 il ne faut plus utiliser $object/$obj mais $objectoffield&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Seulement quelques propriétés de l&#039;objet $objectoffield pourraient être disponibles. Si vous avez besoin de propriétés non chargées, créez vous même une instance de l&#039;objet dans votre formule, comme dans le deuxième exemple.&lt;br /&gt;
Utiliser un champs calculé signifie que vous ne pouvez pas entrer vous même toute valeur à partir de l&#039;interface. Aussi, s&#039;il y a une erreur de syntaxe, la formule pourrait ne rien retourner.&lt;br /&gt;
&lt;br /&gt;
Exemple de formule:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$objectoffield-&amp;gt;id &amp;lt; 10 ? round($objectoffield-&amp;gt;id / 2, 2) : ($objectoffield-&amp;gt;id + 2 * $user-&amp;gt;id) * (int) substr($mysoc-&amp;gt;zip, 1, 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour recharger l&#039;objet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id)) ? $reloadedobj-&amp;gt;array_options[&#039;options_extrafieldkey&#039;] * $reloadedobj-&amp;gt;capital / 5 : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Un autre exemple de formule pour forcer le rechargement d&#039;un objet et de son objet parent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Task($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id) &amp;gt; 0) &amp;amp;&amp;amp; ($secondloadedobj = new Project($db)) &amp;amp;&amp;amp; ($secondloadedobj-&amp;gt;fetch($reloadedobj-&amp;gt;fk_project) &amp;gt; 0)) ? $secondloadedobj-&amp;gt;ref : &#039;Objet parent projet non trouvé&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type de champ extrafield utilisable=&lt;br /&gt;
&lt;br /&gt;
Numerique Entier&lt;br /&gt;
Decimale&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Date/heure &lt;br /&gt;
&lt;br /&gt;
Prix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=propriétés d  objet utilisable=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;width:800px;&amp;quot; |MODULE PRODUIT  OBJECT PRODUIT/SERVICE&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |NOM DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |TYPE DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:400px;&amp;quot; |CALCULABLE ?&lt;br /&gt;
|-&lt;br /&gt;
|PRIX&lt;br /&gt;
|Decimale&lt;br /&gt;
|OUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise En Application=&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple addition&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple Multiplication&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple subtraction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Afficher l&#039;adresse d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;address: &#039; &#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le champ complémentaire d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher la balance d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? $ret[&#039;opened&#039;]: 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le nombre de facture ouvertes d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? sizeof($ret[&#039;refsopened&#039;]): 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le champ personnalisé d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product)&amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le stock réel d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product)&amp;gt; 0)) ? $reloadedobj-&amp;gt; stock_reel : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63633</id>
		<title>Extrafield Champ Calculé</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63633"/>
		<updated>2025-07-01T12:31:46Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Afficher le stock réel d&amp;#039;un produit */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;PAGE EN COURS  D ECRITURE&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
=Principe=&lt;br /&gt;
&lt;br /&gt;
Vous pouvez entrer ici une formule utilisant les propriétés objet ou tout code PHP pour obtenir des valeurs dynamiques. Vous pouvez utiliser toute formule compatible PHP, incluant l&#039;opérateur conditionnel &amp;quot;?&amp;quot;, et les objets globaux : $db, $conf, $langs, $mysoc, $user, $objectoffield ($object avant la V17).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] depuis la V17 il ne faut plus utiliser $object/$obj mais $objectoffield&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Seulement quelques propriétés de l&#039;objet $objectoffield pourraient être disponibles. Si vous avez besoin de propriétés non chargées, créez vous même une instance de l&#039;objet dans votre formule, comme dans le deuxième exemple.&lt;br /&gt;
Utiliser un champs calculé signifie que vous ne pouvez pas entrer vous même toute valeur à partir de l&#039;interface. Aussi, s&#039;il y a une erreur de syntaxe, la formule pourrait ne rien retourner.&lt;br /&gt;
&lt;br /&gt;
Exemple de formule:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$objectoffield-&amp;gt;id &amp;lt; 10 ? round($objectoffield-&amp;gt;id / 2, 2) : ($objectoffield-&amp;gt;id + 2 * $user-&amp;gt;id) * (int) substr($mysoc-&amp;gt;zip, 1, 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour recharger l&#039;objet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id)) ? $reloadedobj-&amp;gt;array_options[&#039;options_extrafieldkey&#039;] * $reloadedobj-&amp;gt;capital / 5 : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Un autre exemple de formule pour forcer le rechargement d&#039;un objet et de son objet parent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Task($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id) &amp;gt; 0) &amp;amp;&amp;amp; ($secondloadedobj = new Project($db)) &amp;amp;&amp;amp; ($secondloadedobj-&amp;gt;fetch($reloadedobj-&amp;gt;fk_project) &amp;gt; 0)) ? $secondloadedobj-&amp;gt;ref : &#039;Objet parent projet non trouvé&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type de champ extrafield utilisable=&lt;br /&gt;
&lt;br /&gt;
Numerique Entier&lt;br /&gt;
Decimale&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Date/heure &lt;br /&gt;
&lt;br /&gt;
Prix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=propriétés d  objet utilisable=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;width:800px;&amp;quot; |MODULE PRODUIT  OBJECT PRODUIT/SERVICE&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |NOM DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |TYPE DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:400px;&amp;quot; |CALCULABLE ?&lt;br /&gt;
|-&lt;br /&gt;
|PRIX&lt;br /&gt;
|Decimale&lt;br /&gt;
|OUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise En Application=&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple addition&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple Multiplication&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple subtraction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Afficher l&#039;adresse d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;address: &#039; &#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le champ complémentaire d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher la balance d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? $ret[&#039;opened&#039;]: 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le nombre de facture ouvertes d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? sizeof($ret[&#039;refsopened&#039;]): 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le champ personnalisé d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le stock réel d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product)&amp;gt; 0)) ? $reloadedobj-&amp;gt; stock_reel : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63580</id>
		<title>Extrafield Champ Calculé</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Extrafield_Champ_Calcul%C3%A9&amp;diff=63580"/>
		<updated>2025-06-24T17:50:07Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Mise En Application */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
==&amp;lt;span style=&amp;quot;color:red&amp;quot;&amp;gt;PAGE EN COURS  D ECRITURE&amp;lt;/span&amp;gt;==&lt;br /&gt;
&lt;br /&gt;
=Principe=&lt;br /&gt;
&lt;br /&gt;
Vous pouvez entrer ici une formule utilisant les propriétés objet ou tout code PHP pour obtenir des valeurs dynamiques. Vous pouvez utiliser toute formule compatible PHP, incluant l&#039;opérateur conditionnel &amp;quot;?&amp;quot;, et les objets globaux : $db, $conf, $langs, $mysoc, $user, $objectoffield ($object avant la V17).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] depuis la V17 il ne faut plus utiliser $object/$obj mais $objectoffield&lt;br /&gt;
&lt;br /&gt;
ATTENTION : Seulement quelques propriétés de l&#039;objet $objectoffield pourraient être disponibles. Si vous avez besoin de propriétés non chargées, créez vous même une instance de l&#039;objet dans votre formule, comme dans le deuxième exemple.&lt;br /&gt;
Utiliser un champs calculé signifie que vous ne pouvez pas entrer vous même toute valeur à partir de l&#039;interface. Aussi, s&#039;il y a une erreur de syntaxe, la formule pourrait ne rien retourner.&lt;br /&gt;
&lt;br /&gt;
Exemple de formule:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
$objectoffield-&amp;gt;id &amp;lt; 10 ? round($objectoffield-&amp;gt;id / 2, 2) : ($objectoffield-&amp;gt;id + 2 * $user-&amp;gt;id) * (int) substr($mysoc-&amp;gt;zip, 1, 2)&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Exemple pour recharger l&#039;objet:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id)) ? $reloadedobj-&amp;gt;array_options[&#039;options_extrafieldkey&#039;] * $reloadedobj-&amp;gt;capital / 5 : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
Un autre exemple de formule pour forcer le rechargement d&#039;un objet et de son objet parent:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Task($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;id) &amp;gt; 0) &amp;amp;&amp;amp; ($secondloadedobj = new Project($db)) &amp;amp;&amp;amp; ($secondloadedobj-&amp;gt;fetch($reloadedobj-&amp;gt;fk_project) &amp;gt; 0)) ? $secondloadedobj-&amp;gt;ref : &#039;Objet parent projet non trouvé&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Type de champ extrafield utilisable=&lt;br /&gt;
&lt;br /&gt;
Numerique Entier&lt;br /&gt;
Decimale&lt;br /&gt;
&lt;br /&gt;
Date&lt;br /&gt;
Date/heure &lt;br /&gt;
&lt;br /&gt;
Prix&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=propriétés d  objet utilisable=&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+ style=&amp;quot;width:800px;&amp;quot; |MODULE PRODUIT  OBJECT PRODUIT/SERVICE&lt;br /&gt;
|-&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |NOM DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:200px;&amp;quot; |TYPE DE LA PROPRIETE&lt;br /&gt;
! style=&amp;quot;width:400px;&amp;quot; |CALCULABLE ?&lt;br /&gt;
|-&lt;br /&gt;
|PRIX&lt;br /&gt;
|Decimale&lt;br /&gt;
|OUI&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Mise En Application=&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple addition&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple Multiplication&lt;br /&gt;
&lt;br /&gt;
$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx1&#039;]+$objectoffield-&amp;gt;array_options[&#039;options_xxxxxxxx2&#039;] Simple subtraction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Afficher l&#039;adresse d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;address: &#039; &#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le champ complémentaire d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;socid) &amp;gt; 0)) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;-1&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher la balance d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? $ret[&#039;opened&#039;]: 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
==Afficher le nombre de facture ouvertes d&#039;un tiers==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Societe($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetchNoCompute($objectoffield-&amp;gt;rowid)) &amp;amp;&amp;amp; ( $ret=$reloadedobj-&amp;gt;getOutStandingBills())&lt;br /&gt;
) ? sizeof($ret[&#039;refsopened&#039;]): 666&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le champ personnalisé d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt;array_options[&#039;options_xxxxxxxxx&#039;] : &#039;Not found&#039;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==Afficher le stock réel d&#039;un produit==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
(($reloadedobj = new Product($db)) &amp;amp;&amp;amp; ($reloadedobj-&amp;gt;fetch($objectoffield-&amp;gt;fk_product))) ? $reloadedobj-&amp;gt; stock_reel : ‘Not found’&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&amp;diff=62251</id>
		<title>Système de substitution de variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&amp;diff=62251"/>
		<updated>2025-01-23T10:46:21Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Variables de substitution disponibles */  précisions pour les emailings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Variable_substitution_system --&amp;gt;&lt;br /&gt;
[[en:Variable_substitution_system]]&lt;br /&gt;
[[zh:变量替换系统]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
&lt;br /&gt;
Les variables de substitutions sont des mots clés qui peuvent être utilisés à de nombreux endroits dans Dolibarr pour être remplacés ultérieurement.&lt;br /&gt;
On s&#039;en sert par exemple dans les modèles d&#039;emails ou de texte de configuration pour qu&#039;un texte soit personnalisé au moment de son affichage ou de son envoi pour les emails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Variables de substitution disponibles=&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Valeur Affichée&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SIGNATURE__&lt;br /&gt;
|Ma super signature&lt;br /&gt;
|Signature de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LOGIN__&lt;br /&gt;
|doli9&lt;br /&gt;
|Login de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LASTNAME__&lt;br /&gt;
|Admin&lt;br /&gt;
|Nom de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FIRSTNAME__&lt;br /&gt;
|Super&lt;br /&gt;
|Prénom de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FULLNAME__&lt;br /&gt;
|SuperAdmin&lt;br /&gt;
|Nom complet de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SUPERVISOR_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du superviseur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_REMOTE_IP__&lt;br /&gt;
|xxx.xxx.xxx.xxx&lt;br /&gt;
|IP de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_NAME__&lt;br /&gt;
|Ma petite entreprise&lt;br /&gt;
|Nom de l&#039;entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_EMAIL__&lt;br /&gt;
|contact@monentreprise.fr&lt;br /&gt;
|Adresse email de contact de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID1__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 1 (TIN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID2__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 2 (PAN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID3__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 3 (SRVC TAX)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID4__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID5__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID6__&lt;br /&gt;
|FR12345678&lt;br /&gt;
|Numéro de TVA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CAPITAL__&lt;br /&gt;
|10000&lt;br /&gt;
|Capital de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_FULLADDRESS__&lt;br /&gt;
|12 rue laurent 75001 Paris France&lt;br /&gt;
|Adresse complète de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ADDRESS__&lt;br /&gt;
|12 rue laurent&lt;br /&gt;
|Rue et numéro de rue de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ZIP__&lt;br /&gt;
|75001&lt;br /&gt;
|Code postale de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_TOWN__&lt;br /&gt;
|Paris&lt;br /&gt;
|Ville de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY__&lt;br /&gt;
|France&lt;br /&gt;
|Pays de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|Identifiant du pays de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CURRENCY_CODE__&lt;br /&gt;
|EUR&lt;br /&gt;
|Devise principale de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID de l&#039;object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_CLIENT__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence client de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_SUPPLIER__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence fournisseur de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX__&lt;br /&gt;
|?????&lt;br /&gt;
|Attribut supplémentaire de l&#039;object (XXX doit être remplacé par le code de l&#039;attribut)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME__&lt;br /&gt;
|MonClient&lt;br /&gt;
|Nom du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME_ALIAS__&lt;br /&gt;
|MonC&lt;br /&gt;
|Alias du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_EMAIL__&lt;br /&gt;
|contact@monclient.com&lt;br /&gt;
|Adresse email du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_NAME_CUSTOMER__&lt;br /&gt;
|civilité prénom nom&lt;br /&gt;
|Genre prénom et nom du contact de type &#039;contact suivi proposition&#039; d&#039;une proposition commerciale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_REF__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_NAME__&lt;br /&gt;
|MonProjet&lt;br /&gt;
|Nom du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATE__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date la plus tardive prévue pour le démarrage du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATETIME__&lt;br /&gt;
|1/1/2020 13h&lt;br /&gt;
|Date et heure la plus tardive prévue pour le démarrage du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATE__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date la plus proche pour l&#039;expiration du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATETIME__&lt;br /&gt;
|1/1/2020 13h&lt;br /&gt;
|Date et heure la plus proche pour l&#039;expiration du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_URL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://mondoli.com/payment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Adresse du paiement en ligne (si applicable)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_TEXT_AND_URL__&lt;br /&gt;
|Cliquez pour payer&lt;br /&gt;
|Texte et adresse du paiement en ligne (si applicable)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement (si la clé n&#039;est pas unique par enregistrement)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_MEMBER__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement de l&#039;abonnement d&#039;un membre (une clé par membre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_ORDER__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;une commande&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_INVOICE__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;une facture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_CONTRACTLINE__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;un contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_PROPOSAL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://mondoli.com/devis.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;un devis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_ORDER__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondoli.com/commande.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;une commande&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_INVOICE__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondoli.com/facture.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;une facture. Pour cela, il faut que le paramètre INVOICE_ALLOW_EXTERNAL_DOWNLOAD soit configuré pour permettre de générer le lien.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUM__&lt;br /&gt;
|XXXXX&lt;br /&gt;
|Numéro de suivi du colis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUMURL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://trackingcompagny.com/XXXXX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de suivi du colis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_YMD__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date d&#039;aujourd&#039;hui&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DUE_YMD__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date d&#039;échéance&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT__ -&amp;gt;&lt;br /&gt;
|1243,34&lt;br /&gt;
|Montant total&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX__ -&amp;gt; __AMOUNT_EXCL_TAX__&lt;br /&gt;
|1234,45&lt;br /&gt;
|Montant total hors taxe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT__ -&amp;gt; __AMOUNT_VAT__&lt;br /&gt;
|123,4&lt;br /&gt;
|Montant TVA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_FORMATED__&lt;br /&gt;
|1243,34 €&lt;br /&gt;
|Montant total formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX_FORMATED__&lt;br /&gt;
|1234,45 €&lt;br /&gt;
|Montant total hors taxe formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT_FORMATED__ -&amp;gt; __AMOUNT_VAT_FORMATED__&lt;br /&gt;
|123,4 €&lt;br /&gt;
|Montant TVA formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY__&lt;br /&gt;
|12&lt;br /&gt;
|Jours actuel (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT__&lt;br /&gt;
|Mardi&lt;br /&gt;
|Jours actuel (texte)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_SHORT__&lt;br /&gt;
|Ma&lt;br /&gt;
|Jours actuel en texte abrégé&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Jours actuel en texte en une lettre&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH__&lt;br /&gt;
|3&lt;br /&gt;
|Mois actuel (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT__&lt;br /&gt;
|Mars&lt;br /&gt;
|Mois actuel (texte)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_SHORT__&lt;br /&gt;
|Ma.&lt;br /&gt;
|Mois actuel en texte abrégé&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Mois actuel en texte en une lettre&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__YEAR__&lt;br /&gt;
|2020&lt;br /&gt;
|Année actuelle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_DAY__&lt;br /&gt;
|11&lt;br /&gt;
|Hier (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_MONTH__&lt;br /&gt;
|2&lt;br /&gt;
|Mois précédent (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_YEAR__&lt;br /&gt;
|2019&lt;br /&gt;
|Année précédente&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_DAY__&lt;br /&gt;
|13&lt;br /&gt;
|Demain (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_MONTH__&lt;br /&gt;
|4&lt;br /&gt;
|Mois prochain&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_YEAR__&lt;br /&gt;
|2021&lt;br /&gt;
|Année prochaine&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DOL_MAIN_URL_ROOT__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondolibarr.fr/htdocs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Adresse de mon dolibarr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__(Clédetraduction)__&lt;br /&gt;
|Clé traduite&lt;br /&gt;
|N&#039;importe qu&#039;elle clé de traduction&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__[constante]__&lt;br /&gt;
|Valeure de la constante&lt;br /&gt;
|N&#039;importe qu&#039;elle constante&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DELIVERY__&lt;br /&gt;
|21/09/1974&lt;br /&gt;
|Date de livraison de la Propal&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_NAME_XXX__&lt;br /&gt;
|Mr T&lt;br /&gt;
|Civilité/titre prénom et nom du contact&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_LASTNAME_XXX__&lt;br /&gt;
|Nom patronymique du contact&lt;br /&gt;
|Nom du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_FIRSTNAME_XXX__&lt;br /&gt;
|Prénom du contact&lt;br /&gt;
|Prénom du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_TITLE_XXX__&lt;br /&gt;
|Titre de civilité du contact&lt;br /&gt;
|Titre/civilité du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__UNSUBSCRIBE__&lt;br /&gt;
|&lt;br /&gt;
|Lien de désinscription dans les emailings. Insère le terme &amp;quot;Désinscription&amp;quot; dans l&#039;emailing avec un lien pour enregistrer une désinscription. Le texte peut être modifié via les traductions des clés &lt;br /&gt;
- MailUnsubcribe = la mention de désinscription insérée dans l&#039;email&lt;br /&gt;
&lt;br /&gt;
- YourMailUnsubcribeOK = la mention qui s&#039;affiche sur la page web de confirmation de la désinscription&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CHECK_READ__&lt;br /&gt;
|&lt;br /&gt;
|Dans les emailings, insère une fonction permettant le comptage des emails lus (en anglais &amp;quot;blank image with a callback URL to Dolibarr (/public/emailing/mailing-read.php?tag=)&amp;quot;&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Variables de substitution Personnalisées de modules externes=&lt;br /&gt;
&lt;br /&gt;
Un module peut ajouter ses propres variables de substitutions.&lt;br /&gt;
Pour cela, le module doit embarquer un fichier avec le nom  &#039;&#039;&#039;monmodule/core/substitutions/functions_monmodule.lib.php&#039;&#039;&#039; et en définissant le&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$this-&amp;gt;module_parts[&#039;substitutions&#039;] = 1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
dans le descripteur de module.&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_EMailing&amp;diff=62250</id>
		<title>Module EMailing</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_EMailing&amp;diff=62250"/>
		<updated>2025-01-23T10:23:41Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Setup */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Mailing]]&lt;br /&gt;
[[es:Módulo_Mailing]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModEN}}&lt;br /&gt;
{{BasculeDevUserEn|&lt;br /&gt;
name=Mailing|&lt;br /&gt;
num=22|&lt;br /&gt;
devdoc=[[Module EMailing (developer)]]|&lt;br /&gt;
userdoc=This page}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This module permits to send mass emailing to your customers, suppliers, prospects, contacts, members, or users.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
{{NoInstallModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
{{ActivationModuleEn}}&lt;br /&gt;
&lt;br /&gt;
Check also that Dolibarr setup to send mails is ok: [[Setup EMails]]&lt;br /&gt;
&lt;br /&gt;
Check also the setup options available in [[Setup Other|Setup Other, for the emailing module]]. Amongst others, you can set the number of emails to be sent from your web interface with MAILING_LIMIT_SENDBYWEB.&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Note: If a constant MAILING_NO_USING_PHPMAIL is set to 1 in Home - Setup - Other, it is only possible to send emailing when the send mode in setup is not on &amp;quot;PHP Mail&amp;quot; but on another mode (like &amp;quot;SMTPs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
Mass E-Mailing features are available from menus (if [[Module EMailing]] has been activated).&lt;br /&gt;
Menu link can be found in menu &amp;quot;&#039;&#039;Tools&#039;&#039;&amp;quot; with default menu manager &amp;quot;&#039;&#039;Eldy&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Life cycle / Business rules==&lt;br /&gt;
The full process is this one:&lt;br /&gt;
&lt;br /&gt;
- You create an emailing with a title, a topic and an email sender (For this, click on menu &amp;quot;Tools - EMailings - New emailing&amp;quot;, input the content of the email with substitue variables and click on &amp;quot;Create emailing&amp;quot; button. The other solution is to go on an existing emailing and click &amp;quot;Clone&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
- Then you choose the targets, among predefined dynamic lists from your Dolibarr data or from external files (For this, go on tab &amp;quot;Recipients&amp;quot; and click on button &amp;quot;Add&amp;quot; of the predefined lists you want).&lt;br /&gt;
&lt;br /&gt;
- You can modify this list, by removing targets for example, orcadding targets from dufferent sources.&lt;br /&gt;
&lt;br /&gt;
- The user responsible to validate emailing checks content and recipients. He can do a test to its own e-mail address to see the result inside its email software.&lt;br /&gt;
If results looks good, he set the status of e-mailing to &#039;&#039;validated&#039;&#039; (For this, click on button &amp;quot;Validate&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
- The mass e-mail sending is done then from:&lt;br /&gt;
&lt;br /&gt;
*the web application screen. In such a case, there is a limit in number of emails sent in one step, 50 by defaut in most cases. If you have more than 50 recipients, you can submit the emailing from screen a second time and the application will automatically send emails to the 50 next recipients. Repeat until all recipients are addressed.&lt;br /&gt;
*or from the command line with script [[Script mailing-send.php]].&lt;br /&gt;
&lt;br /&gt;
Only an emailing with the status &#039;&#039;&#039;Validated&#039;&#039;&#039; can be sent by the script. See page [[Script mailing-send.php]] for more information on how to launch it from command line.&lt;br /&gt;
&lt;br /&gt;
- The global status for e-mailing and send result for each recipient will be updated and visible.&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_EMailing&amp;diff=62249</id>
		<title>Module EMailing</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_EMailing&amp;diff=62249"/>
		<updated>2025-01-23T10:20:49Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Setup */ un ajout sur la configuration possible via &amp;quot;other setup&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Mailing]]&lt;br /&gt;
[[es:Módulo_Mailing]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModEN}}&lt;br /&gt;
{{BasculeDevUserEn|&lt;br /&gt;
name=Mailing|&lt;br /&gt;
num=22|&lt;br /&gt;
devdoc=[[Module EMailing (developer)]]|&lt;br /&gt;
userdoc=This page}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This module permits to send mass emailing to your customers, suppliers, prospects, contacts, members, or users.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
{{NoInstallModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
{{ActivationModuleEn}}&lt;br /&gt;
&lt;br /&gt;
Check also that Dolibarr setup to send mails is ok: [[Setup EMails]]&lt;br /&gt;
&lt;br /&gt;
Check also the setup options available in [[Setup Other|Setup Other, for the emailing module]]. Amongst others, you can set the number of emails to be send for your web interface with MAILING_LIMIT_SENDBYWEB.&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Note: If a constant MAILING_NO_USING_PHPMAIL is set to 1 in Home - Setup - Other, it is only possible to send emailing when the send mode in setup is not on &amp;quot;PHP Mail&amp;quot; but on another mode (like &amp;quot;SMTPs&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
=Usage=&lt;br /&gt;
Mass E-Mailing features are available from menus (if [[Module EMailing]] has been activated).&lt;br /&gt;
Menu link can be found in menu &amp;quot;&#039;&#039;Tools&#039;&#039;&amp;quot; with default menu manager &amp;quot;&#039;&#039;Eldy&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
==Life cycle / Business rules==&lt;br /&gt;
The full process is this one:&lt;br /&gt;
&lt;br /&gt;
- You create an emailing with a title, a topic and an email sender (For this, click on menu &amp;quot;Tools - EMailings - New emailing&amp;quot;, input the content of the email with substitue variables and click on &amp;quot;Create emailing&amp;quot; button. The other solution is to go on an existing emailing and click &amp;quot;Clone&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
- Then you choose the targets, among predefined dynamic lists from your Dolibarr data or from external files (For this, go on tab &amp;quot;Recipients&amp;quot; and click on button &amp;quot;Add&amp;quot; of the predefined lists you want).&lt;br /&gt;
&lt;br /&gt;
- You can modify this list, by removing targets for example, orcadding targets from dufferent sources.&lt;br /&gt;
&lt;br /&gt;
- The user responsible to validate emailing checks content and recipients. He can do a test to its own e-mail address to see the result inside its email software.&lt;br /&gt;
If results looks good, he set the status of e-mailing to &#039;&#039;validated&#039;&#039; (For this, click on button &amp;quot;Validate&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
- The mass e-mail sending is done then from:&lt;br /&gt;
&lt;br /&gt;
*the web application screen. In such a case, there is a limit in number of emails sent in one step, 50 by defaut in most cases. If you have more than 50 recipients, you can submit the emailing from screen a second time and the application will automatically send emails to the 50 next recipients. Repeat until all recipients are addressed.&lt;br /&gt;
*or from the command line with script [[Script mailing-send.php]].&lt;br /&gt;
&lt;br /&gt;
Only an emailing with the status &#039;&#039;&#039;Validated&#039;&#039;&#039; can be sent by the script. See page [[Script mailing-send.php]] for more information on how to launch it from command line.&lt;br /&gt;
&lt;br /&gt;
- The global status for e-mailing and send result for each recipient will be updated and visible.&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Variable_substitution_system&amp;diff=62244</id>
		<title>Variable substitution system</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Variable_substitution_system&amp;diff=62244"/>
		<updated>2025-01-22T14:58:14Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* For Emails */ Précisions sur les variables __UNSUBSCRIBE__ et __CHECK_READ__ spécifiques aux emailings&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Système_de_substitution_de_variables]]&lt;br /&gt;
[[zh:变量替换系统]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
&lt;br /&gt;
Substitution variables are keywords that can be used in many places in Dolibarr to be replaced later.&lt;br /&gt;
It is used for example in the templates of emails or configuration text for a text to be personalized when it is displayed or sent for emails.&lt;br /&gt;
&lt;br /&gt;
These variables will be replaced only if the corresponding data exist on the object (for exemple for a third party mail, the online payement URL doesn&#039;t exist and will not be replaced)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Substitution variables available=&lt;br /&gt;
&lt;br /&gt;
==Dolibarr User==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SIGNATURE__&lt;br /&gt;
|My beautiful signature&lt;br /&gt;
|User signature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SIGNATURE__&lt;br /&gt;
|My beautiful signature&lt;br /&gt;
|User signature&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_ID__&lt;br /&gt;
|1&lt;br /&gt;
|User ID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LOGIN__&lt;br /&gt;
|doli9&lt;br /&gt;
|User Login&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LASTNAME__&lt;br /&gt;
|Admin&lt;br /&gt;
|User last name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FIRSTNAME__&lt;br /&gt;
|Super&lt;br /&gt;
|User first name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FULLNAME__&lt;br /&gt;
|SuperAdmin&lt;br /&gt;
|User full name&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SUPERVISOR_ID__&lt;br /&gt;
|1&lt;br /&gt;
|User supervisor ID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_REMOTE_IP__&lt;br /&gt;
|xxx.xxx.xxx.xxx&lt;br /&gt;
|User remote IP&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==My Company==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_NAME__&lt;br /&gt;
|My little company&lt;br /&gt;
|Name of the company&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_EMAIL__&lt;br /&gt;
|contact@mycompany.com&lt;br /&gt;
|My company contact email&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PHONE__&lt;br /&gt;
|0123456789&lt;br /&gt;
|My company phone number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_FAX__&lt;br /&gt;
|0123456789&lt;br /&gt;
|My company fax number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID1__&lt;br /&gt;
|12345678&lt;br /&gt;
|Prof Id 1 (TIN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID2__&lt;br /&gt;
|12345678&lt;br /&gt;
|Prof Id 2 (PAN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID3__&lt;br /&gt;
|12345678&lt;br /&gt;
|Prof Id 3 (SRVC TAX)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID4__&lt;br /&gt;
|12345678&lt;br /&gt;
|Prof Id 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID5__&lt;br /&gt;
|12345678&lt;br /&gt;
|Prof Id 5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID6__&lt;br /&gt;
|12345678&lt;br /&gt;
|VAT ID&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CAPITAL__&lt;br /&gt;
|10000&lt;br /&gt;
|Capital of the company&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_FULLADDRESS__&lt;br /&gt;
|21 Jump street 75500 MyTown India&lt;br /&gt;
|Full address of the company&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ADDRESS__&lt;br /&gt;
|21 Jump street&lt;br /&gt;
|address of the company&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ZIP__&lt;br /&gt;
|75500&lt;br /&gt;
|ZIP code of the company address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_TOWN__&lt;br /&gt;
|MyTown&lt;br /&gt;
|Town of the company address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY__&lt;br /&gt;
|India&lt;br /&gt;
|Country of the company address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|Country ID of the company address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY_CODE__&lt;br /&gt;
|1&lt;br /&gt;
|Country Code of the company address&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CURRENCY_CODE__&lt;br /&gt;
|EUR&lt;br /&gt;
|Main currency&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Object==&lt;br /&gt;
===Generic===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF__&lt;br /&gt;
|1234&lt;br /&gt;
|Reference of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_CLIENT__&lt;br /&gt;
|1234&lt;br /&gt;
|Customer reference of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_SUPPLIER__&lt;br /&gt;
|1234&lt;br /&gt;
|Supplier reference of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NOTE_PUBLIC__&lt;br /&gt;
|My Public note&lt;br /&gt;
|Object Public Note&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__NOTE_PRIVATE__&lt;br /&gt;
|My Private note&lt;br /&gt;
|Object Private Note&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DELIVERY__&lt;br /&gt;
|01/02/2021&lt;br /&gt;
|Delivery date&lt;br /&gt;
|V 13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Objects with amounts===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_YMD__&lt;br /&gt;
|1/1/2020&lt;br /&gt;
|Object date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DUE_YMD__&lt;br /&gt;
|1/1/2020&lt;br /&gt;
|Due date&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT__&lt;br /&gt;
|1243.34&lt;br /&gt;
|Amount&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TEXT__&lt;br /&gt;
|One thousand five hundred ...&lt;br /&gt;
|Amount in words&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TEXTCURRENCY__&lt;br /&gt;
|One thousand five hundred ...&lt;br /&gt;
|Amount in words with currency&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX__&lt;br /&gt;
|1234.45&lt;br /&gt;
|Amount without taxes&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT__&lt;br /&gt;
|123.4&lt;br /&gt;
|VAT amount&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT_TEXT__&lt;br /&gt;
|One thousand five hundred ...&lt;br /&gt;
|VAT Amount in words&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT_TEXTCURRENCY__&lt;br /&gt;
|One thousand five hundred ...&lt;br /&gt;
|VAT Amount in words with currency&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TAX2__&lt;br /&gt;
|123.4&lt;br /&gt;
|TAX2 amount&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TAX3__&lt;br /&gt;
|123.4&lt;br /&gt;
|TAX3 amount&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_FORMATED__&lt;br /&gt;
|1243.34 €&lt;br /&gt;
|Amount formated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX_FORMATED__&lt;br /&gt;
|1234.45 €&lt;br /&gt;
|Amount without taxes formated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT_FORMATED__&lt;br /&gt;
|123.4 €&lt;br /&gt;
|VAT amount formated&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TAX2_FORMATED__&lt;br /&gt;
|123.4 €&lt;br /&gt;
|TAX2 amount formated&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_TAX3_FORMATED__&lt;br /&gt;
|123.4 €&lt;br /&gt;
|TAX3 amount formated&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_MULTICURRENCY__&lt;br /&gt;
|1234.45 $&lt;br /&gt;
|Amount in Multicurrency&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_MULTICURRENCY_TEXT__&lt;br /&gt;
|One thousan five hundred ...&lt;br /&gt;
|Amount in Multicurrency in words&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_MULTICURRENCY_TEXTCURRENCY__&lt;br /&gt;
|One thousan five hundred ...&lt;br /&gt;
|Amount in Multicurrency in words with currency&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Member==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_ID__&lt;br /&gt;
|123&lt;br /&gt;
|Member ID&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_CIVILITY__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_FIRSTNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_LASTNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_FULLNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_COMPANY__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_ADDRESS__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_ZIP__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_TOWN__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_COUNTRY__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_EMAIL__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_BIRTH__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_PHOTO__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_LOGIN__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_PASSWORD__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_PHONE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_PHONEPRO__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_PHONEMOBILE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_TYPE__&lt;br /&gt;
|Member&lt;br /&gt;
|Type of member&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_FIRST_SUBSCRIPTION_DATE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_FIRST_SUBSCRIPTION_DATE_START__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_FIRST_SUBSCRIPTION_DATE_END__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_LAST_SUBSCRIPTION_DATE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_LAST_SUBSCRIPTION_DATE_START__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|-&lt;br /&gt;
|__MEMBER_LAST_SUBSCRIPTION_DATE_END__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V 13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Thirdparty==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|Third party ID of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME__&lt;br /&gt;
|MyCustomer&lt;br /&gt;
|Third party name of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME_ALIAS__&lt;br /&gt;
|MyC&lt;br /&gt;
|Third party name alias of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_CODE_CLIENT__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_CODE_FOURNISSEUR__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_EMAIL__&lt;br /&gt;
|contact@mycustomer.com&lt;br /&gt;
|Third party email of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_PHONE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_FAX__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_ADDRESS__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_ZIP__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_TOWN__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_COUNTRY_ID__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_COUNTRY_CODE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF1__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF2__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF3__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF4__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF5__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_IDPROF6__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_TVAINTRA__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NOTE_PUBLIC__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NOTE_PRIVATE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Candidate==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__CANDIDATE_FULLNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__CANDIDATE_FIRSTNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__CANDIDATE_LASTNAME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Project==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_ID__&lt;br /&gt;
|1&lt;br /&gt;
|Project ID of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_REF__&lt;br /&gt;
|1&lt;br /&gt;
|Project reference of the object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_NAME__&lt;br /&gt;
|1&lt;br /&gt;
|Project name of the object&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Shipment==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUM__&lt;br /&gt;
|XXXXX&lt;br /&gt;
|Shipping tacking number&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUMURL__&lt;br /&gt;
|http://trackingcompagny.com/XXXXX&lt;br /&gt;
|Shipping tracking url&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Reception==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__RECEPTIONTRACKNUM__&lt;br /&gt;
|XXXXX&lt;br /&gt;
|Shipping tacking number&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__RECEPTIONTRACKNUMURL__&lt;br /&gt;
|http://trackingcompagny.com/XXXXX&lt;br /&gt;
|Shipping tracking url&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Contract==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATE__&lt;br /&gt;
|1/1/2020&lt;br /&gt;
|Highest date planned for a service start&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATETIME__&lt;br /&gt;
|1/1/2020 1PM&lt;br /&gt;
|Highest date and hour planned for service start&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATE__&lt;br /&gt;
|1/1/2020&lt;br /&gt;
|Lowest date for planned expiration of service&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATETIME__&lt;br /&gt;
|1/1/2020 1PM&lt;br /&gt;
|Lowest date and hour for planned expiration of service&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Extrafield==&lt;br /&gt;
===Generic Rule===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Date Extrafield===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX_LOCALE__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code) in locale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX_RFC__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code) in RFC&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
===Datetime Extrafield===&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX_LOCALE__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code) in locale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX_DAY_LOCALE__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code) only the day in locale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX_RFC__&lt;br /&gt;
|&lt;br /&gt;
|Object Extrafield (XXX need to be replace by the Extrafield Attribute code) in RFC&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Online Payment==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_URL__&lt;br /&gt;
|http://mydoli.com/payment&lt;br /&gt;
|Address of the Online payement if applicable&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_TEXT_AND_URL__&lt;br /&gt;
|Click to pay&lt;br /&gt;
|Text and Url to pay online if applicable&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Online Proposal Signature==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_SIGN_URL__&lt;br /&gt;
|[https://mydoli.com/public/onlinesign http://mydoli.com/public/onlinesign]&lt;br /&gt;
|Address of the Online Signature for proposal&lt;br /&gt;
|15&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Online Intervention Signature==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_SIGN_FICHINTER_URL__&lt;br /&gt;
|[https://mydoli.com/public/onlinesign http://mydoli.com/public/onlinesign]&lt;br /&gt;
|Address of the Online Signature for intervention&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Document download==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_PROPOSAL__&lt;br /&gt;
|http://mydoli.com/proposal.pdf&lt;br /&gt;
|Direct download url of a proposal&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_ORDER__&lt;br /&gt;
|http://mydoli.com/order.pdf&lt;br /&gt;
|Direct download url of an order&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_INVOICE__&lt;br /&gt;
|http://mydoli.com/invoice.pdf&lt;br /&gt;
|Direct download url of an invoice. This needs that the setup INVOICE_ALLOW_EXTERNAL_DOWNLOAD is set to allow to generate the link.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_FICHINTER__&lt;br /&gt;
|http://mydoli.com/fichinter.pdf&lt;br /&gt;
|Direct download url of an intervention. This needs that the setup FICHINTER_ALLOW_EXTERNAL_DOWNLOAD is set to allow to generate the link.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__URL_PROPOSAL__&lt;br /&gt;
|http://mydoli.com/comm/propal/card.php?id=xxx&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__URL_ORDER__&lt;br /&gt;
|http://mydoli.com/commande/card.php?id=xxxx&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__URL_INVOICE__&lt;br /&gt;
|http://mydoli.com/compta/facture/card.php?id=xxx&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__URL_FICHINTER__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Event==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__EVENT_LABEL__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__EVENT_DATE__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__EVENT_TIME__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Dates==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__DAY__&lt;br /&gt;
|12&lt;br /&gt;
|actual day&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT__&lt;br /&gt;
|Monday&lt;br /&gt;
|Actual day in text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_SHORT__&lt;br /&gt;
|Mo&lt;br /&gt;
|Actual day in short text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Actual day in minimum text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH__&lt;br /&gt;
|3&lt;br /&gt;
|Actual month&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT__&lt;br /&gt;
|March&lt;br /&gt;
|Actual month in text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_SHORT__&lt;br /&gt;
|March&lt;br /&gt;
|Actual month in short text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Actual month in minimum text&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__YEAR__&lt;br /&gt;
|2020&lt;br /&gt;
|Actual year&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_DAY__&lt;br /&gt;
|11&lt;br /&gt;
|Previous day&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_MONTH__&lt;br /&gt;
|2&lt;br /&gt;
|Previous month&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_YEAR__&lt;br /&gt;
|2019&lt;br /&gt;
|Previous Year&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_DAY__&lt;br /&gt;
|13&lt;br /&gt;
|Next day&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_MONTH__&lt;br /&gt;
|4&lt;br /&gt;
|Next month&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_YEAR__&lt;br /&gt;
|2021&lt;br /&gt;
|next year&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==Multicompany==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__ENTITY_ID__&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|V13&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==System==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__DOL_MAIN_URL_ROOT__&lt;br /&gt;
|http://mondolibarr/htdocs&lt;br /&gt;
|Root URL of Dolibarr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__(AnyTranslationKey)__&lt;br /&gt;
|Translation&lt;br /&gt;
|Any translation Key&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;__(AnyTranslationKey|langfile)__&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Translation&lt;br /&gt;
|Any translation Key (load also language file before)&lt;br /&gt;
|V13&lt;br /&gt;
|-&lt;br /&gt;
|__[AnyConstantKey]__&lt;br /&gt;
|1&lt;br /&gt;
|Value of a constant key&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
==For Emails==&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot; style=&amp;quot;width: 85%;&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Displayed Value&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_NAME_XXX__&lt;br /&gt;
|Mister T&lt;br /&gt;
|XXX is the contact type defined on Setup-&amp;gt;Dictionaries-&amp;gt;Contact/Address types (exemple : __CONTACT_NAME_BILLING__ for the billing contact). The output will be LastName + First Name&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_LASTNAME_XXX__&lt;br /&gt;
|T&lt;br /&gt;
|XXX is the contact type defined on Setup-&amp;gt;Dictionaries-&amp;gt;Contact/Address types (exemple : __CONTACT_NAME_BILLING__ for the billing contact).&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_FIRSTNAME_XXX__&lt;br /&gt;
|Mister&lt;br /&gt;
|XXX is the contact type defined on Setup-&amp;gt;Dictionaries-&amp;gt;Contact/Address types (exemple : __CONTACT_NAME_BILLING__ for the billing contact).&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_TITLE_XXX__&lt;br /&gt;
|Mr&lt;br /&gt;
|XXX is the contact type defined on Setup-&amp;gt;Dictionaries-&amp;gt;Contact/Address types (exemple : __CONTACT_NAME_BILLING__ for the billing contact).&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CHECK_READ__&lt;br /&gt;
|&lt;br /&gt;
|In emailings, insert a blank image with a callback URL to Dolibarr (/public/emailing/mailing-read.php?tag=)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__UNSUBSCRIBE__&lt;br /&gt;
|&lt;br /&gt;
|In emailings, insert a link to allow a recipient to unsubscribe from emailings. If the recipient (third party or contact) unsubscribes, his status will change to &amp;quot;Refuse bulk emailings&amp;quot;&lt;br /&gt;
To setup the wording of:&lt;br /&gt;
&lt;br /&gt;
- the mention in your email  for unsubscribing: Translation (key : MailUnsubcribe)&lt;br /&gt;
&lt;br /&gt;
- the landing page after unsubscribing: Translation (key: YourMailUnsubcribeOK)&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
=Substitution variables provide by external module=&lt;br /&gt;
Custom substitution variables can be added by external modules.&lt;br /&gt;
For this, the external module must embed a file called  &#039;&#039;&#039;mymodule/core/substitutions/functions_mymodules.lib.php&#039;&#039;&#039; and set the&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;$this-&amp;gt;module_parts[&#039;substitutions&#039;] = 1 &amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
into the module descriptor.&lt;br /&gt;
&lt;br /&gt;
=How it work=&lt;br /&gt;
The array to define all substitution variables is defined in code by calling the method &lt;br /&gt;
&amp;lt;code&amp;gt;$substitutionarray = getCommonSubstitutionArray().&amp;lt;/code&amp;gt;&lt;br /&gt;
This method receive the $object in parameter, so it can define the content of the substitution array using properties of this object. No database access and no IO are allowed to set the substitution array.&lt;br /&gt;
&lt;br /&gt;
Then the array will be used by calling the make_substitutions() this way:&lt;br /&gt;
&amp;lt;code&amp;gt;$textcompleted = make_substitutions($textwithsubtitutionkeys, $substitutionarray)&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
However, sometimes to value to use is not available into the $object, neither into the environment, and it needs a database access to get the value.&lt;br /&gt;
In such a case, the substitution is not done by the getCommonSubstitutionArray(). The getCommonSubstitutionArray() will just add an entry into the array of substitution with the information to explain how to get the value like for this entry:&lt;br /&gt;
&amp;lt;code&amp;gt;$substitutionarray[&#039;__PROJECT_NAME__@lazyload&#039;] = &#039;/projet/class/project.class.php:Project:fetchAndSetSubstitution:&#039;.$object-&amp;gt;id&amp;lt;/code&amp;gt;&lt;br /&gt;
The substitution will be done by the make_substitutions() and only it is required by calling the method defined (here fetchAndSetSubstitution with the param $object-&amp;gt;id of the object Project defined into file /projet/class/project.class.php).&lt;br /&gt;
Thus, the heavy database access is done only if required.&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Valeurs_par_d%C3%A9faut&amp;diff=59723</id>
		<title>Paramétrage Valeurs par défaut</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Valeurs_par_d%C3%A9faut&amp;diff=59723"/>
		<updated>2024-03-15T13:44:09Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Valeurs par défaut (sur les formulaires de création) */  quelques exemples pour les fiches de création de tiers&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin fr]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aide de l&#039;écran:&#039;&#039;&#039; Valeurs par défaut&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu d&#039;accès:&#039;&#039;&#039; Accueil -&amp;gt; Configuration -&amp;gt; Valeurs par défaut (avec le gestionnaire de menu &#039;eldy&#039;)&lt;br /&gt;
&lt;br /&gt;
Ces champs de paramétrage vous permettent de définir :&lt;br /&gt;
&lt;br /&gt;
*des Valeurs par défaut&lt;br /&gt;
*des filtres de recherche par défaut&lt;br /&gt;
*des ordre de tri par défaut&lt;br /&gt;
*des champs par défaut ayant le focus&lt;br /&gt;
&lt;br /&gt;
=Valeurs par défaut (sur les formulaires de création)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Quelques exemples&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|Fiche&lt;br /&gt;
|URL relative&lt;br /&gt;
|Champ&lt;br /&gt;
|&lt;br /&gt;
{|&lt;br /&gt;
|Valeur&lt;br /&gt;
|}&lt;br /&gt;
|Effet&lt;br /&gt;
|-&lt;br /&gt;
|Tiers&lt;br /&gt;
|societe/card.php&lt;br /&gt;
|commercial&lt;br /&gt;
|__USER_ID__&lt;br /&gt;
|Affecte comme commercial le  créateur du tiers&lt;br /&gt;
|-&lt;br /&gt;
|Tiers&lt;br /&gt;
|societe/card.php&lt;br /&gt;
|forme_juridique_code&lt;br /&gt;
|nombre entier correspondant   à l&#039;id de la table llx_c_forme_juridique, qui peut être  personnalisée  via les dictionnaires  (Formes juridiques des Tiers/Type d&#039;entité légale)&lt;br /&gt;
|Pré-rempli le type  d&#039;entité légale (forme juridique). Par exemple par défaut, 11 &amp;quot;Artisan  Commerçant (EI)&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
|Tiers&lt;br /&gt;
|societe/card.php&lt;br /&gt;
|typent_id&lt;br /&gt;
|nombre entier correspondant   à l&#039;id de la table llx_c_typent, qui peut être personnalisée  via les dictionnaires (Type de tiers -  secteur)&lt;br /&gt;
|Pré-rempli le type de tiers. Par  exemple par défaut, 1 donnera &amp;quot;Start-up&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Filtres de recherche par défaut=&lt;br /&gt;
Pour connaître les champs et les valeurs de filtrage, il faut examiner le code source de la page de Dolibarr dont on veut filtrer les listes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filtres par catégories (tags)&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple&amp;lt;/u&amp;gt; : filtrer la liste de ses factures clients selon leur tag/catégorie &lt;br /&gt;
&lt;br /&gt;
url : compta/facture/list.php&lt;br /&gt;
&lt;br /&gt;
champ : search_categ_cus&lt;br /&gt;
&lt;br /&gt;
valeur :  sous forme de chiffre ; correspond au rowid de la table llx_categorie. On peut aussi la retrouver en examinant le code source de la page Dolibarr affichée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filtres par périodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple&amp;lt;/u&amp;gt; : filtrer la liste de ses factures fournisseurs &#039;&#039;&#039;après&#039;&#039;&#039; le 1er janvier 2023&lt;br /&gt;
&lt;br /&gt;
Il faut entrer trois valeurs de filtrage : celle du jour, celle du mois et celle de l&#039;année&lt;br /&gt;
&lt;br /&gt;
Pour le jour&lt;br /&gt;
&lt;br /&gt;
url : fourn/facture/list.php&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startday&lt;br /&gt;
&lt;br /&gt;
valeur : 1&lt;br /&gt;
&lt;br /&gt;
Pour le mois&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startmonth&lt;br /&gt;
&lt;br /&gt;
valeur : 1&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;année&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startyear&lt;br /&gt;
&lt;br /&gt;
valeur : 2023&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Même principe pour filtrer &#039;&#039;&#039;avant&#039;&#039;&#039; une certaine date&lt;br /&gt;
&lt;br /&gt;
Il faut alors utiliser les champs search_date_endday / search_date_endmonth / search_date_endyear&lt;br /&gt;
&lt;br /&gt;
=Ordre de tri par défaut=&lt;br /&gt;
Vous pouvez définir/forcer ici la valeur par défaut que vous voulez obtenir lorsque vous créez un nouvel enregistrement, et/ou les filtres par défaut ou ordre de tri des listes. Créez une entrée avec les valeurs suivantes :&lt;br /&gt;
&lt;br /&gt;
*Url&lt;br /&gt;
*Champ&lt;br /&gt;
*Ordre de tri : desc ou asc pour respectivement descendant et ascendant&lt;br /&gt;
&lt;br /&gt;
Les données de configuration s&#039;obtiennent en analysant l&#039;adresse de la page qui contient la liste, une fois le *TRI OPÉRÉ*.&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
htdocs/&#039;&#039;&#039;projet/list.php&#039;&#039;&#039;?sortfield=&#039;&#039;&#039;p.dateo&#039;&#039;&#039;&amp;amp;sortorder=&#039;&#039;&#039;desc&#039;&#039;&#039;&amp;amp;begin=&amp;amp;contextpage=projectlist&amp;amp;search_status=99&lt;br /&gt;
&lt;br /&gt;
Dans le menu de configuration renseigner :&lt;br /&gt;
&lt;br /&gt;
*pour l&#039;url : projet/list.php&lt;br /&gt;
*pour le champ &amp;quot;sortfield&amp;quot; : p.dateo&lt;br /&gt;
*pour l&#039;ordre de tri &amp;quot;sortorder&amp;quot; : desc&lt;br /&gt;
&lt;br /&gt;
=Champs par défaut ayant le focus=&lt;br /&gt;
&#039;&#039;A écrire&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&amp;diff=56616</id>
		<title>Système de substitution de variables</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&amp;diff=56616"/>
		<updated>2023-05-26T15:13:41Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Variables de substitution disponibles */ Ajout de __CONTACT_LASTNAME_XXX__   __CONTACT_FIRSTNAME_XXX__   __CONTACT_TITLE_XXX__&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : Variable_substitution_system --&amp;gt;&lt;br /&gt;
[[en:Variable_substitution_system]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
&lt;br /&gt;
Les variables de substitutions sont des mots clés qui peuvent être utilisés à de nombreux endroits dans Dolibarr pour être remplacés ultérieurement.&lt;br /&gt;
On s&#039;en sert par exemple dans les modèles d&#039;emails ou de texte de configuration pour qu&#039;un texte soit personnalisé au moment de son affichage ou de son envoi pour les emails.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Variables de substitution disponibles=&lt;br /&gt;
&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
|+&lt;br /&gt;
!Variable&lt;br /&gt;
!Valeur Affichée&lt;br /&gt;
!Note&lt;br /&gt;
!Dolibarr Mini&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SIGNATURE__&lt;br /&gt;
|Ma super signature&lt;br /&gt;
|Signature de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LOGIN__&lt;br /&gt;
|doli9&lt;br /&gt;
|Login de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_LASTNAME__&lt;br /&gt;
|Admin&lt;br /&gt;
|Nom de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FIRSTNAME__&lt;br /&gt;
|Super&lt;br /&gt;
|Prénom de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_FULLNAME__&lt;br /&gt;
|SuperAdmin&lt;br /&gt;
|Nom complet de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_SUPERVISOR_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du superviseur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__USER_REMOTE_IP__&lt;br /&gt;
|xxx.xxx.xxx.xxx&lt;br /&gt;
|IP de l&#039;utilisateur&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_NAME__&lt;br /&gt;
|Ma petite entreprise&lt;br /&gt;
|Nom de l&#039;entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_EMAIL__&lt;br /&gt;
|contact@monentreprise.fr&lt;br /&gt;
|Adresse email de contact de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID1__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 1 (TIN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID2__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 2 (PAN)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID3__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 3 (SRVC TAX)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID4__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 4&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID5__&lt;br /&gt;
|12345678&lt;br /&gt;
|Id. prof. 5&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_PROFID6__&lt;br /&gt;
|FR12345678&lt;br /&gt;
|Numéro de TVA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CAPITAL__&lt;br /&gt;
|10000&lt;br /&gt;
|Capital de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_FULLADDRESS__&lt;br /&gt;
|12 rue laurent 75001 Paris France&lt;br /&gt;
|Adresse complète de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ADDRESS__&lt;br /&gt;
|12 rue laurent&lt;br /&gt;
|Rue et numéro de rue de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_ZIP__&lt;br /&gt;
|75001&lt;br /&gt;
|Code postale de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_TOWN__&lt;br /&gt;
|Paris&lt;br /&gt;
|Ville de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY__&lt;br /&gt;
|France&lt;br /&gt;
|Pays de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_COUNTRY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|Identifiant du pays de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MYCOMPANY_CURRENCY_CODE__&lt;br /&gt;
|EUR&lt;br /&gt;
|Devise principale de mon entreprise&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID de l&#039;object&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_CLIENT__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence client de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__REF_SUPPLIER__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence fournisseur de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__EXTRAFIELD_XXX__&lt;br /&gt;
|?????&lt;br /&gt;
|Attribut supplémentaire de l&#039;object (XXX doit être remplacé par le code de l&#039;attribut)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME__&lt;br /&gt;
|MonClient&lt;br /&gt;
|Nom du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_NAME_ALIAS__&lt;br /&gt;
|MonC&lt;br /&gt;
|Alias du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__THIRDPARTY_EMAIL__&lt;br /&gt;
|contact@monclient.com&lt;br /&gt;
|Adresse email du tiers&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_NAME_CUSTOMER__&lt;br /&gt;
|civilité prénom nom&lt;br /&gt;
|Genre prénom et nom du contact de type &#039;contact suivi proposition&#039; d&#039;une proposition commerciale&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_ID__&lt;br /&gt;
|1&lt;br /&gt;
|ID du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_REF__&lt;br /&gt;
|1234&lt;br /&gt;
|Référence du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PROJECT_NAME__&lt;br /&gt;
|MonProjet&lt;br /&gt;
|Nom du projet de l&#039;objet&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATE__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date la plus tardive prévue pour le démarrage du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_HIGHEST_PLANNED_START_DATETIME__&lt;br /&gt;
|1/1/2020 13h&lt;br /&gt;
|Date et heure la plus tardive prévue pour le démarrage du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATE__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date la plus proche pour l&#039;expiration du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTRACT_LOWEST_EXPIRATION_DATETIME__&lt;br /&gt;
|1/1/2020 13h&lt;br /&gt;
|Date et heure la plus proche pour l&#039;expiration du contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_URL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://mondoli.com/payment&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Adresse du paiement en ligne (si applicable)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__ONLINE_PAYMENT_TEXT_AND_URL__&lt;br /&gt;
|Cliquez pour payer&lt;br /&gt;
|Texte et adresse du paiement en ligne (si applicable)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement (si la clé n&#039;est pas unique par enregistrement)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_MEMBER__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement de l&#039;abonnement d&#039;un membre (une clé par membre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_ORDER__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;une commande&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_INVOICE__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;une facture&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SECUREKEYPAYMENT_CONTRACTLINE__&lt;br /&gt;
|&lt;br /&gt;
|Clé de sécurité pour le paiement d&#039;un contrat&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_PROPOSAL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;https://mondoli.com/devis.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;un devis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_ORDER__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondoli.com/commande.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;une commande&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DIRECTDOWNLOAD_URL_INVOICE__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondoli.com/facture.pdf&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de téléchargement direct d&#039;une facture. Pour cela, il faut que le paramètre INVOICE_ALLOW_EXTERNAL_DOWNLOAD soit configuré pour permettre de générer le lien.&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUM__&lt;br /&gt;
|XXXXX&lt;br /&gt;
|Numéro de suivi du colis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__SHIPPINGTRACKNUMURL__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://trackingcompagny.com/XXXXX&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|URL de suivi du colis&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_YMD__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date d&#039;aujourd&#039;hui&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DUE_YMD__&lt;br /&gt;
|01/01/2020&lt;br /&gt;
|Date d&#039;échéance&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT__ -&amp;gt;&lt;br /&gt;
|1243,34&lt;br /&gt;
|Montant total&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX__ -&amp;gt; __AMOUNT_EXCL_TAX__&lt;br /&gt;
|1234,45&lt;br /&gt;
|Montant total hors taxe&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT__ -&amp;gt; __AMOUNT_VAT__&lt;br /&gt;
|123,4&lt;br /&gt;
|Montant TVA&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_FORMATED__&lt;br /&gt;
|1243,34 €&lt;br /&gt;
|Montant total formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_EXCL_TAX_FORMATED__&lt;br /&gt;
|1234,45 €&lt;br /&gt;
|Montant total hors taxe formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__AMOUNT_VAT_FORMATED__ -&amp;gt; __AMOUNT_VAT_FORMATED__&lt;br /&gt;
|123,4 €&lt;br /&gt;
|Montant TVA formaté&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY__&lt;br /&gt;
|12&lt;br /&gt;
|Jours actuel (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT__&lt;br /&gt;
|Mardi&lt;br /&gt;
|Jours actuel (texte)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_SHORT__&lt;br /&gt;
|Ma&lt;br /&gt;
|Jours actuel en texte abrégé&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DAY_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Jours actuel en texte en une lettre&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH__&lt;br /&gt;
|3&lt;br /&gt;
|Mois actuel (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT__&lt;br /&gt;
|Mars&lt;br /&gt;
|Mois actuel (texte)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_SHORT__&lt;br /&gt;
|Ma.&lt;br /&gt;
|Mois actuel en texte abrégé&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__MONTH_TEXT_MIN__&lt;br /&gt;
|M&lt;br /&gt;
|Mois actuel en texte en une lettre&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__YEAR__&lt;br /&gt;
|2020&lt;br /&gt;
|Année actuelle&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_DAY__&lt;br /&gt;
|11&lt;br /&gt;
|Hier (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_MONTH__&lt;br /&gt;
|2&lt;br /&gt;
|Mois précédent (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__PREVIOUS_YEAR__&lt;br /&gt;
|2019&lt;br /&gt;
|Année précédente&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_DAY__&lt;br /&gt;
|13&lt;br /&gt;
|Demain (chiffre)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_MONTH__&lt;br /&gt;
|4&lt;br /&gt;
|Mois prochain&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__NEXT_YEAR__&lt;br /&gt;
|2021&lt;br /&gt;
|Année prochaine&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DOL_MAIN_URL_ROOT__&lt;br /&gt;
|&amp;lt;nowiki&amp;gt;http://mondolibarr.fr/htdocs&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
|Adresse de mon dolibarr&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__(Clédetraduction)__&lt;br /&gt;
|Clé traduite&lt;br /&gt;
|N&#039;importe qu&#039;elle clé de traduction&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__[constante]__&lt;br /&gt;
|Valeure de la constante&lt;br /&gt;
|N&#039;importe qu&#039;elle constante&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__DATE_DELIVERY__&lt;br /&gt;
|21/09/1974&lt;br /&gt;
|Date de livraison de la Propal&lt;br /&gt;
|V14&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_NAME_XXX__&lt;br /&gt;
|Mr T&lt;br /&gt;
|Civilité/titre prénom et nom du contact&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_LASTNAME_XXX__&lt;br /&gt;
|Nom patronymique du contact&lt;br /&gt;
|Nom du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_FIRSTNAME_XXX__&lt;br /&gt;
|Prénom du contact&lt;br /&gt;
|Prénom du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__CONTACT_TITLE_XXX__&lt;br /&gt;
|Titre de civilité du contact&lt;br /&gt;
|Titre/civilité du contact&lt;br /&gt;
&lt;br /&gt;
XXX est le type de contact défini dans Accueil&amp;gt;configuration&amp;gt;dictionnaires&amp;gt;Types de contacts/adresses (par exemple : __CONTACT_NAME_BILLING__ pour le contact client désigné comme responsable de la facturation sur une facture)&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|__UNSUBSCRIBE__&lt;br /&gt;
|&lt;br /&gt;
|Lien de désinscription&lt;br /&gt;
|&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=Variables de substitution Personnalisées=&lt;br /&gt;
Un module peut ajouter ses propres variables de substitutions.&lt;br /&gt;
Pour cela, le module doit embarquer un fichier avec le nom  &#039;&#039;&#039;monmodule/core/substitutions/functions_monmodule.lib.php&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Valeurs_par_d%C3%A9faut&amp;diff=56421</id>
		<title>Paramétrage Valeurs par défaut</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_Valeurs_par_d%C3%A9faut&amp;diff=56421"/>
		<updated>2023-05-05T13:54:30Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Valeurs par défaut (sur les formulaires de création) */ Quelques instructions pour les filtres par défaut&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin fr]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aide de l&#039;écran:&#039;&#039;&#039; Valeurs par défaut&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu d&#039;accès:&#039;&#039;&#039; Accueil -&amp;gt; Configuration -&amp;gt; Valeurs par défaut (avec le gestionnaire de menu &#039;eldy&#039;)&lt;br /&gt;
&lt;br /&gt;
Ces champs de paramétrage vous permettent de définir :&lt;br /&gt;
&lt;br /&gt;
*des Valeurs par défaut&lt;br /&gt;
*des filtres de recherche par défaut&lt;br /&gt;
*des ordre de tri par défaut&lt;br /&gt;
*des champs par défaut ayant le focus&lt;br /&gt;
&lt;br /&gt;
=Valeurs par défaut (sur les formulaires de création)=&lt;br /&gt;
&#039;&#039;A écrire&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
=Filtres de recherche par défaut=&lt;br /&gt;
Pour connaître les champs et les valeurs de filtrage, il faut examiner le code source de la page de Dolibarr dont on veut filtrer les listes.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filtres par catégories (tags)&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple&amp;lt;/u&amp;gt; : filtrer la liste de ses factures clients selon leur tag/catégorie &lt;br /&gt;
&lt;br /&gt;
url : compta/facture/list.php&lt;br /&gt;
&lt;br /&gt;
champ : search_categ_cus&lt;br /&gt;
&lt;br /&gt;
valeur :  sous forme de chiffre ; correspond au rowid de la table llx_categorie. On peut aussi la retrouver en examinant le code source de la page Dolibarr affichée.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Filtres par périodes&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;u&amp;gt;Exemple&amp;lt;/u&amp;gt; : filtrer la liste de ses factures fournisseurs &#039;&#039;&#039;après&#039;&#039;&#039; le 1er janvier 2023&lt;br /&gt;
&lt;br /&gt;
Il faut entrer trois valeurs de filtrage : celle du jour, celle du mois et celle de l&#039;année&lt;br /&gt;
&lt;br /&gt;
Pour le jour&lt;br /&gt;
&lt;br /&gt;
url : fourn/facture/list.php&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startday&lt;br /&gt;
&lt;br /&gt;
valeur : 1&lt;br /&gt;
&lt;br /&gt;
Pour le mois&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startmonth&lt;br /&gt;
&lt;br /&gt;
valeur : 1&lt;br /&gt;
&lt;br /&gt;
Pour l&#039;année&lt;br /&gt;
&lt;br /&gt;
champ : search_date_startyear&lt;br /&gt;
&lt;br /&gt;
valeur : 2023&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Même principe pour filtrer &#039;&#039;&#039;avant&#039;&#039;&#039; une certaine date&lt;br /&gt;
&lt;br /&gt;
Il faut alors utiliser les champs search_date_endday / search_date_endmonth / search_date_endyear&lt;br /&gt;
&lt;br /&gt;
=Ordre de tri par défaut=&lt;br /&gt;
Vous pouvez définir/forcer ici la valeur par défaut que vous voulez obtenir lorsque vous créez un nouvel enregistrement, et/ou les filtres par défaut ou ordre de tri des listes. Créez une entrée avec les valeurs suivantes :&lt;br /&gt;
&lt;br /&gt;
*Url&lt;br /&gt;
*Champ&lt;br /&gt;
*Ordre de tri : desc ou asc pour respectivement descendant et ascendant&lt;br /&gt;
&lt;br /&gt;
Les données de configuration s&#039;obtiennent en analysant l&#039;adresse de la page qui contient la liste, une fois le *TRI OPÉRÉ*.&lt;br /&gt;
Par exemple :&lt;br /&gt;
&lt;br /&gt;
htdocs/&#039;&#039;&#039;projet/list.php&#039;&#039;&#039;?sortfield=&#039;&#039;&#039;p.dateo&#039;&#039;&#039;&amp;amp;sortorder=&#039;&#039;&#039;desc&#039;&#039;&#039;&amp;amp;begin=&amp;amp;contextpage=projectlist&amp;amp;search_status=99&lt;br /&gt;
&lt;br /&gt;
Dans le menu de configuration renseigner :&lt;br /&gt;
&lt;br /&gt;
*pour l&#039;url : projet/list.php&lt;br /&gt;
*pour le champ &amp;quot;sortfield&amp;quot; : p.dateo&lt;br /&gt;
*pour l&#039;ordre de tri &amp;quot;sortorder&amp;quot; : desc&lt;br /&gt;
&lt;br /&gt;
=Champs par défaut ayant le focus=&lt;br /&gt;
&#039;&#039;A écrire&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=55826</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=55826"/>
		<updated>2023-02-12T16:25:29Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Ajout des deux options FCKEDITOR_ENABLE_SCAYT_AUTOSTARTUPFCKEDITOR_ENABLE_SCAYT_LANG&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Paramétrage_Divers]]&lt;br /&gt;
[[es:Configuración_Varios]]&lt;br /&gt;
[[de:Erweiterte_Einstellungen]]&lt;br /&gt;
[[zh:其他设置]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help About Screen&#039;&#039;&#039;: Other setup&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu Path&#039;&#039;&#039;: Home ► Setup ► Other&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Introduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
 {{warning|32px}} 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 &#039;&#039;&#039;SHOULD NOT&#039;&#039;&#039; 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.&lt;br /&gt;
&lt;br /&gt;
To enable/override a parameter you have to define the constant name and set it to 1 (unless otherwise stated) in &amp;lt;code&amp;gt;Home ► Setup ► Other Setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
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:&lt;br /&gt;
&lt;br /&gt;
UNSTABLE_OR_DEV_OPTION ► &#039;&#039;Description of config and goal&#039;&#039; ► &#039;&#039;(specific version information) or values&#039;&#039;&lt;br /&gt;
&amp;lt;center&amp;gt;&lt;br /&gt;
__TOC__&lt;br /&gt;
&amp;lt;/center&amp;gt;&lt;br /&gt;
=Global Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ADD_UNSPLASH_LOGIN_BACKGROUND&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_SCAYT_AUTOSTARTUP ►&#039;&#039;&#039; Allow to activate the SpellCheckAsYouType (SCAYT) plugins of CKEditorthe i.e an automatic spell checking. The value to activate this option is 1.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_SCAYT_LANG ►&#039;&#039;&#039; to define the languages concerned by the automatic spell checking. The value is a list of languages without spaces (fr_FR,en_US,de_DE,it_IT)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_APPLICATION_TITLE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTOFILL_DATE&#039;&#039;&#039; ► If this constant is defined (to something other than &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;), 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!&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES&#039;&#039;&#039; ► Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_COUNTRIES_IN_EEC&#039;&#039;&#039; ► 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 DB for V14 - V15  and from dictionary of countries in V16 and more).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TERM_ID&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_PAYMENT_TYPE_ID&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEFAULT_LANGUAGE_FILTER&#039;&#039;&#039; ► Useful if you do not want to show &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt; language option in combo boxes (other languages can easily be removed in &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; directory but not &amp;lt;code&amp;gt;en_US&amp;lt;/code&amp;gt;) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LANGUAGES_ALLOWED&#039;&#039;&#039; ► Is a list of languages without spaces, example : &amp;lt;code&amp;gt;fr_FR,en_US,de_DE,it_IT&amp;lt;/code&amp;gt; If defined, only those languages will appear in combos. ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_NOTES_TAB&#039;&#039;&#039; ► Show or hide notes tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_CONTACTS_TAB&#039;&#039;&#039; ► Show or hide contacts tab in the card page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FULL_SCANLIST&#039;&#039;&#039; ► 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_JQUERY_JNOTIFY&#039;&#039;&#039; ► Disable usage of &amp;lt;code&amp;gt;JNotify&amp;lt;/code&amp;gt; to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_AJAX_COMBOX&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; ► (v3.6.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_MULTIPLE_FILEUPLOAD&#039;&#039;&#039; ► Disable users to upload multiple files at once.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_TRUNC&#039;&#039;&#039; ► Disable all truncings in select list. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLEDRAFTSTATUS&#039;&#039;&#039; ► Disable the status &amp;quot;Draft&amp;quot; for some objects (project, donation, ...) so the object is directly created with status &amp;quot;Validated&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME&#039;&#039;&#039; ► Add name of thirdparty at begin of generated document.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_USE_TIMING&#039;&#039;&#039; ► Add a timestamp at end of generated document. Value must be format of timestamp. For example: &amp;lt;code&amp;gt;%Y%m%d%H%M&amp;lt;/code&amp;gt; (only for ODT files)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_UPLOAD_NOT_RENAME_BY_DEFAULT&#039;&#039;&#039; ► Disable the auto renaming on upload file ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOL_SCRIPTS_ROOT&#039;&#039;&#039; ► Define directory who contains &#039;scripts&#039; directory (e.g. &amp;lt;code&amp;gt;/var/www/dolibarr&amp;lt;/code&amp;gt;). Value of this variable may be requested by some external script or tools.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_LOG_TO_HTML&#039;&#039;&#039; ► If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;lt;code&amp;gt;&amp;amp;logtohtml=1&amp;lt;/code&amp;gt; into URL.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES&#039;&#039;&#039; ► Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_TO_UPPER&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TO_UPPER&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALL_TOWN_TO_UPPER&#039;&#039;&#039; ► Dolibarr puts uppercase for town names if not done. ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILESYSTEM_ENCODING&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; if on Linux or OSX system, and &amp;lt;code&amp;gt;ISO-8859-1&amp;lt;/code&amp;gt; if on Windows. If not, for example on a Windows server with a NTFS &amp;lt;code&amp;gt;UTF-8&amp;lt;/code&amp;gt; pagecode, you can set the variable &amp;lt;code&amp;gt;MAIN_FILESYSTEM_ENCODING&amp;lt;/code&amp;gt; to &amp;quot;&amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FORCELANGDIR&#039;&#039;&#039; ► Relative path of the directory holding your custom &amp;lt;code&amp;gt;langs&amp;lt;/code&amp;gt; folder.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTML_TITLE&#039;&#039;&#039; ► Can be used to control how the html page title is formatted. If value contains key &#039;&amp;lt;code&amp;gt;noapp&amp;lt;/code&amp;gt;&#039;, application name will not be output. If value contains &#039;&amp;lt;code&amp;gt;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;&amp;lt;code&amp;gt;noapp;thirdpartynameonly&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HELPCENTER_LINKTOUSE&#039;&#039;&#039; ► Define the URL link to use as the target page for link &amp;quot;I need help&amp;quot; onto logon page&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGOUT_GOTO_URL&#039;&#039;&#039; ► URL to which the user will be redirected after LOGOUT&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXTABS_IN_CARD&#039;&#039;&#039; ► Maximum number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAXLIST_OVERLOAD&#039;&#039;&#039; ► Maximum number of line in space&#039;s domain.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (&amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; if not defined)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_CONCAT_DESCRIPTION&#039;&#039;&#039; ► Allow to use only input custom description in lines (proposal, order, invoice) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZE_SPEED&#039;&#039;&#039; ► Use some speed enhancements. See page [[FAQ Increase Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PUBLIC_NOTE_IN_ADDRESS&#039;&#039;&#039; ► Show public note in address block ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REMOVE_INSTALL_WARNING&#039;&#039;&#039; ► Remove all security warnings that appear to administrator users if URL &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; is public. You should solve the problem if warning occurs, instead of removing the warning! For this, create a file called &amp;lt;code&amp;gt;install.lock&amp;lt;/code&amp;gt; into Dolibarr root directory. This will stop the warning but also make the page &amp;lt;code&amp;gt;/install&amp;lt;/code&amp;gt; not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPEATCONTACTONEACHTAB&#039;&#039;&#039; ► If added and set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_REPLACE_TRANS_xx_XX&#039;&#039;&#039; ► Where &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt; is language code. If value is &amp;lt;code&amp;gt;string1:newstring1;string2:newstring2&amp;lt;/code&amp;gt; then replace &amp;lt;code&amp;gt;string1&amp;lt;/code&amp;gt; with &amp;lt;code&amp;gt;newstring1&amp;lt;/code&amp;gt; in all translation done for language &amp;lt;code&amp;gt;xx_XX&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND&#039;&#039;&#039; ► Change way of rounding total TTC lines, rounding first of after.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVER_TZ&#039;&#039;&#039; ► If you can&#039;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 &#039;&amp;lt;code&amp;gt;UTC&amp;lt;/code&amp;gt;&#039; so PHP server timezone will not have effect anymore. Examples: &amp;lt;code&amp;gt;Europe/Paris&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;auto&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_FORM_ON_HOME_AREAS&#039;&#039;&#039; ► Show the search form on home page areas for core modules (Removed after v5 due to global search combo) ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCHFORM_SUPPLIER_INVOICE_DISABLED&#039;&#039;&#039; ► Disable the supplier invoice on the search form&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE&#039;&#039;&#039; ► If only one result is found, then setting this value to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; will take you direct to the item (default method).  Setting the value to &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt; will show the result in the list as a single result ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SERVICES_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ► If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TUNING_INFO&#039;&#039;&#039; ► Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOWDATABASENAMEINHELPPAGESLINK&#039;&#039;&#039; ► Show database name in upper help menu ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ALTERNATE_TRANSLATION_FOR&#039;&#039;&#039; ► List of fields per object that need an alternate translation. Example: &amp;lt;code&amp;gt;MAIN_USE_ALTERNATE_TRANSLATION_FOR=societe:name,town;contact:firstname,lastname&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_HOURMIN_IN_DATE_RANGE&#039;&#039;&#039; ► On all entities lines (invoice, order, contract...), it is possible to add hour and minutes with date on fields &amp;quot;date start&amp;quot; and &amp;quot;date end&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_JEDITABLE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_JQUERY_MULTISELECT&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_OLD_SEARCH_FORM&#039;&#039;&#039; ► Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► If we can&#039;t guess if a thirdparty is a company or individual (not VAT ID fill, no Prof ID fill, no type of thirdparty fill), then we suppose it is a company (B2B business) instead of an individual (B2C business).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► For intra CEE sales, we use by default, on proposal, order or invoice creation, a 0 VAT for customers that are companies (see MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES to change behaviour to know if a thirdparty is a company or an individual). But if the option MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL is set, we will use the 0 VAT only if a VAT ID is defined for the customer.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC&#039;&#039;&#039; ► For to use the default VAT of product for individual customers that are out E.E.C. (European Economic Community) ► (v7.0+). &#039;&#039;There is no reason to use this.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER&#039;&#039;&#039; ► Shows a line number for each line of products/services at documents like proposal / order / invoice. Only on screen, not on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VIEW_LINE_NUMBER_IN_LIST&#039;&#039;&#039; ► Shows a line number in lists ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_VOLUME_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_ROUND&#039;&#039;&#039; ► Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_WEIGHT_DEFAULT_UNIT&#039;&#039;&#039; ► Default unit for weight (&amp;lt;code&amp;gt;0=kg&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;-3=g&amp;lt;/code&amp;gt;, ...)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USER_HIDE_INACTIVE_IN_COMBOBOX&#039;&#039;&#039; ► Disable display inactive users in combobox.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_THUMBS&#039;&#039;&#039; ► Disable thumbs PDF in case of imagick bug&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_KEEP_REF_CUSTOMER_ON_CLONING&#039;&#039;&#039; ► Keep the Customer Reference on cloned object (Propal/Invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DONT_KEEP_NOTE_ON_CLONING&#039;&#039;&#039; ► Remove the object notes during cloning ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_FIELD&#039;&#039;&#039; ► Set the default sorting field on document page (name by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOC_SORT_ORDER&#039;&#039;&#039; ► Set the default sorting order (ASC or DESC) on document page (ASC by default) ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_ZIPTOWN_DICTIONNARY&#039;&#039;&#039; ► Use dictionary ZIP for create card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Show search in top menu with theme eldy ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PHONE_SEPAR&#039;&#039;&#039; ► Separ phone number other space ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;GRAPH_USE_FISCAL_YEAR&#039;&#039;&#039; ► Widgets uses fiscal year&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SOCINFO_ON_PRINT&#039;&#039;&#039; ► Permit to add user company information on each printed document (when click on Dolibarr print button) ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FEATURES_LEVEL&#039;&#039;&#039; ► Level of features to show: &amp;lt;code&amp;gt;-1=stable+deprecated&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;0=stable only (default)&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;1=stable+experimental&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;2=stable+experimental+development&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_TECHNICAL_ID&#039;&#039;&#039; ► Show technical id for object.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HTTP_CONTENT_SECURITY_POLICY&#039;&#039;&#039; ► Allows you to fill in the content security rules ► (v6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ON_SEARCH_AND_LIST_GO_ON_CUSTOMER_OR_SUPPLIER_CARD&#039;&#039;&#039; ► Allow to change the link of the third party to customer/supplier card instead of contact card on List.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULE_SETUP_ON_LIST_BY_DEFAULT&#039;&#039;&#039; ► If set to &amp;quot;common&amp;quot; the setup module becomes list by defaut&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PAGESIZE_CHOICES&#039;&#039;&#039;  ► Configure select field to choose number of lines displayed on listing (&amp;lt;code&amp;gt;10:10,15:15,20:20,30:30,40:40,50:50,100:100,250:250,500:500,1000:1000,5000:5000&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_QUICKADD_DROPDOWN&#039;&#039;&#039; ► Add a dropdown menu with shortcuts to create new objects ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAILCOLLECTOR_MAIL_WITHOUT_HEADER&#039;&#039;&#039; ► Remove the header stored by email collector ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_OF_PRODUCT_FOR_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_OPTIMIZEFORTEXTBROWSER&#039;&#039;&#039; ► Optimise interface for a text only browser. This variable is set to 1 automatically if your browser is lynx or links&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NB_OF_YEAR_IN_WIDGET_GRAPH&#039;&#039;&#039; ► Set the number of years visible on some graph of some widgets (2 is default value)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CREATEFROM_KEEP_LINE_ORIGIN_INFORMATION&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;API_DISABLE_LOGIN_API&#039;&#039;&#039; ►(v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LOGIN_BADCHARUNAUTHORIZED&#039;&#039;&#039; ► Add possibility to define bad character unauthorized into login name REGEX expression (Default value is @&amp;lt;&amp;gt;&amp;quot;\&#039;)  ► (v16.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_ALL_FILES_ON_DOCUMENT_TOOLTIP&#039;&#039;&#039;  ► Add all files visible from the object to be visible from the list of object.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PUBLIC_NOTES&#039;&#039;&#039;  ► Display public notes on list&lt;br /&gt;
*&#039;&#039;&#039;MAIN_LIST_ALLOW_PRIVATE_NOTES&#039;&#039;&#039;  ► Display private notes on list&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CHECKBOX_LEFT_COLUMN&#039;&#039;&#039; ► Display private check boxes on the left ► (v17.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATS_GRAPHS_SHOW_N_YEARS&#039;&#039;&#039; ► Nb of years to shows in widget and graph ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEBUG_SHOW_EACH_QUALIFIED_HOOK_CALL&#039;&#039;&#039; ► if &amp;gt;=2 the hook in the logs are more verbose ► (v17.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_ANTI_SSRF_SERVER_IP&#039;&#039;&#039; ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_CSRF_WITH_TOKEN&#039;&#039;&#039; ► Activate a second anti-CSRF protection on POST (so a POST from another web site can&#039;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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MODULES_FOR_EXTERNAL&#039;&#039;&#039; ► Limit available modules for external users. By default value is &#039;&amp;lt;code&amp;gt;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&amp;lt;/code&amp;gt;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALLOW_SVG_FILES_AS_IMAGES&#039;&#039;&#039; ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_ONLY_VALID_HTML&#039;&#039;&#039; ► Refused parameter if value is not a valid HTML content.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES&#039;&#039;&#039; ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SECURITY_SALT&#039;&#039;&#039; ► A salt string to base the hashing on. 8 strings length recommended.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Adherent Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_NEWFORM_FORCEMORPHY&#039;&#039;&#039; ► Force nature of member set to &amp;quot;phy&amp;quot; for physical or to &amp;quot;mor&amp;quot; for moral ► (v12.0)&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_ALLOW_CHANGE_OF_TYPE&#039;&#039;&#039; ► Member can edit their type on public subscription page ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;ADHERENT_DEFAULT_CREATE_THIRDPARTY&#039;&#039;&#039; ► Thirdparty is created when creating a new member ► (v13.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Accountancy Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTANCY_COMBO_FOR_AUX&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE&#039;&#039;&#039; ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*&#039;&#039;&#039;ACCOUNTING_DEFAULT_NOT_NOTIFIED_EXPORT_DATE&#039;&#039;&#039; ► Avoid flaging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Agenda Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ALL_CALENDARS&#039;&#039;&#039; ► Change the default view of calendar pages to see all the Agenda&#039;s (instead or yours only be default)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS&#039;&#039;&#039; ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_DISABLE_LOCATION&#039;&#039;&#039; ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_MAX_EVENTS_DAY_VIEW&#039;&#039;&#039; ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_USE_EVENT_TYPE&#039;&#039;&#039; ► Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (&#039;&#039;&#039;&#039;&#039;deprecated&#039;&#039;&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_EVENT_ON_ELEMENT_CARD&#039;&#039;&#039; ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_SUPPORT_PRIORITY_IN_EVENTS&#039;&#039;&#039; ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFORPHONE&#039;&#039;&#039; ► Allow you to create a event from phone number ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;AGENDA_ADDACTIONFOREMAIL&#039;&#039;&#039; ► Allow you to create a event from Email ► (=&amp;lt;v12.0) - Need to be fix for (=&amp;gt;v12.0) https://github.com/Dolibarr/dolibarr/issues/22720&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_CAN_RECONCILIATE_CASHACCOUNT&#039;&#039;&#039; ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_DISABLE_CHECK_DEPOSIT&#039;&#039;&#039; ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_ORDER&#039;&#039;&#039; ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL&#039;&#039;&#039; ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BANK_USE_OLD_VARIOUS_PAYMENT&#039;&#039;&#039; ► To allow to enter miscellaneous payments (not covered by other modules) using old method. &#039;&#039;&#039;&#039;&#039;Deprecated&#039;&#039;&#039;&#039;&#039;. Entering various payment is preferred ► (&amp;lt;=v12.0).&lt;br /&gt;
*&#039;&#039;&#039;MAIN_IBAN_IS_NEVER_MANDATORY&#039;&#039;&#039; ► IBAN and BIC informations not mandatory. (V15)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=BOM and MO Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ALLOW_USE_KITS_INTO_BOM_AND_MO&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;BOM_SUB_BOM&#039;&#039;&#039; ►Allow to add a BOM in another BOM►(v16.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Bookmarks Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BOOKMARKS_SHOW_IN_MENU&#039;&#039;&#039; ► Numbers of bookmark entries to be displayed (10 by default)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Inalterable Log Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;BLOCKEDLOG_ADD_ACTIONS_SUPPORTED&#039;&#039;&#039; ► Can complete list of triggered action that are logged&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Category-Tags Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_SHOW_COUNTS&#039;&#039;&#039; ► Shows nb of object by tags in tag tree&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_SUPPORT_PRODUCTS&#039;&#039;&#039; ► Products are also suggested into module contract.&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_PLANNED_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
*&#039;&#039;&#039;CONTRACT_HIDE_REAL_DATE_ON_PDF&#039;&#039;&#039; ► allows you to not display dates on pdf files.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Cron module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► 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 &#039;Scheduled Jobs&#039;). 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Direct Debit Orders=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS&#039;&#039;&#039; ► 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 &amp;quot;unpayed&amp;quot; invoices are used to avoid to pay twice the same invoice.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Donation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DONATION_USE_THIRDPARTIES&#039;&#039;&#039; ► If this option is set, a thirdparty field appear on donation forms.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Email and SMS=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAILFORM_DISABLE_ENTERKEY&#039;&#039;&#039; ► Activate javascript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Prefix for the mails ID. Default value is &amp;lt;code&amp;gt;$_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&amp;lt;/code&amp;gt; ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DEBUG&#039;&#039;&#039; ► Write content with header of last mail into file &amp;lt;code&amp;gt;dolibarr_mail.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SMS_DEBUG&#039;&#039;&#039; ► Write content of SMS sent into file &amp;lt;code&amp;gt;dolibarr_sms.log&amp;lt;/code&amp;gt; into directory &amp;lt;code&amp;gt;dolibarr_main_data_root&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ALLOW_SENDMAIL_F&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. This option is here to ask Dolibarr to call the function mail of PHP by adding value for the option &amp;lt;code&amp;gt;-f&amp;lt;/code&amp;gt;. 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_SENDMAIL_FORCE_BA&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_NO_FULL_EMAIL&#039;&#039;&#039; ► Recipient email and sender are cleaned to be on form &amp;quot;&amp;lt;email&amp;gt;&amp;quot; instead of &amp;quot;Name &amp;lt;email&amp;gt;&amp;quot;. This might solve problem of compatibility with very old mailers.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIX_FOR_BUGGED_MTA&#039;&#039;&#039; ► 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 &amp;lt;code&amp;gt;orange.fr&amp;lt;/code&amp;gt; or &amp;lt;code&amp;gt;hotmail.com&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_DO_NOT_USE_SIGN&#039;&#039;&#039; ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_INVOICE&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Invoice&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_ORDER&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Order&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_PROPAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Customer Proposal&#039;&#039; module.&lt;br /&gt;
*&#039;&#039;&#039;MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL&#039;&#039;&#039; ► Set default as &amp;quot;Yes&amp;quot; on requesting delivery receipt when sending email through the &#039;&#039;Supplier Proposal&#039;&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_USECCC&#039;&#039;&#039; ► 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_PROPOSAL_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_ORDER_TO&#039;&#039;&#039;, &#039;&#039;&#039;MAIN_MAIL_AUTOCOPY_INVOICE_TO&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EMAIL_ADD_TRACK_ID&#039;&#039;&#039; ► When value is 1 (this is also default value if option is not set): The record &amp;quot;Message-id&amp;quot; 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  &amp;quot;+thiXXX&amp;quot; on email (your email will be sent with the &amp;quot;From&amp;quot; that is myname+thi123@mycompany.com). So when user receiving email will make &amp;quot;Answer&amp;quot;, 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► Restrict sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include 1000 recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML&#039;&#039;&#039; ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_USE_MULTI_PART&#039;&#039;&#039; ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INFO_SOCIETE_MAIL_ALIASES&#039;&#039;&#039; ► add address aliases for the from field on mail. Set his value with &amp;quot;Firstname Name &amp;lt;firstname.lastname@mydomain.tld, Otherfirstname OtherlastName &amp;lt;othermail@mydomain.tld&amp;gt;,...&amp;quot; ► (v5.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS&#039;&#039;&#039; ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_COPY_FILE_IN_EVENT_AUTO&#039;&#039;&#039; ► Add attachement document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (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:&lt;br /&gt;
**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.&lt;br /&gt;
**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 &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MAIL_ENABLED_USER_DEST_SELECT&#039;&#039;&#039; ► Show also internal users into list of recipients of email in email sending form ► (v8.0+)&lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Emailing Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_PREFIX_FOR_EMAIL_ID&#039;&#039;&#039; ► Set the value that will be used to compose the &amp;quot;Email ID&amp;quot; into email headers. If you set this value to &#039;&amp;lt;code&amp;gt;SERVER_NAME&amp;lt;/code&amp;gt;&#039;, 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► If set, the module emailing can&#039;t be used with mail setup of &amp;quot;phpmail&amp;quot;. Using a thirdparty SMTP server is required. You can complete warning message by adding an email to contact for setup help with constant &amp;lt;code&amp;gt;&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039;&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039; ► 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 &#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; is set to on.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the &#039;&#039;&#039;message to show&#039;&#039;&#039;, or &#039;&#039;&#039;translation key&#039;&#039;&#039;) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. 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.&lt;br /&gt;
*&#039;&#039;&#039;EMAILING_USE_ADVANCED_SELECTOR&#039;&#039;&#039; ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYWEB&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbyweb&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit. A negative value means, sending by web is forbidden.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYCLI&#039;&#039;&#039; ► Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;&amp;lt;code&amp;gt;dolibarr_mailing_limit_sendbycli&amp;lt;/code&amp;gt;&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Expense Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS&#039;&#039;&#039; ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_OVERRIDE_VAT&#039;&#039;&#039; ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPENSEREPORT_USE_OLD_NUMBERING_RULE&#039;&#039;&#039; ► 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 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_IK&#039;&#039;&#039; ► This feature allows you to set index kilometers against a mileage index for different types of vehicles. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_EXPENSE_RULE&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Export Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_SEPARATOR_TO_USE&#039;&#039;&#039; ► String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;&amp;lt;code&amp;gt;,&amp;lt;/code&amp;gt;&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=&amp;lt;code&amp;gt;;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORT_CSV_FORCE_CHARSET&#039;&#039;&#039; ► 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= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;EXPORTTOOL_CATEGORIES&#039;&#039;&#039; ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;USE_STRICT_CSV_RULES&#039;&#039;&#039; ► Use strict/real CSV format for export. Do not clean/replace CR+LF with &#039;\n&#039; but quote them using the escaping CSV char (&amp;lt;code&amp;gt;&amp;quot;&amp;lt;/code&amp;gt;).&lt;br /&gt;
*&#039;&#039;&#039;EXPORTS_SHARE_MODELS&#039;&#039;&#039;  ► Share export models between users.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Foundation Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_URL_REDIRECT_SUBSCRIPTION&#039;&#039;&#039; ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_EXT_URL_SUBSCRIPTION_INFO&#039;&#039;&#039; ► Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front of payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Interventions Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_CLASSIFY_BILLED&#039;&#039;&#039;► Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger &amp;lt;code&amp;gt;FICHINTER_CLASSIFY_BILLED&amp;lt;/code&amp;gt; into list of possible automatic event into agenda.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FICHINTER_DISABLE_DETAILS&#039;&#039;&#039;► Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Invoice Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DEPOSIT_MULTI_TVA&#039;&#039;&#039; ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039;* ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUUPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED&#039;&#039;&#039; ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_ALWAYS_BE_EDITED&#039;&#039;&#039; changed in version 15 or 16 to &#039;&#039;&#039;INVOICE_CAN_BE_EDITED_EVEN_IF_PAYMENT_DONE&#039;&#039;&#039; ► Allow to edit invoices even if payment was started. Note: If the module &amp;quot;BlockedLog&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_ALWAYS_BE_REMOVED&#039;&#039;&#039; ► Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;BlockedLog&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CAN_NEVER_BE_REMOVED&#039;&#039;&#039; ► Never allow to delete invoices (except draft invoices).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POSITIVE_CREDIT_NOTE&#039;&#039;&#039; ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_DEPOSITS_ARE_JUST_PAYMENTS&#039;&#039;&#039; ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#039;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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_SENDBYEMAIL_FOR_ALL_STATUS&#039;&#039;&#039; ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_CREDIT_NOTE_STANDALONE&#039;&#039;&#039; ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION&#039;&#039;&#039; ► Enable the &amp;quot;situation invoice&amp;quot; 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_SITUATION_CREDIT_NOTE&#039;&#039;&#039; ► Enable the &amp;quot;situation credit note&amp;quot; feature (need &amp;lt;code&amp;gt;INVOICE_USE_SITUATION&amp;lt;/code&amp;gt;) ► (v8.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_RETAINED_WARRANTY&#039;&#039;&#039; ► Enable the retained warranty on invoice ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_DEPOSIT&#039;&#039;&#039; ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_REPLACEMENT&#039;&#039;&#039; ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISABLE_CREDIT_NOTE&#039;&#039;&#039; ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ADD_ZATCA_QR_CODE&#039;&#039;&#039; ► Add a QR code with format ZATCA (for Saudi Arabia) on PDF of invoices.&lt;br /&gt;
&lt;br /&gt;
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&amp;amp;gl=FR&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_BILL_ON_SHIPMENT&#039;&#039;&#039; ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_POINTOFTAX_DATE&#039;&#039;&#039; ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE&#039;&#039;&#039; ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_ENABLE_NEGATIVE_LINES&#039;&#039;&#039; ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_USE_DEFAULT_DOCUMENT&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FACTURE_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM&#039;&#039;&#039; ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST&#039;&#039;&#039; ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_ALLOW_FREE_REF&#039;&#039;&#039; ► 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)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_DISALLOW_REOPEN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_MAX_FUTURE_DELAY&#039;&#039;&#039; ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_AUTO_NEXT_MONTH_ON_LINES&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;INVOICE_KEEP_DISCOUNT_LINES_AS_IN_ORIGIN&#039;&#039;&#039; ► Does not change a line with a negative price into an absolute discount when creating an invoice ► (V16 ?)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the saturday as a working day&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY&#039;&#039;&#039; ► Set this value to 0 if you want to have the sunday as a working day&lt;br /&gt;
&lt;br /&gt;
=Look or Theme=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FAVICON_URL&#039;&#039;&#039; ► favicon url&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EASTER_EGG_COMMITSTRIP&#039;&#039;&#039; ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_STATUS_USES_CSS&#039;&#039;&#039; ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_TOP_MENU_SEARCH_DROPDOWN&#039;&#039;&#039; ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_AGRESSIVENESS_RATIO&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THEME_SHOW_BORDER_ON_INPUT&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_WORKBOARD&#039;&#039;&#039; ► Hide the workboard of the main page ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_GLOBAL_BOXSTATS&#039;&#039;&#039; ► Hide the Statistic Box of the main page&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=MultiCurrency=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION&#039;&#039;&#039; ► Enable CurrencyLayer API synchronization&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Order Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER&#039;&#039;&#039; =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_REQUIRE_SOURCE&#039;&#039;&#039; =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_VALID_AFTER_CLOSE_PROPAL&#039;&#039;&#039; =&amp;gt; When an order is created on a proposal close, the order is directly defined with status &amp;quot;Validated&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; =&amp;gt; When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ORDER_ENABLE_NEGATIVE&#039;&#039;&#039; =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER&#039;&#039;&#039; =&amp;gt; Copy also extrafields from thirdparty to order (if name match). ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=PDF Options=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ADD_PDF_BACKGROUND&#039;&#039;&#039; ► Define this constant with short name of a PDF file (example &amp;quot;&amp;lt;code&amp;gt;mypdf.pdf&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany&amp;lt;/code&amp;gt;&amp;quot;. 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FORCE_SAVEAS&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_AUTOUPDATE&#039;&#039;&#039; ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_PDF_COMPRESSION&#039;&#039;&#039; ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DOCUMENTS_WITH_PICTURE_WIDTH&#039;&#039;&#039; ► Can change size of picture when hidden option &amp;lt;code&amp;gt;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&amp;lt;/code&amp;gt; is used. By default value is &amp;lt;code&amp;gt;20&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS&#039;&#039;&#039; ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_INVOICES_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE&#039;&#039;&#039; ► Include the first image of the product into the line of the generated PDF for supplier orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT&#039;&#039;&#039; ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN&#039;&#039;&#039; ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INVERT_SENDER_RECIPIENT&#039;&#039;&#039; ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF&#039;&#039;&#039; ► Activate ODT to PDF conversion. Value can be &amp;quot;libreoffice&amp;quot; or &amp;quot;unoconv&amp;quot;. Do not use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;jodconverter&#039;&amp;lt;nowiki/&amp;gt;&#039;&#039;&#039; any more, as it is declared deprecated and partly not functional, use value &#039;&#039;&#039;&amp;lt;nowiki/&amp;gt;&#039;libreoffice&#039;&#039;&#039;&#039; instead, it requires only &#039;&#039;&#039;soffice&#039;&#039;&#039; (OpenOffice or LibreOffice) installed on server (use &#039;&#039;&#039;apt install soffice libreoffice-common libreoffice-writer&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
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:&amp;quot;/tmp&amp;quot; --convert-to pdf --outdir xxx ./yyy.odt, check that directory defined into env:UserInstallation parameters exists and is writeable.&lt;br /&gt;
&lt;br /&gt;
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]]&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ODT_AS_PDF_DEL_SOURCE&#039;&#039;&#039; ► 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&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT&#039;&#039;&#039; ► To ignore font defined into language file and force usage of a particular font. For example &amp;quot;&amp;lt;code&amp;gt;DejaVuSans&amp;lt;/code&amp;gt;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FORCE_FONT_SIZE&#039;&#039;&#039; ► To force size of font (by default 10). For example &amp;quot;&amp;lt;code&amp;gt;12&amp;lt;/code&amp;gt;&amp;quot; ► (v11.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_FREETEXT_HEIGHT&#039;&#039;&#039; ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_TITLE_BACKGROUND_COLOR&#039;&#039;&#039; ► Can define a background color onto title line. Example: &amp;lt;code&amp;gt;220,220,200&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_USE_LARGE_LOGO&#039;&#039;&#039; ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_BACKGROUND_ON_PDF&#039;&#039;&#039; ► Define this constant with short name of an image (example &amp;quot;&amp;lt;code&amp;gt;myimage.jpg&amp;lt;/code&amp;gt;&amp;quot;) that must be saved into directory &amp;quot;&amp;lt;code&amp;gt;documents/mycompany/logos&amp;lt;/code&amp;gt;&amp;quot;. This will add this background image into your generated PDF files.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_COMPANY_NAME_OF_CONTACT&#039;&#039;&#039; ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_ADDALSOTARGETDETAILS&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_TVAINTRA_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► 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+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID1_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 1 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID2_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 2 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID3_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 3 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID4_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 4 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID5_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 5 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROFID6_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show Professional ID 6 in source address of PDF to comply with legalities in certain countries ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN&#039;&#039;&#039; ► Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for France, &amp;quot;sort code/account number&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_BOLD_PRODUCT_REF_AND_PERIOD&#039;&#039;&#039; ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES&#039;&#039;&#039; ► Modify the use/position of Supplier Ref/Internal Ref with the item Label (name) on PDF documents.&lt;br /&gt;
&lt;br /&gt;
Default (constant not set or Value &amp;lt;code&amp;gt;0&amp;lt;/code&amp;gt;): Internal ref followed by supplier ref in brackets.&amp;quot;COMPANY-REF-001 (Vendor SKU SUPPLIER-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt;: Supplier ref only eg.&amp;quot;SUPPLIER-REF-001 - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Value &amp;lt;code&amp;gt;2&amp;lt;/code&amp;gt;: Supplier ref followed by internal ref in brackets. eg.&amp;quot;SUPPLIER-REF-001 (InternalRef COMPANY-REF-001) - LABEL...&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME&#039;&#039;&#039; ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SECURITY_ENCRYPTION&#039;&#039;&#039; ► Encrypt PDF produced by dolibarr ► (v?) . See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_USERPASS&#039;&#039;&#039; - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_OWNERPASS&#039;&#039;&#039; (random if not specified) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_STRENGTH&#039;&#039;&#039; (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - &#039;&#039;&#039;PDF_SECURITY_ENCRYPTION_PUBKEYS&#039;&#039;&#039; Array of recipients containing public-key certificates (&#039;c&#039;) and permissions (&#039;p&#039;) - For example: array(array(&#039;c&#039; =&amp;gt; &#039;file://../examples/data/cert/tcpdf.crt&#039;, &#039;p&#039; =&amp;gt; array(&#039;print&#039;)))&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_SHOW_PROJECT&#039;&#039;&#039; ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_1A&#039;&#039;&#039; ► PDF files produced by dolibarr respect PDF/A standard ► (v?)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PDF_USE_ALSO_LANGUAGE_CODE&#039;&#039;&#039; ► The value of this constant must be a language code (&#039;fr_FR&#039;, &#039;en_US&#039;, &#039;sa_SA&#039;, ...). If set, the PDF document will contains both language (default and the one defined by the constant).&lt;br /&gt;
*&#039;&#039;&#039;DOC_SHOW_FIRST_SALES_REP&#039;&#039;&#039; ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_DASH_BETWEEN_LINES&#039;&#039;&#039;&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;SHOW_SUBPRODUCT_REF_IN_PDF&#039;&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES&#039;&#039;&#039; ► hide product label in supplier order lines (V15+)&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_DISPLAY_AMOUNT_HT&#039;&#039;&#039; ► Show HT unit price and HT total price for lines of PDF shipment&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Point of Sale (POS)=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CASHDESK_SHOW_KEYPAD&#039;&#039;&#039; ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;POS_ADDON&#039;&#039;&#039; ► Set this value to an existing numbering module rule (for example &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039;, &#039;&amp;lt;code&amp;gt;mod_facture_mars&amp;lt;/code&amp;gt;&#039;, ...) to force the numbering module to use for invoice ref definition when invoice is created by the POS. For example setting value &amp;lt;code&amp;gt;POS_ADDON&amp;lt;/code&amp;gt; to &#039;&amp;lt;code&amp;gt;mod_facture_terre&amp;lt;/code&amp;gt;&#039; will use the numbering module &#039;&amp;lt;code&amp;gt;terre&amp;lt;/code&amp;gt;&#039; 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).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_ENABLE_SUMUP&#039;&#039;&#039; ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT&#039;&#039;&#039; ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_CONTROL_CASH_OPENING&#039;&#039;&#039; ► Control the cash openning&lt;br /&gt;
*&#039;&#039;&#039;TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&#039;&#039;&#039;&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CATEGORY_GRAPHSTATS_ON_PRODUCTS&#039;&#039;&#039; ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE&#039;&#039;&#039; ► Avoid customs code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_TYPE_IN_DOCUMENTS&#039;&#039;&#039; ► Add text &amp;quot;Product&amp;quot; or &amp;quot;Service&amp;quot; at beginning of details lines on built PDF documents.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DONOTSEARCH_ANYWHERE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DIRECT_STATUS_UPDATE&#039;&#039;&#039; ► Allows you to change the status of the product (&#039;&#039;for sale/not for sale for purchase/not for purchase&#039;&#039;) directly on the product page via a &#039;&#039;on/off&#039;&#039; 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&#039;t generate a MODIFY trigger, so be careful with external modules. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SEARCH_PRODUCT_BY_FOURN_REF&#039;&#039;&#039; ►  Allow to search a product by supplier ref in document&#039;s add line form. ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_DISABLE_FREE_LINES&#039;&#039;&#039; ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_SHOW_PRODUCT_ACTIVITY_TRIM&#039;&#039;&#039; ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_DESC_IN_LIST&#039;&#039;&#039; ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES&#039;&#039;&#039; ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PUBLIC_URL&#039;&#039;&#039; ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_STOCK_LEVELS&#039;&#039;&#039; ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_NATURE&#039;&#039;&#039; ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_WEIGHT&#039;&#039;&#039; ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_PRICES&#039;&#039;&#039; ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_ACCOUNTING&#039;&#039;&#039;  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SIZE&#039;&#039;&#039; ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_LENGTH&#039;&#039;&#039; ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SURFACE&#039;&#039;&#039; ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_VOLUME&#039;&#039;&#039; ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_CUSTOM_INFO&#039;&#039;&#039; ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL&#039;&#039;&#039; ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY&#039;&#039;&#039; ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES&#039;&#039;&#039; ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOT_ENABLE_QUALITY_CONTROL&#039;&#039;&#039; ► Enable feature for control quality on Lot&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_LENGTH_COMBO&#039;&#039;&#039; ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_MAX_VISIBLE_PHOTO&#039;&#039;&#039; ► Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;&amp;lt;code&amp;gt;5&amp;lt;/code&amp;gt;&#039; will show the first five product photos found on the product card.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_OLD_PATH_FOR_PHOTO&#039;&#039;&#039; ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_USE_UNITS&#039;&#039;&#039; ► Add another units on products (Use same dictionnary as default unit feature) and propagate this unit on line of documents.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_PRODUCTS&#039;&#039;&#039; ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;RESOURCE_ON_SERVICES&#039;&#039;&#039; ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SHOW_ORIGIN_IN_COMBO&#039;&#039;&#039; ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_ATTRIBUTES_HIDECHILD&#039;&#039;&#039;  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_FORM_ADD_TO&#039;&#039;&#039; ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_SELLBY&#039;&#039;&#039; ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DISABLE_EATBY&#039;&#039;&#039; ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_DENY_CHANGE_PRODUCT_TYPE&#039;&#039;&#039; ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_SORT_BY_CATEGORY&#039;&#039;&#039; ► Sort the product by categories instead of by ID&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_ADD_NET_MEASURE&#039;&#039;&#039; ► Support Net Measure in product&#039;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+)&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_PRICE_BASE_TYPE&#039;&#039;&#039;  ► value &#039;TTC&#039; / &#039;HT&#039; specify the default value of the price (with or without taxes) ► (v16.0.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES&#039;&#039;&#039; ► Load product extrafiled on object lines&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Projects Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY&#039;&#039;&#039; ► Can link an object to a project of another thirdparty&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_PROJECT&#039;&#039;&#039; ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_TASK&#039;&#039;&#039; ► Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS&#039;&#039;&#039; ► Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_CREATE_ON_OVERVIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;create ...&amp;quot; button on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_DISABLE_UNLINK_FROM_OVERVIEW&#039;&#039;&#039; ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_UNSELECTABLES&#039;&#039;&#039; ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_HIDE_TASKS&#039;&#039;&#039; ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LIST_SHOW_STARTDATE&#039;&#039;&#039; ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_LINK_ON_OVERWIEW_DISABLED&#039;&#039;&#039; ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_SHOW_REF_INTO_LISTS&#039;&#039;&#039; ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS&#039;&#039;&#039; ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_OPEN_ALWAYS_ON_TAB&#039;&#039;&#039; ► Set to value &#039;task&#039;, or &#039;preview&#039; to always open the project on the given tab instead of main tab.&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;PROJECT_ELEMENTS_FOR_MINUS_MARGIN&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_GENERATE_PROPOSALS_WITH_PICTURE&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PROPAL_CHOOSE_ODT_DOCUMENT&#039;&#039;&#039; ► On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_CLONE_ON_CREATE_PAGE&#039;&#039;&#039; ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_DISABLE_SIGNATURE&#039;&#039;&#039; ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PRODUIT_PDF_MERGE_PROPAL&#039;&#039;&#039; ► When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT&#039;&#039;&#039; ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTTERM&#039;&#039;&#039; ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_PDF_HIDE_PAYMENTMODE&#039;&#039;&#039; ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES&#039;&#039;&#039; ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
*&#039;&#039;&#039;PROPAL_REOPEN_UNSIGNED_ONLY&#039;&#039;&#039;  ► Do not allow reopening of signed (or billed) proposals. (V15)&lt;br /&gt;
*&#039;&#039;&#039;PROPOSAL_ARE_NOT_BILLABLE&#039;&#039;&#039;  ► Disable billing button on proposals (V15)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Services Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SERVICE_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ►  If seller and buyer are in Europe and buyer is not a company, use the VAT of buying country. For french speaking people, see also the page [[Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE&#039;&#039;&#039;  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS&#039;&#039;&#039; ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SHIPMENT_GETS_ALL_ORDER_PRODUCTS&#039;&#039;&#039; ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
*&#039;&#039;&#039;SHIPPING_PDF_HIDE_ORDERED&#039;&#039;&#039; ►Hide column quantity ordered on shippment pdf (&amp;gt;=15.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Stocks=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED&#039;&#039;&#039; ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STOCK_EXCLUDE_VIRTUAL_PRODUCTS&#039;&#039;&#039; ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;ENTREPOT_EXTRA_STATUS&#039;&#039;&#039; ► 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&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK&#039;&#039;&#039; ► 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)&lt;br /&gt;
*&#039;&#039;&#039;STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE&#039;&#039;&#039; ► to hide unit price on some pages (V15+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Suppliers Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FOURN_PRODUCT_AVAILABILITY&#039;&#039;&#039; ► On the Suppliers price page of the products, activate the supplier product availability. &#039;&#039;This is duplicate feature with delivery_delay introduced with 3.8.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;RELOAD_PAGE_ON_SUPPLIER_CHANGE&#039;&#039;&#039; ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_AUTOADD_USER_CONTACT&#039;&#039;&#039; ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID&#039;&#039;&#039; ► Set the default payment method for suppliers (&amp;lt;code&amp;gt;rowid&amp;lt;/code&amp;gt; in table &amp;lt;code&amp;gt;llx_c_paiement&amp;lt;/code&amp;gt;).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_USE_DISPATCH_STATUS&#039;&#039;&#039; ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_NO_DIRECT_APPROVE&#039;&#039;&#039; ► No button &amp;quot;Validate and Approve&amp;quot;. Always do step &amp;quot;Validate&amp;quot; and &amp;quot;Approve&amp;quot; in 2 steps.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT&#039;&#039;&#039; ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY&#039;&#039;&#039; ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;DISPLAY_DISCOUNTED_SUPPLIER_PRICE&#039;&#039;&#039; ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER&#039;&#039;&#039; ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Third Parties Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;COMPANY_AQUARIUM_CLEAN_REGEX&#039;&#039;&#039; ► 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 = &#039;&amp;lt;code&amp;gt;^..(..)..(.*)&amp;lt;/code&amp;gt;&#039; the first char and second char are removed and the char 5 and 6 too ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_UNKNOWN_CUSTOMERS_ARE_COMPANIES&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► See in Global options section.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_EMAIL_MANDATORY&#039;&#039;&#039; ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_CUSTOMERS&#039;&#039;&#039; ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PROSPECTS&#039;&#039;&#039; ► Remove all menu and features related to prospects&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_STATE&#039;&#039;&#039; ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SORT_ON_TYPEENT&#039;&#039;&#039; ► The combo list of &amp;quot;type of third party&amp;quot; is sorted on alphabetical order instead of the field &amp;quot;position&amp;quot; that appears into dictionary instead.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ASK_FOR_SHIPPING_METHOD&#039;&#039;&#039; ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_ADD_REF_IN_LIST&#039;&#039;&#039; ► Displays the code before the name in the lists  ► Value 1 -&amp;gt; Code + name + alias ou Code + name if colone alias 2 -&amp;gt; Code + alias 3 -&amp;gt; Alias&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER&#039;&#039;&#039; ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX1&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use second tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_USELOCALTAX2&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use third tax&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Do not set status &amp;quot;Customer/Prospect&amp;quot; to &amp;quot;on&amp;quot; when creating a new third party from menu &amp;quot;New third party&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PARENT_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO&#039;&#039;&#039; ► Search also for elements on third party that own the project of the current element when using the &amp;quot;link to&amp;quot; object feature (if project is owned by a different thirdparty than current one).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD&#039;&#039;&#039; ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION&#039;&#039;&#039; ► Enabled contact creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_QUICKSEARCH_ON_FIELDS&#039;&#039;&#039; ► Personalized search criterias ► Example: $conf-&amp;gt;global-&amp;gt;THIRDPARTY_QUICKSEARCH_ON_FIELDS = &#039;s.nom=ThirdPartyName;s.name_alias=AliasNameShort;s.code_client=CustomerCode&#039;&lt;br /&gt;
*&#039;&#039;&#039;MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS&#039;&#039;&#039; ► Enabled member creation on third-party create card&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_PARENTCOMPANY&#039;&#039;&#039; ► Disables attachment to a parent company.&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to customer by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_SUPPLIER_BY_DEFAULT&#039;&#039;&#039; ► Set the third party to supplier by default&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT&#039;&#039;&#039; ► Set the third party type by default (3 = customer &amp;amp; prospect / 2 = prospect / 1 = customer )&lt;br /&gt;
*&#039;&#039;&#039;CONTACT_DISABLE_PERSONALINFO&#039;&#039;&#039; ► Disable Personal data on contact page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_DISABLE_WORKFORCE&#039;&#039;&#039; ► Disable work force selector on society page&lt;br /&gt;
*&#039;&#039;&#039;SOCIETE_SHOW_VAT_IN_LIST&#039;&#039;&#039; ► display VAT number in combo list of thirdparties ► (V15+)&lt;br /&gt;
*&#039;&#039;&#039;THIRDPARTY_DEFAULT_CREATE_CONTACT&#039;&#039;&#039; ► When set, a contact is created at the creation of an invidual third party ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Ticket Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;TICKET_SHOW_MESSAGES_ON_CARD&#039;&#039;&#039; ►Display all ticket related messages on the main ticket card. ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_ASSIGN_CONTRACT_CREATE&#039;&#039;&#039; ►Automatically create a contract linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;TICKET_AUTO_CREATE_FICHINTER_CREATE&#039;&#039;&#039; ►Automatically create an intervention linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*&#039;&#039;&#039;WORKFLOW_TICKET_CLOSE_INTERVENTION&#039;&#039;&#039; ►On ticlet close, automatically close an intervention linked to the ticket&lt;br /&gt;
*&#039;&#039;&#039;TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION&#039;&#039;&#039; ►Automatically check &amp;quot;notify thirdparty at creation&amp;quot; ( &amp;gt;=16)&lt;br /&gt;
*&#039;&#039;&#039;TICKETS_MESSAGE_FORCE_MAIL&#039;&#039;&#039; ► Precheck email sending on ticket message (&amp;gt;=15)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=VAT Report=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_INCLUDE_ZERO_VAT_IN_REPORTS&#039;&#039;&#039; ► Include lines with VAT to 0% (for &amp;quot;auto-liquidation&amp;quot; in EEC) ► (v8.0.3+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Website Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_USE_WEBSITE_ACCOUNTS&#039;&#039;&#039; ► Add a table and a tab to manage some accounts for websites to a third party&lt;br /&gt;
*&lt;br /&gt;
*&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_ADD_CSS_TO_BODY&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=WYSIWYG Editor=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ENABLE_DETAILS_FULL&#039;&#039;&#039; ► 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.&lt;br /&gt;
*&#039;&#039;&#039;FCKEDITOR_ALLOW_ANY_CONTENT&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;STRIPE_FORCE_VERSION&#039;&#039;&#039; ► Force the STRIPE version. For Example: &amp;quot;2019-09-09&amp;quot; (v11+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=ClickToDial Module=&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CLICKTODIAL_FORCENEWTARGET&#039;&#039;&#039; ► Open in new page.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=For SaaS / Cloud hosting integrators=&lt;br /&gt;
&lt;br /&gt;
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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_KEY_CHANGE&#039;&#039;&#039; ► 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 &#039;Scheduled Jobs&#039;). 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]].&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_DISABLE_TUTORIAL_CRON&#039;&#039;&#039; ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;CRON_WARNING_DELAY_HOURS&#039;&#039;&#039; ► 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)&lt;br /&gt;
 &lt;br /&gt;
*&#039;&#039;&#039;MAILING_NO_USING_PHPMAIL&#039;&#039;&#039; ► To avoid bad use of the emailing module, it is recommended to set this option 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; ► If you set a limit on number of recipient on your system, you can set some option to match the same values so users will be informed: So &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL&#039;&#039;&#039; restricts sending of 1 email message to &amp;lt;code&amp;gt;x&amp;lt;/code&amp;gt; recipients for the same email message (x for To: + CC: + BCC:). If not defined, value is &amp;lt;code&amp;gt;10&amp;lt;/code&amp;gt;. Required to fight against spamming that include a ton of recipients in 1 message. Note that &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL&#039;&#039;&#039;, &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL&#039;&#039;&#039; and &#039;&#039;&#039;MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL&#039;&#039;&#039; are also available. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_SENDBYDAY&#039;&#039;&#039; ► This is a limit of number of emails, an instance can send. Note that this is not a hard limit; it is just the quantity that will be displayed on warnings on screen. For a real limit, this must be implemented into the system.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAILING_LIMIT_WARNING_PHPMAIL&#039;&#039;&#039; ► 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 &#039;&#039;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)&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE&#039;&#039;&#039; ► 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&#039;t be used on your customer instance (until the lock file is deleted).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS&#039;&#039;&#039; ► (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:&lt;br /&gt;
**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.&lt;br /&gt;
**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 &#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD&#039;&#039;&#039; ► 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FIRST_PING_OK_ID&#039;&#039;&#039; ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_FILECHECK_LOCAL_SUFFIX&#039;&#039;&#039; and &#039;&#039;&#039;MAIN_FILECHECK_LOCAL_EXT&#039;&#039;&#039; ► 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 &amp;quot;&#039;&#039;&#039;-mysaassolution&#039;&#039;&#039;&amp;quot;. So, when the user will use the file integrity tool, the default file to check for signature will be &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml&#039;&#039;&#039;&amp;quot; instead of &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2.xml&#039;&#039;&#039;&amp;quot;. All you have to do is generate the signature file &#039;&#039;&#039;mysaassolution&#039;&#039;&#039; using the tool &#039;&#039;&#039;build/generate_filelist_xml.php&#039;&#039;&#039; 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 &amp;quot;&#039;&#039;&#039;/install/filelist-10.0.2-mysaassolution.xml.zip&#039;&#039;&#039;&amp;quot;, you can set the constant MAIN_FILECHECK_LOCAL_EXT to &#039;.zip&#039;.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP&#039;&#039;&#039; ► Set to 1 by default (so warning is hidden). You can set it to 0 to show a warning to encourage admin to set its own SMTP service.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING&#039;&#039;&#039; ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &amp;lt; 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.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_NO_UPGRADE_REDIRECT_ON_LEVEL_3_CHANGE&#039;&#039;&#039; ► The page to make the migration is not shown automatically when deploy files of version X.Y.Z+delta are installed on database version X.Y.Z. The upgrade page will be shown automatically only if there is a change on value of X or Y in version.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;SYSLOG_DISABLE_LOGHANDLER_SYSLOG&#039;&#039;&#039; ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER&#039;&#039;&#039; ► Put here a text or a translation key of a text to show when the user will use the feature &amp;quot;Deploy&amp;quot; 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.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53510</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53510"/>
		<updated>2022-04-29T10:20:55Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Mentions complémentaires */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation/configuration=&lt;br /&gt;
&lt;br /&gt;
===Activation du mode multi-langue===&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
===Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)===&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
===Langue de communication par défaut des tiers et des contacts===&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du &amp;lt;u&amp;gt;tiers&amp;lt;/u&amp;gt;, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›.&lt;br /&gt;
&lt;br /&gt;
A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
Pour les &amp;lt;u&amp;gt;contacts&amp;lt;/u&amp;gt;, vous pouvez créer des catégories pour indiquer la langue de communication sans modification du core. Avec ce fix https://github.com/Dolibarr/dolibarr/pull/20688 vous pourrez gérer la langue par défaut dans la fiche du contact de la même manière que c&#039;est géré en natif pour le tiers.&lt;br /&gt;
&lt;br /&gt;
===Gérer son catalogue de produits et services===&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées. Il faut utiliser les derniers modèles pdf : espadon, eratosthene, sponge, cyan, cornas et storm.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
===Modèle d&#039;Emails===&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
===Entrées des dictionnaires spécifiques à votre instance Dolibarr===&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===Documents commerciaux===&lt;br /&gt;
&lt;br /&gt;
====Langue====&lt;br /&gt;
Les documents de Dolibarr seront générés dans la langue par défaut du tiers.&lt;br /&gt;
&lt;br /&gt;
Il est possible de générer des documents pdf bilingues, dans la langue par défaut et dans une langue à choisir. Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajouter PDF_USE_ALSO_LANGUAGE_CODE et lui donner la valeur de la seconde langue,  par exemple &amp;quot;en_GB&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Mentions complémentaires====&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si l&#039;on veut faire apparaître la mention complémentaire &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; sur les factures en français et en anglais :&lt;br /&gt;
&lt;br /&gt;
#on crée le nom de la variable de substitution, &amp;quot;IndemRecouvr&amp;quot;&lt;br /&gt;
#dans la configuration de la facture, on complète la zone mention complémentaire ainsi __(IndemRecouvr)__&lt;br /&gt;
#dans Accueil - Configuration - Traduction, on ajoute la clé &amp;quot;IndemRecouvr&amp;quot; et sa traduction/valeur dans les langues choisies, par exemple : &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; pour le français et &amp;quot;Flat-rate compensation for collection costs: 40€&amp;quot; pour l&#039;anglais. &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53492</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53492"/>
		<updated>2022-04-22T14:40:29Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: langue des documents Dolibarr&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation/configuration=&lt;br /&gt;
&lt;br /&gt;
===Activation du mode multi-langue===&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
===Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)===&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
===Langue de communication par défaut des tiers et des contacts===&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du &amp;lt;u&amp;gt;tiers&amp;lt;/u&amp;gt;, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›.&lt;br /&gt;
&lt;br /&gt;
A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
Pour les &amp;lt;u&amp;gt;contacts&amp;lt;/u&amp;gt;, vous pouvez créer des catégories pour indiquer la langue de communication sans modification du core. Avec ce fix https://github.com/Dolibarr/dolibarr/pull/20688 vous pourrez gérer la langue par défaut dans la fiche du contact de la même manière que c&#039;est géré en natif pour le tiers.&lt;br /&gt;
&lt;br /&gt;
===Gérer son catalogue de produits et services===&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées. Il faut utiliser les derniers modèles pdf : espadon, eratosthene, sponge, cyan, cornas et storm.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
===Modèle d&#039;Emails===&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
===Entrées des dictionnaires spécifiques à votre instance Dolibarr===&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Documents commerciaux ===&lt;br /&gt;
&lt;br /&gt;
==== Langue ====&lt;br /&gt;
Les documents de Dolibarr seront générés dans la langue par défaut du tiers.&lt;br /&gt;
&lt;br /&gt;
Il est possible de générer des documents pdf bilingues, dans la langue par défaut et dans une langue à choisir. Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajouter PDF_USE_ALSO_LANGUAGE_CODE et lui donner la valeur de la seconde langue,  par exemple &amp;quot;en_GB&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
====Mentions complémentaires====&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si l&#039;on veut faire apparaître la mention complémentaire &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; sur les factures en français et en anglais :&lt;br /&gt;
&lt;br /&gt;
#on crée le nom de la variable de substitution, &amp;quot;IndemRecouvr&amp;quot;&lt;br /&gt;
#dans la configuration de la facture, on complète la zone mention complémentaire ainsi __(IndemRecouvr)__&lt;br /&gt;
#dans Accueil - Configuration - Traduction, on ajoute la clé &amp;quot;IndemRecouvr&amp;quot; et sa traduction/valeur dans les langues choisies, &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; pour le français et &amp;quot;Flat-rate compensation for collection costs: 40€&amp;quot; pour l&#039;anglais. &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53491</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53491"/>
		<updated>2022-04-22T13:24:07Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Modeles pdf à utiliser&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation=&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multi-langue==&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)==&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==Langue de communication par défaut des tiers et des contacts==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du &amp;lt;u&amp;gt;tiers&amp;lt;/u&amp;gt;, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›.&lt;br /&gt;
&lt;br /&gt;
A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
Pour les &amp;lt;u&amp;gt;contacts&amp;lt;/u&amp;gt;, vous pouvez créer des catégories pour indiquer la langue de communication sans modification du core. Avec ce fix https://github.com/Dolibarr/dolibarr/pull/20688 vous pourrez gérer la langue par défaut dans la fiche du contact de la même manière que c&#039;est géré en natif pour le tiers.&lt;br /&gt;
&lt;br /&gt;
==Gérer son catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées. Il faut utiliser les derniers modèles pdf : espadon, eratosthene, sponge, cyan, cornas et storm.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Modèle d&#039;Emails==&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si l&#039;on veut faire apparaître la mention complémentaire &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; sur les factures en français et en anglais :&lt;br /&gt;
&lt;br /&gt;
#on crée le nom de la variable de substitution, &amp;quot;IndemRecouvr&amp;quot;&lt;br /&gt;
#dans la configuration de la facture, on complète la zone mention complémentaire ainsi __(IndemRecouvr)__&lt;br /&gt;
#dans Accueil - Configuration - Traduction, on ajoute la clé &amp;quot;IndemRecouvr&amp;quot; et sa traduction/valeur dans les langues choisies, &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; pour le français et &amp;quot;Flat-rate compensation for collection costs: 40€&amp;quot; pour l&#039;anglais. &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53490</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53490"/>
		<updated>2022-04-22T12:57:02Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: /* Langue de communication par défaut des contacts */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation=&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multi-langue==&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)==&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==Langue de communication par défaut des tiers et des contacts==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du &amp;lt;u&amp;gt;tiers&amp;lt;/u&amp;gt;, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›.&lt;br /&gt;
&lt;br /&gt;
A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
Pour les &amp;lt;u&amp;gt;contacts&amp;lt;/u&amp;gt;, vous pouvez créer des catégories pour indiquer la langue de communication sans modification du core. Avec ce fix https://github.com/Dolibarr/dolibarr/pull/20688 vous pourrez gérer la langue par défaut dans la fiche du contact de la même manière que c&#039;est géré en natif pour le tiers.&lt;br /&gt;
&lt;br /&gt;
==Gérer son catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Modèle d&#039;Emails==&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si l&#039;on veut faire apparaître la mention complémentaire &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; sur les factures en français et en anglais :&lt;br /&gt;
&lt;br /&gt;
#on crée le nom de la variable de substitution, &amp;quot;IndemRecouvr&amp;quot;&lt;br /&gt;
#dans la configuration de la facture, on complète la zone mention complémentaire ainsi __(IndemRecouvr)__&lt;br /&gt;
#dans Accueil - Configuration - Traduction, on ajoute la clé &amp;quot;IndemRecouvr&amp;quot; et sa traduction/valeur dans les langues choisies, &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; pour le français et &amp;quot;Flat-rate compensation for collection costs: 40€&amp;quot; pour l&#039;anglais. &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53489</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=53489"/>
		<updated>2022-04-22T10:39:28Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Détail de la mise en place de mentions complémentaires des documents&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation=&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multi-langue==&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)==&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==Langue de communication par défaut des tiers==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›. A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
==Gérér son catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Modèle d&#039;Emails==&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
Par exemple, si l&#039;on veut faire apparaître la mention complémentaire &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; sur les factures en français et en anglais :&lt;br /&gt;
&lt;br /&gt;
# on crée le nom de la variable de substitution, &amp;quot;IndemRecouvr&amp;quot;&lt;br /&gt;
# dans la configuration de la facture, on complète la zone mention complémentaire ainsi __(IndemRecouvr)__&lt;br /&gt;
# dans Accueil - Configuration - Traduction, on ajoute la clé &amp;quot;IndemRecouvr&amp;quot; et sa traduction/valeur dans les langues choisies, &amp;quot;Indemnité forfaitaire pour frais de recouvrement : 40 €&amp;quot; pour le français et &amp;quot;Flat-rate compensation for collection costs: 40€&amp;quot; pour l&#039;anglais. &amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=52433</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=52433"/>
		<updated>2021-11-16T20:42:42Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Ponctuation&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
=Activation=&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multi-langue==&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)==&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »(plusieurs langues séparées par une virgule, sans espace).&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;. Cette option étant une option expérimentale, il n&#039;est pas recommandé de l&#039;utiliser.&lt;br /&gt;
&lt;br /&gt;
Si vous voulez avoir une liste des langues fréquentes que vous utilisez, mieux vaut dans le dictionnaire des langues, définir la langue comme étant une lange &amp;quot;Favorite&amp;quot;. Elle apparaitra alors en premier dans les listes déroulantes de langues.&lt;br /&gt;
&lt;br /&gt;
=Utilisation=&lt;br /&gt;
==Langue de communication par défaut des tiers==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›. A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
==Gérér son catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Modèle d&#039;Emails==&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
Les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Toutefois, si vous ajoutez vos propres entrées dans le dictionnaire, il faudra intégrer les traductions de ces entrées créées dans les dictionnaires et spécifiques via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple les entrées ajoutées pour le dictionnaire des:&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*…&lt;br /&gt;
&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
Pour mettre une mention complémentaire dans un document, il vous faut ajouter une variable de substitution de texte de traduction.&lt;br /&gt;
Par exemple __(MonTexte)__&lt;br /&gt;
&lt;br /&gt;
Ensuite, dans le menu Accueil - Configuration - Traduction, ajouter la traduction pour chaque langue à la clé de traduction MonTexte.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;attente de la mise à jour de cette rubrique, vous pouvez consulter le sujet consacré à ce point sur le forum  : https://www.dolibarr.fr/forum/t/mention-multi-langues-chaines-de-traductions-et-facture/31239/3&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49819</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49819"/>
		<updated>2021-02-23T14:10:51Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langue permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si son activation s&#039;effectue dans la page de configuration consacrée à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multi-langue==&lt;br /&gt;
&lt;br /&gt;
Menu  &#039;&#039;&#039;&amp;quot;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&amp;quot;&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Limiter les listes de langues disponibles sur son interface (à partir de la v10 de Dolibarr ?)==&lt;br /&gt;
&lt;br /&gt;
Dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple dans &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sélectionner la langue de communication par défaut avec un tiers==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue qui sera utilisée pour la trame de pdf à utiliser à partir du champ ‹ langue par défaut ›. A la génération d&#039;un pdf, cette langue par défaut sera utilisée. Le pdf peut être généré à tout moment dans une autre langue en sélectionnant la langue appropriée sur la fiche de votre document commercial.&lt;br /&gt;
&lt;br /&gt;
==Gérér son catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Emails==&lt;br /&gt;
&lt;br /&gt;
Une fois l’option multi-langue activée, il est possible d’affecter une langue à ses modèles de courriers électroniques. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
En principe les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Il faudra intégrer les traductions des entrées créées dans les dictionnaires et spécifiques à l’instance Dolibarr via le menu &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cela concerne&lt;br /&gt;
&lt;br /&gt;
*Titres de civilités&lt;br /&gt;
*Conditions de règlement&lt;br /&gt;
*Délais de paiement&lt;br /&gt;
&lt;br /&gt;
*Délais de livraison&lt;br /&gt;
*Etc…&lt;br /&gt;
&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
&#039;&#039;&#039;Au jour de la rédaction de cette fiche, la traduction des mention complémentaire sur les documents commerciaux&#039;&#039;&#039; ne peut pas, semble-t-il, pas être gérée. Il existerait cependant un fix.&lt;br /&gt;
&lt;br /&gt;
Dans l&#039;attente de la mise à jour de cette rubrique, vous pouvez consulter le sujet consacré à ce point sur le forum  : https://www.dolibarr.fr/forum/t/mention-multi-langues-chaines-de-traductions-et-facture/31239/3&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49817</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49817"/>
		<updated>2021-02-23T13:52:24Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Mise en page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langues permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si sa configuration se trouve dans le menu consacré à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr (cf. interface utilisateur).&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multilangue==&lt;br /&gt;
&lt;br /&gt;
Accueil - config - Affichage&lt;br /&gt;
&lt;br /&gt;
Puis « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Pour limiter les langues affichées aux langues utilisées (à valider à partir de la v10)==&lt;br /&gt;
&lt;br /&gt;
Dans Accueil / Configuration / Divers, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »&lt;br /&gt;
&lt;br /&gt;
Pour connaître les codes applicables, on peut se rendre par exemple dans Accueil - config - traduction&lt;br /&gt;
&lt;br /&gt;
==Sélectionner automatiquement la langue de communication par défaut avec un tiers ?==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue choisie pour la trâme de pdf à utiliser dans le champ ‹ langue par défaut ›&lt;br /&gt;
&lt;br /&gt;
==Catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Emails==&lt;br /&gt;
&lt;br /&gt;
Il faut créer ses emails en spécifiant la langue de chacun d’eux. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
En principe les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Il faudra intégrer les traductions des entrées créées dans les dictionnaires et spécifiques à l’instance Dolibarr via Accueil / Configuration / Traduction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cela concerne&lt;br /&gt;
&lt;br /&gt;
* Titres de civilités&lt;br /&gt;
* Conditions de règlement&lt;br /&gt;
* Délais de paiement&lt;br /&gt;
&lt;br /&gt;
* Délais de livraison&lt;br /&gt;
* Etc…&lt;br /&gt;
&lt;br /&gt;
== Mentions complémentaires dans les documents commerciaux ==&lt;br /&gt;
&#039;&#039;&#039;Au jour de la rédaction de cette fiche, la mention complémentaire sur les documents commerciaux&#039;&#039;&#039; mais n’est pas substituée. Il existerait un fix.&lt;br /&gt;
&lt;br /&gt;
Voir le sujet consacré à ce point sur le forum  : &amp;lt;nowiki&amp;gt;https://www.dolibarr.fr/forum/t/mention-multi-langues-chaines-de-traductions-et-facture/31239/3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Premiers_param%C3%A9trages&amp;diff=49816</id>
		<title>Premiers paramétrages</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Premiers_param%C3%A9trages&amp;diff=49816"/>
		<updated>2021-02-23T13:49:52Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: renvoi à la page dédiée sur le mode multi-langue&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- Do NOT edit this section&lt;br /&gt;
     Links below are automatically managed by PolyglotBot&lt;br /&gt;
     You can edit links on the English source page : First_setup --&amp;gt;&lt;br /&gt;
[[en:First_setup]]&lt;br /&gt;
[[de:Grundeinstellungen]]&lt;br /&gt;
[[es:Primeras_configuraciones]]&lt;br /&gt;
[[zh:设置]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Admin fr]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
&lt;br /&gt;
Après l&#039;installation proprement dite de Dolibarr, vous devez le paramétrer pour l&#039;adapter à vos besoins avant de l&#039;utiliser réellement.&lt;br /&gt;
&lt;br /&gt;
=Société/Institution=&lt;br /&gt;
&lt;br /&gt;
Pour commencer, à partir de la page d&#039;accueil, rendez-vous dans le menu &amp;quot;&#039;&#039;&#039;Configuration -&amp;gt; Société/Institution&#039;&#039;&#039;&amp;quot; et éditez les informations de votre institution.&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Nom:&#039;&#039;&#039; Nom de la société ou association&lt;br /&gt;
*[[File:Logo size.jpg|thumb]]&#039;&#039;&#039;Logo:&#039;&#039;&#039; Ajouter ici votre logo (.png, .jpg or .gif). Le logiciel accpete toutes les tailles mais il est recommandé d&#039;utiliser un logo de 130 pixels de hauteurs et jusqu&#039;à 800 pixels de largeur. Voici un petit schéma de ce que cela peut donner sur les documents PDF. Il vaut mieux un format png SANS fond transparent (Dolibarr utilise FPDF qui ne gère pas ce genre de fichier). Dans le doute, utilisez un logo au format jpg sur fond blanc.&lt;br /&gt;
*&#039;&#039;&#039;Pays:&#039;&#039;&#039; N&#039;oubliez pas de définir votre pays car des options en dépendent&lt;br /&gt;
*&#039;&#039;&#039;TVA:&#039;&#039;&#039; Définissez si vous êtes soumis ou non à la TVA.&lt;br /&gt;
&lt;br /&gt;
=Modules=&lt;br /&gt;
&lt;br /&gt;
L&#039;activation des modules est très importante. Elle dépend de l&#039;utilisation que vous prévoyez de faire de Dolibarr. Il est très peu probable que vous ayez besoin de la totalité des modules.&lt;br /&gt;
Il vous faut donc activer les modules dont vous aurez très probablement besoin. Par exemple: Sociétés, Factures éventuellement Comptabilité.&lt;br /&gt;
&lt;br /&gt;
Pour activer les modules qui vous intéressent, rendez-vous dans le menu &amp;quot;&#039;&#039;&#039;Configuration -&amp;gt; Modules&#039;&#039;&#039;&amp;quot; et cliquez sur le lien &amp;quot;Activer&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
La liste des modules standards est définie sur la page [[:Category:Liste des Modules|Liste des Modules]].&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;êtes pas sûr de vous, activez les modules les uns après les autres et voyez les fonctionnalités qu&#039;ils ajoutent dans Dolibarr (vérifiez avant les droits, voir ci-dessous). Il est bien sûr possible de désactiver des modules après coup.&lt;br /&gt;
&lt;br /&gt;
Une fois activés, certains modules nécessitent une configuration supplémentaire (cliquer sur l&#039;icône qui apparait tout à droite sur la même ligne). Voir la [[:Category:Liste des Modules|documentation du module]] pour plus d&#039;information.&lt;br /&gt;
&lt;br /&gt;
=Menus=&lt;br /&gt;
Choisissez dans cette rubrique quel gestionnaire de menu utiliser pour les utilisateurs internes et externes. Le gestionnaire de menu influe sur les libellés, ordres et organisation des menus haut et gauches. Voir la page [[Système de menus]] pour plus d&#039;information.&lt;br /&gt;
&lt;br /&gt;
=Affichage=&lt;br /&gt;
&lt;br /&gt;
Cette partie vous permet de choisir la langue et la présentation des pages. Dans un premier temps vous devriez conserver les options par défaut.&lt;br /&gt;
&lt;br /&gt;
L&#039;option multilangue permet de gérer différente traduction pour la traduction des produit par exemple, ainsi que de choisir la langue par défaut des clients afin d&#039;éditer les documents PDF dans la langues par défaut du tiers. Une synthèse des paramétrages à effectuer à la suite de l&#039;activation de l&#039;option multilangue est disponible sur la page dédiée de ce wiki&amp;lt;syntaxhighlight lang=&amp;quot;html5&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;a href=&amp;quot;https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;amp;oldid=49814&amp;quot;&amp;gt;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
copie écran&lt;br /&gt;
&lt;br /&gt;
[[File:Configuration_-Affichage_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
=Autres (Boites, Alertes, Sécurité, Limites et précisions, EMails, Dico...)=&lt;br /&gt;
Les autres entrées du menu Configuration sont des options avancées. Il n&#039;est pas obligatoire de les parcourir.&lt;br /&gt;
&lt;br /&gt;
*[[Paramétrage Traduction]]&lt;br /&gt;
*[[Paramétrage Valeurs par défaut]]&lt;br /&gt;
*[[Paramétrage Boites]]&lt;br /&gt;
*[[Paramétrage Alertes]]&lt;br /&gt;
*[[Paramétrage Sécurité]]&lt;br /&gt;
*[[Paramétrage Limites et précisions]]&lt;br /&gt;
*[[Paramétrage PDF]]&lt;br /&gt;
*[[Paramétrage EMails]]&lt;br /&gt;
*[[Paramétrage SMS]]&lt;br /&gt;
*[[Paramétrage Dictionnaires]]&lt;br /&gt;
*[[Paramétrage Divers]]&lt;br /&gt;
&lt;br /&gt;
=Utilisateurs=&lt;br /&gt;
La dernière étape consiste à créer les utilisateurs et à attribuer les permissions.&lt;br /&gt;
Presque tous les modules, même activés précédemment, ne sont pas accessibles si on n&#039;en donne pas la permission.&lt;br /&gt;
Pour cela, vous pouvez vous rendre dans le menu &#039;&#039;&#039;Accueil -&amp;gt; Utilisateurs &amp;amp; Groupes&#039;&#039;&#039; pour définir les utilisateurs et leurs droits. Attention, il faudra penser à vérifier et redéfinir les droits utilisateurs quand vous activerez à nouveau de nouveaux modules.&lt;br /&gt;
La liste des droits disponibles dépendant des modules activés (voir plus haut) et des permissions par défaut, il est recommandé de configurer cette partie après avoir activé les modules désirés.&lt;br /&gt;
Pour certaines actions, si vous n&#039;avez pas les droits pour faire une action, Dolibarr ne vous la proposera pas. Vous risquez de rater des choses utiles et/ou importantes.&lt;br /&gt;
Pour donner les droits à un utilisateur ou vous-même si vous êtes administrateur, aller dans &#039;&#039;&#039;Accueil -&amp;gt; Utilisateurs &amp;amp; Groupes&#039;&#039;&#039;, choisissez la fiche de l&#039;utilisateur désiré, puis cliquer sur l&#039;onglet &#039;&#039;&#039;Permission&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
Il est possible d&#039;éviter ces étapes de configuration à faire pour chaque nouvel utilisateur en configurant les droits par défaut (comprendre droits attribués automatiquement à chaque nouvel utilisateur créé), en configurant les permissions par défaut sur la page [[Paramétrage_Sécurité]].&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49815</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49815"/>
		<updated>2021-02-23T13:44:37Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langues permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si sa configuration se trouve dans le menu consacré à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr (cf. interface utilisateur).&lt;br /&gt;
&lt;br /&gt;
==Activation du mode multilangue==&lt;br /&gt;
&lt;br /&gt;
Menu &amp;quot;&#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Affichage&#039;&#039;&#039;&amp;quot; &lt;br /&gt;
&lt;br /&gt;
Puis bouton « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
==Pour limiter les langues affichées aux langues utilisées (à valider à partir de la v10)==&lt;br /&gt;
&lt;br /&gt;
Menu &amp;quot;&#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Divers&#039;&#039;&#039;&amp;quot; / : ajouter la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »&lt;br /&gt;
&lt;br /&gt;
Pour connaître les valeurs applicables, on peut se rendre par exemple à la page &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Sélectionner la langue de communication par défaut avec un tiers==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue par défaut pour les communications avec le tiers et les contacts rattachés au tiers.&lt;br /&gt;
&lt;br /&gt;
==Catalogue de produits et services==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
==Emails==&lt;br /&gt;
&lt;br /&gt;
Il faut créer ses emails en spécifiant la langue de chacun d’eux. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie.&lt;br /&gt;
&lt;br /&gt;
==Entrées des dictionnaires spécifiques à votre instance Dolibarr==&lt;br /&gt;
&lt;br /&gt;
En principe les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Si vous avez créé vos propres entrées dans les dictionnaires, il faudra intégrer vos traductions la page via &#039;&#039;&#039;Accueil -&amp;gt; Configuration -&amp;gt; Traduction&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Cela concerne par exemple&lt;br /&gt;
&lt;br /&gt;
-      Titres de civilités&lt;br /&gt;
&lt;br /&gt;
-      Conditions de règlement&lt;br /&gt;
&lt;br /&gt;
-      Délais de paiement&lt;br /&gt;
&lt;br /&gt;
-      Délais de livraison&lt;br /&gt;
&lt;br /&gt;
-      etc…&lt;br /&gt;
==Mentions complémentaires dans les documents commerciaux==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Au jour de la rédaction de cette fiche, la mention complémentaire sur les documents commerciaux&#039;&#039;&#039; n’est, semble-t-il, pas substituée. Il existe un post sur le forum Dolibarr consacré à ce point auquel vous pouvez vous référer dans l&#039;attente de la mise à jour de cette page : &amp;lt;nowiki&amp;gt;https://www.dolibarr.fr/forum/t/mention-multi-langues-chaines-de-traductions-et-facture/31239/3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49814</id>
		<title>Mode multilangue</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Mode_multilangue&amp;diff=49814"/>
		<updated>2021-02-23T13:36:32Z</updated>

		<summary type="html">&lt;p&gt;Isamuse: Création de la page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Le mode multi-langues permet des communications avec les tiers Dolibarr dans la langue choisie.&lt;br /&gt;
Même si sa configuration se trouve dans le menu consacré à l’affichage, ce mode ne gère pas l’affichage de l’interface pour les utilisateurs de Dolibarr (cf. interface utilisateur).&lt;br /&gt;
&lt;br /&gt;
== Activation du mode multilangue ==&lt;br /&gt;
&lt;br /&gt;
Accueil - config - Affichage&lt;br /&gt;
&lt;br /&gt;
Puis « Activer l’interface multi-langage »&lt;br /&gt;
&lt;br /&gt;
== Pour limiter les langues affichées aux langues utilisées (à valider à partir de la v10) ==&lt;br /&gt;
&lt;br /&gt;
Dans Accueil / Configuration / Divers, ajoutez la constante MAIN_LANGUAGES_ALLOWED avec les valeurs des langues choisies, par exemple pour le français et l’anglais du Royaume-Uni « fr_FR,en_GB »&lt;br /&gt;
&lt;br /&gt;
Pour connaître les codes applicables, on peut se rendre par exemple dans Accueil - config - traduction&lt;br /&gt;
&lt;br /&gt;
== Sélectionner automatiquement la langue de communication par défaut avec un tiers ? ==&lt;br /&gt;
&lt;br /&gt;
Dans la fiche du tiers, sélectionner la langue choisie pour la trâme de pdf à utiliser dans le champ ‹ langue par défaut ›&lt;br /&gt;
&lt;br /&gt;
== Catalogue de produits et services ==&lt;br /&gt;
&lt;br /&gt;
Sur chaque fiche produit/service, une fois l’option multi-langue activée, apparaît un onglet « traduction » qui permet de gérer les textes des produits/services dans les langues activées.&lt;br /&gt;
&lt;br /&gt;
Pour ajouter une traduction :&lt;br /&gt;
&lt;br /&gt;
-       Cliquer sur l’onglet « Traduction »&lt;br /&gt;
&lt;br /&gt;
-       Choisir la langue concernée, compléter le libellé du produit/service puis sa description avant de valider&lt;br /&gt;
&lt;br /&gt;
== Emails ==&lt;br /&gt;
&lt;br /&gt;
Il faut créer ses emails en spécifiant la langue de chacun d’eux. Pour les « civilités » des destinataires des emails, les variables de substitution (par exemple __CONTACT_NAME_XXX__) utiliseront la traduction appropriée pour la langue choisie&lt;br /&gt;
&lt;br /&gt;
== Entrées des dictionnaires spécifiques à votre instance Dolibarr ==&lt;br /&gt;
&lt;br /&gt;
En principe les entrées des dictionnaires qui sont pré-configurées dans Dolibarr sont déjà traduites.&lt;br /&gt;
&lt;br /&gt;
Il faudra intégrer les traductions des entrées créées dans les dictionnaires et spécifiques à l’instance Dolibarr via Accueil / Configuration / Traduction&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Cela concerne&lt;br /&gt;
&lt;br /&gt;
-      Titres de civilités&lt;br /&gt;
&lt;br /&gt;
-      Conditions de règlement&lt;br /&gt;
&lt;br /&gt;
-      Délais de paiement&lt;br /&gt;
&lt;br /&gt;
-      Délais de livraison&lt;br /&gt;
&lt;br /&gt;
-      Etc…&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Mentions complémentaires dans les documents commerciaux ==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Au jour de la rédaction de cette fiche, la mention complémentaire sur les documents commerciaux&#039;&#039;&#039; mais n’est pas substituée. Il existerait un fix.&lt;br /&gt;
&lt;br /&gt;
Voir le sujet consacré à ce point sur le forum  : &amp;lt;nowiki&amp;gt;https://www.dolibarr.fr/forum/t/mention-multi-langues-chaines-de-traductions-et-facture/31239/3&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;/div&gt;</summary>
		<author><name>Isamuse</name></author>
	</entry>
</feed>