<?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=Dolibarr95</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=Dolibarr95"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Dolibarr95"/>
	<updated>2026-11-13T14:45:44Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Template:ArrayOfVersions&amp;diff=64999</id>
		<title>Template:ArrayOfVersions</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Template:ArrayOfVersions&amp;diff=64999"/>
		<updated>2025-12-15T13:15:32Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Release/Version&lt;br /&gt;
!LTS!!Date&amp;lt;small&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&amp;lt;/small&amp;gt;!![[PHP]] min.&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;2&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!![[PHP]] max.&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;3&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!! class=&amp;quot;unsortable&amp;quot; |[[Database]]&lt;br /&gt;
!Modules&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;4&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!! class=&amp;quot;unsortable&amp;quot; |Note&lt;br /&gt;
|-&lt;br /&gt;
|22.0.3&lt;br /&gt;
|&lt;br /&gt;
|2025-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22.0.2&lt;br /&gt;
|&lt;br /&gt;
|2025-09-27&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22.0.1&lt;br /&gt;
|&lt;br /&gt;
|2025-09-2&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 22.0.0|22.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2025-07-31&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.4&lt;br /&gt;
|&lt;br /&gt;
|2025-09-2&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.3&lt;br /&gt;
|&lt;br /&gt;
|2025-08-28&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.2&lt;br /&gt;
|&lt;br /&gt;
|2025-07-31&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.1&lt;br /&gt;
|&lt;br /&gt;
|2025-04-04&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 21.0.0|21.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|2025-02-27&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.4&lt;br /&gt;
|&lt;br /&gt;
|2025-02-16&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.3&lt;br /&gt;
|&lt;br /&gt;
|2024-12-29&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.2&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.1&lt;br /&gt;
|&lt;br /&gt;
|2024-10-07&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 20.0.0|20.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2024-09-16&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;78 / 6 / 6&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.4&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.3&lt;br /&gt;
|&lt;br /&gt;
|2024-08-15&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.2&lt;br /&gt;
|&lt;br /&gt;
|2024-05-04&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.1&lt;br /&gt;
|&lt;br /&gt;
|2024-03-16&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 19.0.0|19.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2024-02-12&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.2&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;80 / 3 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18.0.6&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.5&lt;br /&gt;
|&lt;br /&gt;
|2024-02-12&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.4&lt;br /&gt;
|&lt;br /&gt;
|2023-12-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.3&lt;br /&gt;
|&lt;br /&gt;
|2023-11-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.2&lt;br /&gt;
|&lt;br /&gt;
|2023-10-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.1&lt;br /&gt;
|&lt;br /&gt;
|2023-09-03&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 18.0.0|18.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|[https://wiki.dolibarr.org/index.php/LTS_DEV_NOTES LTS_DEV_NOTES]&lt;br /&gt;
|&#039;&#039;&#039;2023-08-18&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;79 / 3 / 7&#039;&#039;&#039;&lt;br /&gt;
|New modules: Workstations Management (experimental) + Webhook&lt;br /&gt;
|-&lt;br /&gt;
|17.0.4&lt;br /&gt;
|&lt;br /&gt;
|2024-02-12&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.3&lt;br /&gt;
|&lt;br /&gt;
|2023-08-06&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.2&lt;br /&gt;
|&lt;br /&gt;
|2023-05-23&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.1&lt;br /&gt;
|&lt;br /&gt;
|2023-04-03&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 17.0.0|17.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2023-03-04&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;78 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|New/Nouveau&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: [[Module GRH|Module GRH - Gestion des ressources humaines]]  (departmental management, employee contracts and appraisals)&lt;br /&gt;
|-&lt;br /&gt;
|16.0.5&lt;br /&gt;
|&lt;br /&gt;
|2023-03-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.4&lt;br /&gt;
|&lt;br /&gt;
|2023-02-03&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.3&lt;br /&gt;
|&lt;br /&gt;
|2022-11-29&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.2&lt;br /&gt;
|&lt;br /&gt;
|2022-11-11&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.1&lt;br /&gt;
|&lt;br /&gt;
|2022-10-08&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 16.0.0|16.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2022-09-08&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;77 / 5 / 6&#039;&#039;&#039;&lt;br /&gt;
|Dolibarr fonctionne sur PHP 8.0 et 8.1 mais de nombreux warnings seront générés dans les logs du serveur web. La suppression de ces warnings avec PHP 8.1 est prévu pour la version 17.&lt;br /&gt;
Nouveau module&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Gestion des partenariats&lt;br /&gt;
|-&lt;br /&gt;
|15.0.3&lt;br /&gt;
|&lt;br /&gt;
|2022-07-27&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15.0.2&lt;br /&gt;
|&lt;br /&gt;
|2022-05-17&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15.0.1&lt;br /&gt;
|&lt;br /&gt;
|2022-03-21&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 15.0.0|15.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2022-02-18&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;76 / 7 / 6&#039;&#039;&#039;&lt;br /&gt;
|Nouveau module: Partenariat et Organisation d&#039;évènements&lt;br /&gt;
|-&lt;br /&gt;
|14.0.5&lt;br /&gt;
|&lt;br /&gt;
|2022-01-04&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.4&lt;br /&gt;
|&lt;br /&gt;
|2021-11-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.3&lt;br /&gt;
|&lt;br /&gt;
|2021-10-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.2&lt;br /&gt;
|&lt;br /&gt;
|2021-09-13&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.1&lt;br /&gt;
|&lt;br /&gt;
|2021-08-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 14.0.0|14.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2021-07-16&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
*MySQL min. 5.1&lt;br /&gt;
*PostgreSQL min. 9.1.0&lt;br /&gt;
|&#039;&#039;&#039;75 / 6 / 8&#039;&#039;&#039;&lt;br /&gt;
|NEW&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Module Recrutement&lt;br /&gt;
&lt;br /&gt;
Depreciated/Disabled&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Module SimplePOS &lt;br /&gt;
|-&lt;br /&gt;
|13.0.5&lt;br /&gt;
|&lt;br /&gt;
|2021-10-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.4&lt;br /&gt;
|&lt;br /&gt;
|2021-07-12&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.3&lt;br /&gt;
|&lt;br /&gt;
|2021-06-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.2&lt;br /&gt;
|&lt;br /&gt;
|2021-03-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.1&lt;br /&gt;
|&lt;br /&gt;
|2021-02-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 13.0.0|13.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2021-01-25&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;75 / 4 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.5&lt;br /&gt;
|&lt;br /&gt;
|2021-02-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.4&lt;br /&gt;
|&lt;br /&gt;
|2020-12-13&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.3&lt;br /&gt;
|&lt;br /&gt;
|2020-09-23&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.2&lt;br /&gt;
|&lt;br /&gt;
|2020-08-08&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.1&lt;br /&gt;
|&lt;br /&gt;
|2020-07-07&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 12.0.0|12.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2020-06-22&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.6&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;72 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|[[Module Manufacturing Orders]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|11.0.5&lt;br /&gt;
|&lt;br /&gt;
|2020-06-26&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.4&lt;br /&gt;
|&lt;br /&gt;
|2020-05-06&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.3&lt;br /&gt;
|&lt;br /&gt;
|2020-03-19&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.2&lt;br /&gt;
|&lt;br /&gt;
|2020-03-04&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.1&lt;br /&gt;
|&lt;br /&gt;
|2020-02-13&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 11.0.0|11.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2020-01-30&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.4&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;71 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|[[Module BOM]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|10.0.7&lt;br /&gt;
|&lt;br /&gt;
|2020-04-02&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.6&lt;br /&gt;
|&lt;br /&gt;
|2020-01-05&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-12-24&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.4&lt;br /&gt;
|&lt;br /&gt;
|2019-11-27&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.3&lt;br /&gt;
|&lt;br /&gt;
|2019-10-23&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.2&lt;br /&gt;
|&lt;br /&gt;
|2019-09-11&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.1&lt;br /&gt;
|&lt;br /&gt;
|2019-08-04&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 10.0.0|&#039;&#039;&#039;10.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2019-06-30&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.5&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;70 / 5 / 6&#039;&#039;&#039;&lt;br /&gt;
|[[Module Ticket FR|Module Ticket]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|9.0.4&lt;br /&gt;
|&lt;br /&gt;
|2019-06-30&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.3&lt;br /&gt;
|&lt;br /&gt;
|2019-05-09&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.2&lt;br /&gt;
|&lt;br /&gt;
|2019-04-07&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.1&lt;br /&gt;
|&lt;br /&gt;
|2019-03-05&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 9.0.0|&#039;&#039;&#039;9.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2019-02-01&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.3&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;66 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.6&lt;br /&gt;
|&lt;br /&gt;
|2019-06-29&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-05-11&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.4&lt;br /&gt;
|&lt;br /&gt;
|2018-12-23&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.3&lt;br /&gt;
|&lt;br /&gt;
|2018-11-05&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2&lt;br /&gt;
|&lt;br /&gt;
|2018-09-19&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.1&lt;br /&gt;
|&lt;br /&gt;
|2018-09-02&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 8.0.0|&#039;&#039;&#039;8.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2018-08-14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.4&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-01-05&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.4&lt;br /&gt;
|&lt;br /&gt;
|2018-10-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.3&lt;br /&gt;
|&lt;br /&gt;
|2018-06-23&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.2&lt;br /&gt;
|&lt;br /&gt;
|2018-05-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.1&lt;br /&gt;
|&lt;br /&gt;
|2018-03-23&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 7.0.0|&#039;&#039;&#039;7.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2018-02-18&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.2&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.8&lt;br /&gt;
|&lt;br /&gt;
|2018-10-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.7&lt;br /&gt;
|&lt;br /&gt;
|2018-05-06&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.6&lt;br /&gt;
|&lt;br /&gt;
|2018-03-22&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.5&lt;br /&gt;
|&lt;br /&gt;
|2018-01-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-12-05&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.3&lt;br /&gt;
|&lt;br /&gt;
|2017-10-29&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.2&lt;br /&gt;
|&lt;br /&gt;
|2017-10-07&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.1&lt;br /&gt;
|&lt;br /&gt;
|2017-09-20&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 6.0.0|&#039;&#039;&#039;6.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2017-09-04&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.3&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;61 / 4 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.7&lt;br /&gt;
|&lt;br /&gt;
|2017-10-29&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.6&lt;br /&gt;
|&lt;br /&gt;
|2017-09-04&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.5&lt;br /&gt;
|&lt;br /&gt;
|2017-08-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-06-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.3&lt;br /&gt;
|&lt;br /&gt;
|2017-06-01&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.2&lt;br /&gt;
|&lt;br /&gt;
|2017-05-06&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.1&lt;br /&gt;
|&lt;br /&gt;
|2017-04-03&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 5.0.0|&#039;&#039;&#039;5.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2017-03-12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.3&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.6&lt;br /&gt;
|&lt;br /&gt;
|2017-05-29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.5&lt;br /&gt;
|&lt;br /&gt;
|2017-04-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-01-24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.3&lt;br /&gt;
|&lt;br /&gt;
|2016-12-26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.2&lt;br /&gt;
|&lt;br /&gt;
|2016-10-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.1&lt;br /&gt;
|&lt;br /&gt;
|2016-10-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 4.0.0|&#039;&#039;&#039;4.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2016-06-09&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.9.1&lt;br /&gt;
|&lt;br /&gt;
|2016-04-23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.9.0|3.9.0]]&lt;br /&gt;
|&lt;br /&gt;
|2016-03-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|MySQL 5.0.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.8.1&lt;br /&gt;
|&lt;br /&gt;
|2015-10-11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.8.0|3.8.0]]&lt;br /&gt;
|&lt;br /&gt;
|2015-09-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.7.0|3.7.0]]&lt;br /&gt;
|&lt;br /&gt;
|2015-04-20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.6.0|3.6.0]]&lt;br /&gt;
|&lt;br /&gt;
|2014-06&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.5.2&lt;br /&gt;
|&lt;br /&gt;
|2014-04-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.5.1&lt;br /&gt;
|&lt;br /&gt;
|2014-03-09&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.5.0|3.5.0]]&lt;br /&gt;
|&lt;br /&gt;
|2014-02-03&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.4.2|3.4.2]]&lt;br /&gt;
|&lt;br /&gt;
|2014-01&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.4.0|3.4.0]]&lt;br /&gt;
|&lt;br /&gt;
|2013-07&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.3.0 (&amp;quot;gpl v3+&amp;quot; version)|3.3.0]]&lt;br /&gt;
|&lt;br /&gt;
|2013-01&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|GPL v3+&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.2.0|3.2.0]]&lt;br /&gt;
|&lt;br /&gt;
|2012-06&lt;br /&gt;
|PHP 5.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.1.0 (&amp;quot;War against clicks&amp;quot; version)|3.1.0]]&lt;br /&gt;
|&lt;br /&gt;
|2011-10-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.0.0|&#039;&#039;&#039;3.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2011-04-23&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.9.0|2.9.0]]&lt;br /&gt;
|&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.8.1|2.8.1]]&lt;br /&gt;
|&lt;br /&gt;
|2010 ?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.8.0|2.8.0]]&lt;br /&gt;
|&lt;br /&gt;
|2010-03-16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.7.1|2.7.1]]&lt;br /&gt;
|&lt;br /&gt;
|2009-12-30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.7.0 (&amp;quot;Exploitation and security&amp;quot; version)|2.7.0]]&lt;br /&gt;
|&lt;br /&gt;
|2009-12-04&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.6.1|2.6.1]]&lt;br /&gt;
|&lt;br /&gt;
|2009-06-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.6.0 (&amp;quot;Stabilization&amp;quot; version)|2.6.0]]&lt;br /&gt;
|&lt;br /&gt;
|2009-04-24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.5.0 (&amp;quot;International&amp;quot; version)|2.5.0]]&lt;br /&gt;
|&lt;br /&gt;
|2008-12-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|UTF8-Support&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.4.1|2.4.1]]&lt;br /&gt;
|&lt;br /&gt;
|2008-10-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.4.0 (&amp;quot;Popularity&amp;quot; version)|2.4.0]]&lt;br /&gt;
|&lt;br /&gt;
|2008-08-22&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Project leader and released manager is now Laurent Destailleur&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.2.0 (&amp;quot;Purged version&amp;quot;)|2.2.0]]&lt;br /&gt;
|&lt;br /&gt;
|2007-12-26&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.0.0|2.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2005-02-01&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Version Communautaire&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 1.0.0 (&amp;quot;Initial&amp;quot; version)|1.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2003-09-01&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Init version by Rodolphe Quiedeville&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Template:ArrayOfVersions&amp;diff=64998</id>
		<title>Template:ArrayOfVersions</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Template:ArrayOfVersions&amp;diff=64998"/>
		<updated>2025-12-15T13:09:54Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Added an LTS column.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
!Release/Version&lt;br /&gt;
!LTS!!Date&amp;lt;small&amp;gt;&amp;lt;sup&amp;gt;1&amp;lt;/sup&amp;gt;&amp;lt;/small&amp;gt;!![[PHP]] min.&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;2&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!![[PHP]] max.&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;3&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!! class=&amp;quot;unsortable&amp;quot; |[[Database]]&lt;br /&gt;
!Modules&amp;lt;sup&amp;gt;&amp;lt;small&amp;gt;4&amp;lt;/small&amp;gt;&amp;lt;/sup&amp;gt;!! class=&amp;quot;unsortable&amp;quot; |Note&lt;br /&gt;
|-&lt;br /&gt;
|22.0.3&lt;br /&gt;
|&lt;br /&gt;
|2025-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22.0.2&lt;br /&gt;
|&lt;br /&gt;
|2025-09-27&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|22.0.1&lt;br /&gt;
|&lt;br /&gt;
|2025-09-2&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 22.0.0|22.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2025-07-31&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.4&lt;br /&gt;
|&lt;br /&gt;
|2025-09-2&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.3&lt;br /&gt;
|&lt;br /&gt;
|2025-08-28&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.2&lt;br /&gt;
|&lt;br /&gt;
|2025-07-31&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|21.0.1&lt;br /&gt;
|&lt;br /&gt;
|2025-04-04&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 21.0.0|21.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|2025-02-27&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.4&lt;br /&gt;
|&lt;br /&gt;
|2025-02-16&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.3&lt;br /&gt;
|&lt;br /&gt;
|2024-12-29&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.2&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|20.0.1&lt;br /&gt;
|&lt;br /&gt;
|2024-10-07&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 20.0.0|20.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2024-09-16&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;78 / 6 / 6&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.4&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.3&lt;br /&gt;
|&lt;br /&gt;
|2024-08-15&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.2&lt;br /&gt;
|&lt;br /&gt;
|2024-05-04&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|19.0.1&lt;br /&gt;
|&lt;br /&gt;
|2024-03-16&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 19.0.0|19.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2024-02-12&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.2&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;80 / 3 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|18.0.6&lt;br /&gt;
|&lt;br /&gt;
|2024-11-14&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.5&lt;br /&gt;
|&lt;br /&gt;
|2024-02-12&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.4&lt;br /&gt;
|&lt;br /&gt;
|2023-12-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.3&lt;br /&gt;
|&lt;br /&gt;
|2023-11-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.2&lt;br /&gt;
|&lt;br /&gt;
|2023-10-06&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|18.0.1&lt;br /&gt;
|&lt;br /&gt;
|2023-09-03&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|PHP 8.2 may work with a lot of warnings. Few uncommon features may also not work.&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 18.0.0|18.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|LTS&lt;br /&gt;
|&#039;&#039;&#039;2023-08-18&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.1&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;79 / 3 / 7&#039;&#039;&#039;&lt;br /&gt;
|New modules: Workstations Management (experimental) + Webhook&lt;br /&gt;
|-&lt;br /&gt;
|17.0.4&lt;br /&gt;
|&lt;br /&gt;
|2024-02-12&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.3&lt;br /&gt;
|&lt;br /&gt;
|2023-08-06&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.2&lt;br /&gt;
|&lt;br /&gt;
|2023-05-23&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|17.0.1&lt;br /&gt;
|&lt;br /&gt;
|2023-04-03&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 17.0.0|17.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2023-03-04&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;78 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|New/Nouveau&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: [[Module GRH|Module GRH - Gestion des ressources humaines]]  (departmental management, employee contracts and appraisals)&lt;br /&gt;
|-&lt;br /&gt;
|16.0.5&lt;br /&gt;
|&lt;br /&gt;
|2023-03-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.4&lt;br /&gt;
|&lt;br /&gt;
|2023-02-03&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.3&lt;br /&gt;
|&lt;br /&gt;
|2022-11-29&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.2&lt;br /&gt;
|&lt;br /&gt;
|2022-11-11&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|16.0.1&lt;br /&gt;
|&lt;br /&gt;
|2022-10-08&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 8.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 16.0.0|16.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2022-09-08&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|&#039;&#039;&#039;PHP 8.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;77 / 5 / 6&#039;&#039;&#039;&lt;br /&gt;
|Dolibarr fonctionne sur PHP 8.0 et 8.1 mais de nombreux warnings seront générés dans les logs du serveur web. La suppression de ces warnings avec PHP 8.1 est prévu pour la version 17.&lt;br /&gt;
Nouveau module&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Gestion des partenariats&lt;br /&gt;
|-&lt;br /&gt;
|15.0.3&lt;br /&gt;
|&lt;br /&gt;
|2022-07-27&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15.0.2&lt;br /&gt;
|&lt;br /&gt;
|2022-05-17&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|15.0.1&lt;br /&gt;
|&lt;br /&gt;
|2022-03-21&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 15.0.0|15.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2022-02-18&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;76 / 7 / 6&#039;&#039;&#039;&lt;br /&gt;
|Nouveau module: Partenariat et Organisation d&#039;évènements&lt;br /&gt;
|-&lt;br /&gt;
|14.0.5&lt;br /&gt;
|&lt;br /&gt;
|2022-01-04&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.4&lt;br /&gt;
|&lt;br /&gt;
|2021-11-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.3&lt;br /&gt;
|&lt;br /&gt;
|2021-10-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.2&lt;br /&gt;
|&lt;br /&gt;
|2021-09-13&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|14.0.1&lt;br /&gt;
|&lt;br /&gt;
|2021-08-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 14.0.0|14.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2021-07-16&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
*MySQL min. 5.1&lt;br /&gt;
*PostgreSQL min. 9.1.0&lt;br /&gt;
|&#039;&#039;&#039;75 / 6 / 8&#039;&#039;&#039;&lt;br /&gt;
|NEW&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Module Recrutement&lt;br /&gt;
&lt;br /&gt;
Depreciated/Disabled&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: Module SimplePOS &lt;br /&gt;
|-&lt;br /&gt;
|13.0.5&lt;br /&gt;
|&lt;br /&gt;
|2021-10-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.4&lt;br /&gt;
|&lt;br /&gt;
|2021-07-12&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.3&lt;br /&gt;
|&lt;br /&gt;
|2021-06-19&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.2&lt;br /&gt;
|&lt;br /&gt;
|2021-03-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|13.0.1&lt;br /&gt;
|&lt;br /&gt;
|2021-02-20&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 13.0.0|13.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2021-01-25&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;75 / 4 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.5&lt;br /&gt;
|&lt;br /&gt;
|2021-02-16&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.4&lt;br /&gt;
|&lt;br /&gt;
|2020-12-13&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.3&lt;br /&gt;
|&lt;br /&gt;
|2020-09-23&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.2&lt;br /&gt;
|&lt;br /&gt;
|2020-08-08&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|12.0.1&lt;br /&gt;
|&lt;br /&gt;
|2020-07-07&lt;br /&gt;
|PHP 5.6&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 12.0.0|12.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2020-06-22&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.6&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;72 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|[[Module Manufacturing Orders]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|11.0.5&lt;br /&gt;
|&lt;br /&gt;
|2020-06-26&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.4&lt;br /&gt;
|&lt;br /&gt;
|2020-05-06&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.3&lt;br /&gt;
|&lt;br /&gt;
|2020-03-19&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.2&lt;br /&gt;
|&lt;br /&gt;
|2020-03-04&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|11.0.1&lt;br /&gt;
|&lt;br /&gt;
|2020-02-13&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|&#039;&#039;&#039;[[Roadmap and Release 11.0.0|11.0.0]]&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2020-01-30&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.4&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;71 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|[[Module BOM]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|10.0.7&lt;br /&gt;
|&lt;br /&gt;
|2020-04-02&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.6&lt;br /&gt;
|&lt;br /&gt;
|2020-01-05&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-12-24&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.4&lt;br /&gt;
|&lt;br /&gt;
|2019-11-27&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.3&lt;br /&gt;
|&lt;br /&gt;
|2019-10-23&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.2&lt;br /&gt;
|&lt;br /&gt;
|2019-09-11&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|10.0.1&lt;br /&gt;
|&lt;br /&gt;
|2019-08-04&lt;br /&gt;
|PHP 5.5&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 10.0.0|&#039;&#039;&#039;10.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2019-06-30&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.5&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;70 / 5 / 6&#039;&#039;&#039;&lt;br /&gt;
|[[Module Ticket FR|Module Ticket]] en stable&lt;br /&gt;
|-&lt;br /&gt;
|9.0.4&lt;br /&gt;
|&lt;br /&gt;
|2019-06-30&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.3&lt;br /&gt;
|&lt;br /&gt;
|2019-05-09&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.2&lt;br /&gt;
|&lt;br /&gt;
|2019-04-07&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|9.0.1&lt;br /&gt;
|&lt;br /&gt;
|2019-03-05&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 9.0.0|&#039;&#039;&#039;9.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2019-02-01&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.3&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;66 / 5 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.6&lt;br /&gt;
|&lt;br /&gt;
|2019-06-29&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-05-11&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.4&lt;br /&gt;
|&lt;br /&gt;
|2018-12-23&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.3&lt;br /&gt;
|&lt;br /&gt;
|2018-11-05&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.2&lt;br /&gt;
|&lt;br /&gt;
|2018-09-19&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|8.0.1&lt;br /&gt;
|&lt;br /&gt;
|2018-09-02&lt;br /&gt;
|PHP 5.4&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 8.0.0|&#039;&#039;&#039;8.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2018-08-14&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.4&#039;&#039;&#039;&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.5&lt;br /&gt;
|&lt;br /&gt;
|2019-01-05&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.4&lt;br /&gt;
|&lt;br /&gt;
|2018-10-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.3&lt;br /&gt;
|&lt;br /&gt;
|2018-06-23&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.2&lt;br /&gt;
|&lt;br /&gt;
|2018-05-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|7.0.1&lt;br /&gt;
|&lt;br /&gt;
|2018-03-23&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.2&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 7.0.0|&#039;&#039;&#039;7.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2018-02-18&#039;&#039;&#039;&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.2&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.8&lt;br /&gt;
|&lt;br /&gt;
|2018-10-12&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.7&lt;br /&gt;
|&lt;br /&gt;
|2018-05-06&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.6&lt;br /&gt;
|&lt;br /&gt;
|2018-03-22&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.5&lt;br /&gt;
|&lt;br /&gt;
|2018-01-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-12-05&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.3&lt;br /&gt;
|&lt;br /&gt;
|2017-10-29&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.2&lt;br /&gt;
|&lt;br /&gt;
|2017-10-07&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|6.0.1&lt;br /&gt;
|&lt;br /&gt;
|2017-09-20&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.1&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 6.0.0|&#039;&#039;&#039;6.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2017-09-04&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.3&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.1&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;61 / 4 / 7&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.7&lt;br /&gt;
|&lt;br /&gt;
|2017-10-29&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.6&lt;br /&gt;
|&lt;br /&gt;
|2017-09-04&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.5&lt;br /&gt;
|&lt;br /&gt;
|2017-08-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-06-26&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.3&lt;br /&gt;
|&lt;br /&gt;
|2017-06-01&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.2&lt;br /&gt;
|&lt;br /&gt;
|2017-05-06&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|5.0.1&lt;br /&gt;
|&lt;br /&gt;
|2017-04-03&lt;br /&gt;
|PHP 5.3&lt;br /&gt;
|PHP 7.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 5.0.0|&#039;&#039;&#039;5.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2017-03-12&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 5.3&#039;&#039;&#039;&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;60&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.6&lt;br /&gt;
|&lt;br /&gt;
|2017-05-29&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.5&lt;br /&gt;
|&lt;br /&gt;
|2017-04-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.4&lt;br /&gt;
|&lt;br /&gt;
|2017-01-24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.3&lt;br /&gt;
|&lt;br /&gt;
|2016-12-26&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.2&lt;br /&gt;
|&lt;br /&gt;
|2016-10-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|4.0.1&lt;br /&gt;
|&lt;br /&gt;
|2016-10-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 4.0.0|&#039;&#039;&#039;4.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2016-06-09&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;PHP 7.0&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.9.1&lt;br /&gt;
|&lt;br /&gt;
|2016-04-23&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.9.0|3.9.0]]&lt;br /&gt;
|&lt;br /&gt;
|2016-03-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|MySQL 5.0.3&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.8.1&lt;br /&gt;
|&lt;br /&gt;
|2015-10-11&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.8.0|3.8.0]]&lt;br /&gt;
|&lt;br /&gt;
|2015-09-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.7.0|3.7.0]]&lt;br /&gt;
|&lt;br /&gt;
|2015-04-20&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.6.0|3.6.0]]&lt;br /&gt;
|&lt;br /&gt;
|2014-06&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.5.2&lt;br /&gt;
|&lt;br /&gt;
|2014-04-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|3.5.1&lt;br /&gt;
|&lt;br /&gt;
|2014-03-09&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.5.0|3.5.0]]&lt;br /&gt;
|&lt;br /&gt;
|2014-02-03&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.4.2|3.4.2]]&lt;br /&gt;
|&lt;br /&gt;
|2014-01&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.4.0|3.4.0]]&lt;br /&gt;
|&lt;br /&gt;
|2013-07&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.3.0 (&amp;quot;gpl v3+&amp;quot; version)|3.3.0]]&lt;br /&gt;
|&lt;br /&gt;
|2013-01&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|GPL v3+&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.2.0|3.2.0]]&lt;br /&gt;
|&lt;br /&gt;
|2012-06&lt;br /&gt;
|PHP 5.0&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.1.0 (&amp;quot;War against clicks&amp;quot; version)|3.1.0]]&lt;br /&gt;
|&lt;br /&gt;
|2011-10-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 3.0.0|&#039;&#039;&#039;3.0.0&#039;&#039;&#039;]]&lt;br /&gt;
|&lt;br /&gt;
|&#039;&#039;&#039;2011-04-23&#039;&#039;&#039;&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.9.0|2.9.0]]&lt;br /&gt;
|&lt;br /&gt;
|2010-09-02&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.8.1|2.8.1]]&lt;br /&gt;
|&lt;br /&gt;
|2010 ?&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.8.0|2.8.0]]&lt;br /&gt;
|&lt;br /&gt;
|2010-03-16&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.7.1|2.7.1]]&lt;br /&gt;
|&lt;br /&gt;
|2009-12-30&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.7.0 (&amp;quot;Exploitation and security&amp;quot; version)|2.7.0]]&lt;br /&gt;
|&lt;br /&gt;
|2009-12-04&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.6.1|2.6.1]]&lt;br /&gt;
|&lt;br /&gt;
|2009-06-13&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.6.0 (&amp;quot;Stabilization&amp;quot; version)|2.6.0]]&lt;br /&gt;
|&lt;br /&gt;
|2009-04-24&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.5.0 (&amp;quot;International&amp;quot; version)|2.5.0]]&lt;br /&gt;
|&lt;br /&gt;
|2008-12-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|UTF8-Support&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.4.1|2.4.1]]&lt;br /&gt;
|&lt;br /&gt;
|2008-10-31&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.4.0 (&amp;quot;Popularity&amp;quot; version)|2.4.0]]&lt;br /&gt;
|&lt;br /&gt;
|2008-08-22&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Project leader and released manager is now Laurent Destailleur&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.2.0 (&amp;quot;Purged version&amp;quot;)|2.2.0]]&lt;br /&gt;
|&lt;br /&gt;
|2007-12-26&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 2.0.0|2.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2005-02-01&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 5&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Version Communautaire&lt;br /&gt;
|-&lt;br /&gt;
|[[Roadmap and Release 1.0.0 (&amp;quot;Initial&amp;quot; version)|1.0.0]]&lt;br /&gt;
|&lt;br /&gt;
|2003-09-01&lt;br /&gt;
|PHP 4&lt;br /&gt;
|PHP 4&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|Init version by Rodolphe Quiedeville&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Statuts_de_l%27association&amp;diff=58900</id>
		<title>Statuts de l&#039;association</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Statuts_de_l%27association&amp;diff=58900"/>
		<updated>2023-12-01T09:11:23Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Dead link fixed by permalink */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TemplateAssoFr}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= [[File:Event.png]] Déclaration =&lt;br /&gt;
La création de l&#039;association est effective au &#039;&#039;&#039;2 avril 2009&#039;&#039;&#039; et est parue au journal officiel du &#039;&#039;&#039;18 avril 2009&#039;&#039;&#039; sous le numéro &#039;&#039;&#039;868&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
La déclaration peut être consultée sur le [https://www.journal-officiel.gouv.fr/pages/associations-detail-annonce/?q.id=id:200900160868 site du JO].&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Legal identification (France):&#039;&#039;&#039;&lt;br /&gt;
* Identification RNA / WALDEC : W452006878&lt;br /&gt;
* SIRET: 52033993800018&lt;br /&gt;
* NAF: 9499Z&lt;br /&gt;
* VAT ID: FR87520339938&lt;br /&gt;
&lt;br /&gt;
= [[File:Pagemaster.png]] Statut =&lt;br /&gt;
Voici les statuts de l&#039;association, actuellement en vigueur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Préambule&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les logiciels métiers sous licence libre sont assez peu nombreux, et demandent une participation étroite des développeurs et des utilisateurs pour rester opérationnels et fidèles aux principes de partage et de diffusion des logiciels libres. C’est pourquoi des utilisateurs et des développeurs qui travaillent avec et sur le logiciel de gestion Dolibarr ERP/CRM ont décidé de se réunir en association.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 1 : Nom&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Il est créé entre les adhérents aux présents statuts une association de droits Français régie par la loi du 1er juillet 1901 et le décret du 16 août 1901, ayant pour dénomination  Dolibarr&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 2 : Objet&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L&#039;association Dolibarr a pour objet le développement (au sens promotion et non codage informatique), la documentation, la protection, la promotion, la sécurisation et la diffusion du logiciel libre de gestion d&#039;activité professionnelle ou associative Dolibarr ERP et CRM. Dans l&#039;objectif de ce dernier point, cela inclut la possibilité de financer des développements pour mise en conformité à des obligations légales d&#039;un pays ou à des jeux de données des dictionnaires propres à ce pays ainsi que pour réalisation de packaging à des fins de diffusion de l&#039;application sur des marketplaces d&#039;applications. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 3 : Adresse&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le siège de l’association est fixé à l&#039;adresse suivante:&lt;br /&gt;
{{FoundationAddress}}&lt;br /&gt;
&lt;br /&gt;
Il pourra être transféré par simple décision du Conseil d’administration.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 4 : Durée&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La durée de l’association est indéterminée.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 5 : Composition&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L’association est composée de personnes physiques ou morales, membres d’honneur, membres bienfaiteurs et membres actifs.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pour être membre, il faut présenter une demande à une membre du conseil d&#039;administration de l&#039;association. L’adhésion est validée par le conseil d&#039;administration de l&#039;association, selon des critères définis dans le règlement intérieur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 6 : Cotisation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les membres adhérents doivent acquitter chaque année une cotisation dont le montant est fixé par l’assemblée générale ordinaire.&amp;lt;br/&amp;gt;&lt;br /&gt;
Le montant de la cotisation varie selon les conditions d&#039;adhésion et doit être indiqué dans le règlement intérieur de l&#039;association.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 7 : Radiation&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La qualité de membre se perd par :&lt;br /&gt;
* décès de l&#039;adhérent, ou arrêt de l’activité d’une personne morale&lt;br /&gt;
* démission qui doit être adressée par écrit au conseil d&#039;administration&lt;br /&gt;
* le non paiement de la cotisation&lt;br /&gt;
* la radiation prononcée par le Conseil d&#039;Administration, pour infraction aux présents statuts, pour non-respect du règlement intérieur, pour non respect des contraintes de la licence libre Dolibarr ou pour motif grave portant préjudice moral ou matériel à l&#039;association.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 8 : Les ressources&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les ressources de l’association comprennent :&lt;br /&gt;
* Les cotisations des membres&lt;br /&gt;
* Les dons manuels&lt;br /&gt;
* Les dons de partenaires&lt;br /&gt;
* Les subventions de l’Etat et des collectivités territoriales&lt;br /&gt;
* Toute autre ressource financière non contraire aux lois en vigueur.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 9 : Conseil d’administration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L’association est dirigée par un Conseil d’administration composé d&#039;un minimum de 4 membres et d&#039;un maximum de 8 membres, élus chaque année par l’assemblée générale. Le vote a lieu par correspondance dans le mois précédant l’assemblée générale, et la proclamation des résultats a lieu pendant l’Assemblée générale.&amp;lt;br/&amp;gt;&lt;br /&gt;
Le conseil d’administration élit en son sein un bureau composé au minimum d&#039;un président, d&#039;un secrétaire et d&#039;un trésorier.&amp;lt;br/&amp;gt;&lt;br /&gt;
Le président représente l’association dans tous les actes de la vie civile. Il a, notamment, qualité pour ester en justice au nom de l’association.&amp;lt;br/&amp;gt;&lt;br /&gt;
En cas de vacance, le conseil pourvoit provisoirement au remplacement de ses membres jusqu&#039;à la prochaine assemblée générale.&amp;lt;br/&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 10 : Réunion du conseil d’administration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le conseil d’administration se réunit au moins deux fois par an, sur convocation du président. Une réunion exceptionnelle peut être demandée par au moins la moitié du conseil.&amp;lt;br/&amp;gt;&lt;br /&gt;
Les décisions sont prises à la majorité des voix. En cas de partage égal des voix, le président dispose d’une voix prépondérante.&amp;lt;br/&amp;gt;&lt;br /&gt;
Un procès-verbal de la réunion sera établi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 11 : Rémunération&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Les membres du conseil d&#039;administration assurent leurs fonctions à titre bénévole. Toutefois, ils  peuvent demander le remboursement de frais engagés sur justificatifs : les frais de déplacement seront remboursés sur le barème de l’administration fiscale.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 12 : Assemblée générale ordinaire&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L’assemblée comprend tous les membres à jour de leur cotisation au 31 décembre de l’année précédant la date de l’assemblée générale. Ils sont convoqués individuellement, au plus tard 15 jours avant la date fixée pour l’assemblée générale, par voie postale ou électronique. L’ordre du jour figure sur la convocation.&amp;lt;br/&amp;gt;&lt;br /&gt;
L’assemblée générale ordinaire se réunit chaque année. Les décisions sont prises à la majorité des membres présents ou représentés.&amp;lt;br/&amp;gt;&lt;br /&gt;
Le président, assisté des membres du conseil, préside l’assemblée et expose la situation morale de l’association. Le trésorier rend compte de sa gestion et soumet le bilan à l’approbation de l’assemblée. Les résultats du vote pour l&#039;élection du conseil sont communiqués lors de l&#039;assemblée générale.&amp;lt;br/&amp;gt;&lt;br /&gt;
Un procès-verbal de la réunion sera établi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 13 : Assemblée générale extraordinaire&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
L’assemblée générale extraordinaire est compétente pour modifier les statuts, décider la dissolution, la fusion de l’association. Elle est convoquée par le président selon les modalités de l’article 12.&amp;lt;br/&amp;gt;&lt;br /&gt;
Elle se réunit également à la demande de la moitié des membres ou de la majorité du conseil d’administration. Elle est convoquée par le président, selon les modalités de l’article 12. Les décisions sont prises à la majorité des deux tiers des membres présents ou représentés.&amp;lt;br/&amp;gt;&lt;br /&gt;
Un procès-verbal de la réunion sera établi.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 14 : Règlement intérieur&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le conseil d’administration décide de l’établissement d’un règlement intérieur, qui sera soumis pour approbation à l’assemblée générale ordinaire. Ce règlement précisera en particulier les fonctions des membres du conseil et du bureau, les modalités des votes et des répartitions des pouvoirs, le barème des cotisations selon la qualité des membres.&lt;br /&gt;
Il s’impose à tous les membres de l’association.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Article 15 – Dissolution&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La dissolution de l&#039;association ne peut être prononcée que par une Assemblée Générale extraordinaire, convoquée spécialement à cet effet.&amp;lt;br/&amp;gt;&lt;br /&gt;
Pour ce faire, une majorité des 2/3 des votants doit être obtenue. Un ou plusieurs liquidateurs seront alors désignés par l&#039;Assemblée Générale, qui disposeront des actifs en faveur d&#039;une ou plusieurs associations sans but lucratif poursuivant des objectifs analogues. En l&#039;absence d&#039;une telle association, l&#039;Assemblée Générale désignera une association à caractère social.&lt;br /&gt;
&lt;br /&gt;
= [[File:Pagemaster.png]] Autres règles de fonctionnement =&lt;br /&gt;
Les règles suivantes sont des règles actés lors d&#039;assemblées générales divers ou votés par les membres du conseils d&#039;administration.&lt;br /&gt;
&lt;br /&gt;
== Quorum ==&lt;br /&gt;
Le quorum est le nombre d&#039;adhérent minimum pour que les votes des décisions soumises aux AG soient validées. Ce quorum n&#039;a pas été écrit dans les statuts. Il a dont été défini après coup, à 25% du nombre d&#039;adhérents.&lt;br /&gt;
Si le quorum n&#039;est pas atteint durant une AG, une nouvelle AG sera organisée mais sans quorum.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Date de mise en oeuvre:&#039;&#039;&#039; Définie peu après la création de l&#039;association.&lt;br /&gt;
&lt;br /&gt;
== Dépenses publicitaires ==&lt;br /&gt;
Le bureau peut engager des dépenses pour de la publicité en ligne, à raison de, pour chaque année qui s&#039;écoule, 10% de la trésorerie de l&#039;association au 1er janvier de l&#039;année. Ceci fut voté de longue date, lors de l&#039;assemblée générale suivante [[Report_board_meeting_20130710_teleconf]].&lt;br /&gt;
&lt;br /&gt;
== Remboursements de frais ==&lt;br /&gt;
Quelques règles pour cadrer le remboursement de frais ont été initiées: [[Remboursement_frais]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=57140</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=57140"/>
		<updated>2023-07-21T09:27:17Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Global Options */ MAIN_ONLY_LOGIN_ALLOWED&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;
&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 any more (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 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.&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;
*&#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;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED ►&#039;&#039;&#039; For maintenance mode. Login (always use admin login) of the only user who can connect.&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;
*&#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;
&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_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 = Show field BCC into email forms, If email = Show BCC pre filled 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 attachment 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 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;
=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;
*&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;
*&#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;
&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;
[[#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;
*&#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 ► (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;
*&#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 Propoal (V17+)&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;
[[#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;
*&#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;
&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 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;
[[#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; ► 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;
&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;
*&#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 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 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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=56990</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=56990"/>
		<updated>2023-07-03T08:26:21Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: PROPAL_DEFAULT_NOTE_PUBLIC&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;
&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;
*&#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;
&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;
*&#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 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_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 = 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;
*&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;
*&#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;
&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;
*&#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;
[[#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;
*&#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 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;
*&#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;
[[#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 (Display fields for life time and quality control druration) 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 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;
*&#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 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;
*&#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;
&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;
*&#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 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 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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=56989</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=56989"/>
		<updated>2023-07-03T08:23:00Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: INVOICE_DEFAULT_NOTE_PUBLIC&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;
&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;
*&#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;
&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;
*&#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 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_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 = 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;
*&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;
*&#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;
&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;
*&#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;
[[#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;
*&#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 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;
*&#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;
[[#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 (Display fields for life time and quality control druration) 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 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;
*&#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;
&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;
*&#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 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 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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=55131</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=55131"/>
		<updated>2022-11-14T09:22:10Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Security Options MAIN_SECURITY_SALT */&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;
HIDDEN_CONFIG ► &#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;
&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_LANDING_PAGE&#039;&#039;&#039; ► Can choose the first page to show after login (the landing page). This option works as a global option (&amp;lt;code&amp;gt;llx_const&amp;lt;/code&amp;gt;) and per user option (&amp;lt;code&amp;gt;llx_user_param&amp;lt;/code&amp;gt;). ► (v3.9+)&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 (propale, order, invoice) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED&#039;&#039;&#039; ► Only the specified login is allowed to log in Dolibarr (maintenance mode).&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_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► If the buyer is a company that is in Europe but has no valid intracommunautary VAT ID, it is processed like if it is an individual, not a company. TODO: Must be implemented into accountancy module too instead of being set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; systematically into accountancy module.&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;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_ANTI_SSRF_SERVER_IP ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_CSRF_WITH_TOKEN ► 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;
*MAIN_MODULES_FOR_EXTERNAL ► 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;
*MAIN_ALLOW_SVG_FILES_AS_IMAGES ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_ONLY_VALID_HTML ► Refused parameter if value is not a valid HTML content.&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
*MAIN_SECURITY_SALT ► A salt string to base the hashing on. 8 strings length recommended. &lt;br /&gt;
&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;
*ACCOUNTANCY_COMBO_FOR_AUX ► Add graphic option for ACCOUNTANCY_COMBO_FOR_AUX. Having this option on may slow down and even freeze the accounting features if you have a very large number of thirdparties ► (v10.0)&lt;br /&gt;
*ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*ACCOUNTING_DEFAULT_NOTIFIED_EXPORT_DATE ► Avoid flaging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v15.0)&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;
*AGENDA_ALL_CALENDARS ► 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;
*AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_DISABLE_LOCATION ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_MAX_EVENTS_DAY_VIEW ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_USE_EVENT_TYPE ► 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;
*MAIN_ADD_EVENT_ON_ELEMENT_CARD ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_SUPPORT_PRIORITY_IN_EVENTS ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_ADDACTIONFORPHONE ► 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;
*AGENDA_ADDACTIONFOREMAIL ► 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;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*BANK_CAN_RECONCILIATE_CASHACCOUNT ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*BANK_DISABLE_CHECK_DEPOSIT ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_ORDER ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*BANK_USE_OLD_VARIOUS_PAYMENT ► 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;
*MAIN_IBAN_IS_NEVER_MANDATORY ► 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;
*ALLOW_USE_KITS_INTO_BOM_AND_MO&lt;br /&gt;
*BOM_SUB_BOM ►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;
=Inalterable Log Module=&lt;br /&gt;
&lt;br /&gt;
*BLOCKEDLOG_ADD_ACTIONS_SUPPORTED ► 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;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*CONTRACT_SUPPORT_PRODUCTS ► Products are also suggested into module contract.&lt;br /&gt;
*&lt;br /&gt;
*CONTRACT_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
*CONTRACT_HIDE_PLANNED_DATE_ON_PDF ► allows you to not display dates on pdf files.&lt;br /&gt;
*CONTRACT_HIDE_REAL_DATE_ON_PDF ► 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;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&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;
*WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS ► If this option is set, all invoices status (even already paid) may appear on the list of invoices qualified for a direct debit payment. This is the list of invoices with a payment request done, and not linked to a direct debit payment. By default, only &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;
*DONATION_USE_THIRDPARTIES ► 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;
*MAIN_MAILFORM_DISABLE_ENTERKEY ► Activate javascript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*MAIL_PREFIX_FOR_EMAIL_ID ► 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;
*MAIN_MAIL_DEBUG ► 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;
*MAIN_SMS_DEBUG ► 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;
*MAIN_MAIL_ALLOW_SENDMAIL_F ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option &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;
*MAIN_MAIL_SENDMAIL_FORCE_BA ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the -ba parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the mail.force_extra_parameters=-ba into &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_NO_FULL_EMAIL ► 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;
*MAIN_FIX_FOR_BUGGED_MTA ► Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of &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;
*MAIN_MAIL_DO_NOT_USE_SIGN ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*MAIL_FORCE_DELIVERY_RECEIPT_INVOICE ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_ORDER ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_PROPAL ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL ► 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;
*MAIN_EMAIL_USECCC ► 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO ► Email to use as a BCC recipient when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EMAIL_ADD_TRACK_ID ► 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;
*MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► 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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_USE_MULTI_PART ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*MAIN_INFO_SOCIETE_MAIL_ALIASES ► 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;
*MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*MAIN_COPY_FILE_IN_EVENT_AUTO ► Add attachement document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_ENABLED_USER_DEST_SELECT ► 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;
*MAILING_PREFIX_FOR_EMAIL_ID ► 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;
*MAILING_NO_USING_PHPMAIL ► 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;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS ► Contains the email of contact to show into the message visible to a user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_WARNING_PHPMAIL ► 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;
*MAILING_LIMIT_WARNING_NOPHPMAIL ► 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;
*EMAILING_USE_ADVANCED_SELECTOR ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_SENDBYWEB ► 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;
*MAILING_LIMIT_SENDBYCLI ► 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;
*EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_OVERRIDE_VAT ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_USE_OLD_NUMBERING_RULE ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to 1 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_EXPENSE_IK ► 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;
*MAIN_USE_EXPENSE_RULE ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)&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;
*EXPORT_CSV_SEPARATOR_TO_USE ► 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;
*EXPORT_CSV_FORCE_CHARSET ► Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*EXPORTTOOL_CATEGORIES ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*USE_STRICT_CSV_RULES ► 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;
*EXPORTS_SHARE_MODELS  ► 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;
*MEMBER_URL_REDIRECT_SUBSCRIPTION ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*MEMBER_EXT_URL_SUBSCRIPTION_INFO ► 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;
*FICHINTER_CLASSIFY_BILLED► 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;
*FICHINTER_DISABLE_DETAILS► 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;
*MAIN_DEPOSIT_MULTI_TVA ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► If a credit note was partially refunded (a refund was sent to the customer), with common situation, we wait to have the remain refunded too. With this option, it is possible to convert the remain of invoice into a discount to reuse it into another invoice.&lt;br /&gt;
&lt;br /&gt;
*SUUPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CAN_ALWAYS_BE_EDITED ► 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;
*INVOICE_CAN_ALWAYS_BE_REMOVED ► 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;
*INVOICE_CAN_NEVER_BE_REMOVED ► Never allow to delete invoices (except draft invoices).&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POSITIVE_CREDIT_NOTE ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*FACTURE_DEPOSITS_ARE_JUST_PAYMENTS ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#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;
*FACTURE_SENDBYEMAIL_FOR_ALL_STATUS ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CREDIT_NOTE_STANDALONE ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_SITUATION ► 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;
*INVOICE_USE_SITUATION_CREDIT_NOTE ► 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;
*INVOICE_USE_RETAINED_WARRANTY ► Enable the retained warranty on invoice ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_DEPOSIT ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_REPLACEMENT ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_CREDIT_NOTE ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ADD_ZATCA_QR_CODE ► 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;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_BILL_ON_SHIPMENT ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POINTOFTAX_DATE ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE_LINES ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_DEFAULT_DOCUMENT ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)&lt;br /&gt;
&lt;br /&gt;
*FACTURE_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*INVOICE_ALLOW_FREE_REF ► Capability to change reference of an invoice. This will be possible as long as the invoice has the status “Draft” and only if your country is not in Europe(V11)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISALLOW_REOPEN&lt;br /&gt;
&lt;br /&gt;
*INVOICE_MAX_FUTURE_DELAY ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*INVOICE_AUTO_NEXT_MONTH_ON_LINES ► Increase start date and end date by one month, if an invoice line is a clone of a time based service AND if this services started on the first day of month and ended on the last day of month ► (V13.0.1)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY ► Set this value to 0 if you want to have the saturday as a working day&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY ► 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;
*MAIN_FAVICON_URL ► favicon url&lt;br /&gt;
&lt;br /&gt;
*MAIN_EASTER_EGG_COMMITSTRIP ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_STATUS_USES_CSS ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD ► This conf will auto remove global stats box item if there are already in the new dashboard of opened elements and keep displayed stats on the opened item box (not only on mouse over) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_TOP_MENU_SEARCH_DROPDOWN ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_AGRESSIVENESS_RATIO ► This conf can be used to increase/decrease agressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_SHOW_BORDER_ON_INPUT&lt;br /&gt;
*MAIN_DISABLE_GLOBAL_WORKBOARD ► Hide the workboard of the main page ► (v13.0+)&lt;br /&gt;
*MAIN_DISABLE_GLOBAL_BOXSTATS ► 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;
*MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION ► 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;
*MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*ORDER_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*ORDER_VALID_AFTER_CLOSE_PROPAL =&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;
*ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
*ORDER_ENABLE_NEGATIVE =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER =&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;
*MAIN_ADD_PDF_BACKGROUND ► 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;
*MAIN_DISABLE_FORCE_SAVEAS ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_AUTOUPDATE ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_COMPRESSION ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DOCUMENTS_WITH_PICTURE_WIDTH ► 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;
*MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_INVOICES_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
*MAIN_GENERATE_SUPPLIER_ORDER_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for supplier orders&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*MAIN_INVERT_SENDER_RECIPIENT ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*MAIN_ODT_AS_PDF ► 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;
*MAIN_ODT_AS_PDF_DEL_SOURCE ► For ODT generation. If set, then initial behaviour is conserved but ODT file is removed when option to convert it as PDF (see previous) is on. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_FORCE_FONT ► 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;
*MAIN_PDF_FORCE_FONT_SIZE ► 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;
*MAIN_PDF_FREETEXT_HEIGHT ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_TITLE_BACKGROUND_COLOR ► 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;
*MAIN_PDF_USE_LARGE_LOGO ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_BACKGROUND_ON_PDF ► 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;
*MAIN_USE_COMPANY_NAME_OF_CONTACT ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_ADDALSOTARGETDETAILS ► If 1, add details of reipient on generated PDFs (email, fax, url and phone). Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
*MAIN_TVAINTRA_IN_SOURCE_ADDRESS ► Show VAT N° in source address of PDF to comply with legalities in certain countries. Note that VAT number should be already visible in footer of page ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROFID1_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID2_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID3_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID4_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID5_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID6_IN_SOURCE_ADDRESS ► 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;
*PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN ► 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;
*PDF_BOLD_PRODUCT_REF_AND_PERIOD ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES ► 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;
*PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*PDF_SECURITY_ENCRYPTION ► Encrypt PDF produced by dolibarr ► (v?) . See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - PDF_SECURITY_ENCRYPTION_USERPASS - PDF_SECURITY_ENCRYPTION_OWNERPASS (random if not specified) - PDF_SECURITY_ENCRYPTION_STRENGTH (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - PDF_SECURITY_ENCRYPTION_PUBKEYS Array of recipients containing public-key certificates (&#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;
*PDF_SHOW_PROJECT ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_1A ► PDF files produced by dolibarr respect PDF/A standard ► (v?)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_ALSO_LANGUAGE_CODE ► 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;
*DOC_SHOW_FIRST_SALES_REP ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*MAIN_PDF_DASH_BETWEEN_LINES&lt;br /&gt;
*&lt;br /&gt;
*SHOW_SUBPRODUCT_REF_IN_PDF&lt;br /&gt;
*PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES ► hide product label in supplier order lines (V15+)&lt;br /&gt;
*SHIPPING_PDF_DISPLAY_AMOUNT_HT ► 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;
*CASHDESK_SHOW_KEYPAD ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*POS_ADDON ► 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;
*TAKEPOS_ENABLE_SUMUP ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*TAKEPOS_CONTROL_CASH_OPENING ► Control the cash openning&lt;br /&gt;
*TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*CATEGORY_GRAPHSTATS_ON_PRODUCTS ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE ► 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;
*PRODUCT_ADD_TYPE_IN_DOCUMENTS ► 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;
*PRODUCT_DONOTSEARCH_ANYWHERE ► When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DIRECT_STATUS_UPDATE ► 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;
*MAIN_SEARCH_PRODUCT_BY_FOURN_REF ►  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;
*MAIN_DISABLE_FREE_LINES ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_SHOW_PRODUCT_ACTIVITY_TRIM ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_DESC_IN_LIST ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PUBLIC_URL ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_STOCK_LEVELS ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_NATURE ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_WEIGHT ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_PRICES ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_ACCOUNTING  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_SIZE ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_LENGTH ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_SURFACE ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_VOLUME ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_CUSTOM_INFO ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_LOT_ENABLE_QUALITY_CONTROL ► Enable feature for control quality on Lot&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_MAX_LENGTH_COMBO ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_MAX_VISIBLE_PHOTO ► 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;
*PRODUIT_PDF_MERGE_PROPAL ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_OLD_PATH_FOR_PHOTO ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_UNITS ► 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;
*RESOURCE_ON_PRODUCTS ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*RESOURCE_ON_SERVICES ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*PRODUCT_SHOW_ORIGIN_IN_COMBO ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*PRODUIT_ATTRIBUTES_HIDECHILD  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_ADD_FORM_ADD_TO ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*PRODUCT_DISABLE_SELLBY ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*PRODUCT_DISABLE_EATBY ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DENY_CHANGE_PRODUCT_TYPE ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_SORT_BY_CATEGORY ► Sort the product by categories instead of by ID&lt;br /&gt;
*PRODUCT_ADD_NET_MEASURE ► 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;
*PRODUCT_PRICE_BASE_TYPE  ► 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;
*PRODUCT_LOAD_EXTRAFIELD_INTO_OBJECTLINES ► 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;
*PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY ► Can link an object to a project of another thirdparty&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_PROJECT ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_TASK ► Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS ► Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CREATE_ON_OVERVIEW_DISABLED ► Hide the &amp;quot;create ...&amp;quot; button on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_DISABLE_UNLINK_FROM_OVERVIEW ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_UNSELECTABLES ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_TASKS ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LIST_SHOW_STARTDATE ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LINK_ON_OVERWIEW_DISABLED ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_SHOW_REF_INTO_LISTS ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*PROJECT_OPEN_ALWAYS_ON_TAB ► 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;
*PROJECT_ELEMENTS_FOR_MINUS_MARGIN&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROPAL_CHOOSE_ODT_DOCUMENT ► 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;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPAL_CLONE_ON_CREATE_PAGE ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*PROPAL_DISABLE_SIGNATURE ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_PDF_MERGE_PROPAL ► 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;
*PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTTERM ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTMODE ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
*PROPAL_REOPEN_UNSIGNED_ONLY  ► Do not allow reopening of signed (or billed) proposals. (V15)&lt;br /&gt;
*PROPOSAL_ARE_NOT_BILLABLE  ► 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;
*SERVICE_ARE_ECOMMERCE_200238EC ►  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;
*MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*SHIPMENT_GETS_ALL_ORDER_PRODUCTS ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
*SHIPPING_PDF_HIDE_ORDERED ►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;
*SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*STOCK_EXCLUDE_VIRTUAL_PRODUCTS ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
&lt;br /&gt;
*ENTREPOT_EXTRA_STATUS ► Instead of the 2 status (Closed, Open), a Warehouse has 3 status: Closed, Open (for all movements), Open (for internal movement only). Internal movement only means you can&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
*SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK ► For the calculation of virtual stocks, by default supplier orders with the status 3 (ordered) and 4 (partially received) are used. You can enter the list of statuses to be taken into account separated by commas for this calculation (example: 0,1,2,3)&lt;br /&gt;
*STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE ► 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;
*FOURN_PRODUCT_AVAILABILITY ► 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;
*RELOAD_PAGE_ON_SUPPLIER_CHANGE ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_AUTOADD_USER_CONTACT ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID ► 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;
*SUPPLIER_ORDER_USE_DISPATCH_STATUS ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_NO_DIRECT_APPROVE ► 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;
*SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*DISPLAY_DISCOUNTED_SUPPLIER_PRICE ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
*&lt;br /&gt;
*SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&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;
*COMPANY_AQUARIUM_CLEAN_REGEX ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = &#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;
*SOCIETE_EMAIL_MANDATORY ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_CUSTOMERS ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_PROSPECTS ► Remove all menu and features related to prospects&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_STATE ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_SORT_ON_TYPEENT ► 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;
*SOCIETE_ASK_FOR_SHIPPING_METHOD ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*SOCIETE_ADD_REF_IN_LIST ► 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;
*THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_DEFAULT_USELOCALTAX1 ► 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;
*THIRDPARTY_DEFAULT_USELOCALTAX2 ► 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;
*THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT ► 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;
*THIRDPARTY_INCLUDE_PARENT_IN_LINKTO ► 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;
*THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO ► 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;
*THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION ► Enabled contact creation on third-party create card&lt;br /&gt;
*THIRDPARTY_QUICKSEARCH_ON_FIELDS ► 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;
*MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS ► Enabled member creation on third-party create card&lt;br /&gt;
*SOCIETE_DISABLE_PARENTCOMPANY ► Disables attachment to a parent company.&lt;br /&gt;
*THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT ► Set the third party to customer by default&lt;br /&gt;
*THIRDPARTY_SUPPLIER_BY_DEFAULT ► Set the third party to supplier by default&lt;br /&gt;
*THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT ► Set the third party type by default (3 = customer &amp;amp; prospect / 2 = prospect / 1 = customer )&lt;br /&gt;
*CONTACT_DISABLE_PERSONALINFO ► Disable Personal data on contact page&lt;br /&gt;
*SOCIETE_DISABLE_WORKFORCE ► Disable work force selector on society page&lt;br /&gt;
*SOCIETE_SHOW_VAT_IN_LIST ► display VAT number in combo list of thirdparties (V15+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Ticket Module=&lt;br /&gt;
&lt;br /&gt;
*TICKET_SHOW_MESSAGES_ON_CARD ►Display all ticket related messages on the main ticket card. ► (&amp;gt;= 10.0)&lt;br /&gt;
*TICKET_AUTO_ASSIGN_CONTRACT_CREATE ►Automatically create a contract linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*TICKET_AUTO_CREATE_FICHINTER_CREATE ►Automatically create an intervention linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*WORKFLOW_TICKET_CLOSE_INTERVENTION ►On ticlet close, automatically close an intervention linked to the ticket&lt;br /&gt;
*TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION ►Automatically check &amp;quot;notify thirdparty at creation&amp;quot; ( &amp;gt;=16)&lt;br /&gt;
*TICKETS_MESSAGE_FORCE_MAIL ► 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;
*MAIN_INCLUDE_ZERO_VAT_IN_REPORTS ► 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;
*WEBSITE_USE_WEBSITE_ACCOUNTS ► 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;
*WEBSITE_ADD_CSS_TO_BODY&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;
*FCKEDITOR_ENABLE_DETAILS_FULL ► Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.&lt;br /&gt;
*FCKEDITOR_ALLOW_ANY_CONTENT ► Allow to enter any content. However, this will totally disable content filtering which is one of the most important CKEditor features. You can use this to keep all your tags and attributes in the html content.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*STRIPE_FORCE_VERSION ► 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;
*CLICKTODIAL_FORCENEWTARGET ► 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;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&lt;br /&gt;
 &lt;br /&gt;
*MAILING_NO_USING_PHPMAIL ► 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;
*MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► 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 MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL 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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available. 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;
*MAILING_LIMIT_SENDBYDAY ► 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;
*MAILING_LIMIT_WARNING_PHPMAIL ► Set this value to a translation key. Then add translation keys into the instance so user will see a message when into the email setup page. For example, you can set a message to say &#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;
*MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock so the administration tools like install.php and repair.php can&#039;t be used on your customer instance (until the lock file is deleted).&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD ► Set here the string to add in the SPF record This string will be shown into a help message when the user in in the setup of email page and has choose a method using an external SMTP server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FIRST_PING_OK_ID ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FILECHECK_LOCAL_SUFFIX and MAIN_FILECHECK_LOCAL_EXT ► If you offer a customized or patched version of Dolibarr, when the user will use the tool to check the integrity of files, the default xml file name used for signature checking will be the official file provided by the Dolibarr team, so it does not includes your own changes. To have the suggested signature file being your own file, you can set the constant MAIN_FILECHECK_LOCAL_SUFFIX to a suffix. For example, set this to &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;
*MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP ► 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;
*MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &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;
*MAIN_NO_UPGRADE_REDIRECT_ON_LEVEL_3_CHANGE ► The page to make the migration is not shown automatically when with deploy files of version X.Y.Z+delta on a version X.Y.Z. The upgrade page wil be shown only if there is a change on value of X or Y in version.&lt;br /&gt;
&lt;br /&gt;
*SYSLOG_DISABLE_LOGHANDLER_SYSLOG ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER ► Put here a text or a translation key of a text to show when the user will use the feature &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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_substitution_de_variables&amp;diff=54320</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=54320"/>
		<updated>2022-08-11T13:31:24Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Variables de substitution disponibles */&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;
|__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;
|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). Contient Titre+Nom+Prénom&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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=53504</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=53504"/>
		<updated>2022-04-27T07:31:26Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /*MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL constant*/&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;
HIDDEN_CONFIG ► &#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;
&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 dictionary of countries).&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_LANDING_PAGE&#039;&#039;&#039; ► Can choose the first page to show after login (the landing page). This option works as a global option (&amp;lt;code&amp;gt;llx_const&amp;lt;/code&amp;gt;) and per user option (&amp;lt;code&amp;gt;llx_user_param&amp;lt;/code&amp;gt;). ► (v3.9+)&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 (propale, order, invoice) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED&#039;&#039;&#039; ► Only the specified login is allowed to log in Dolibarr (maintenance mode).&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_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_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► If the buyer is a company that is in Europe but has no valid intracommunautary VAT ID, it is processed like if it is an individual, not a company. TODO: Must be implemented into accountancy module too instead of being set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; systematically into accountancy module.&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;
&lt;br /&gt;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_ANTI_SSRF_SERVER_IP ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_CSRF_WITH_TOKEN ► 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;
*MAIN_MODULES_FOR_EXTERNAL ► 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;
*MAIN_ALLOW_SVG_FILES_AS_IMAGES ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_ONLY_VALID_HTML ► Refused parameter if value is not a valid HTML content.&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
&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;
*ACCOUNTANCY_COMBO_FOR_AUX ► Add graphic option for ACCOUNTANCY_COMBO_FOR_AUX. Having this option on may slow down and even freeze the accounting features if you have a very large number of thirdparties ► (v10.0)&lt;br /&gt;
*ACCOUNTING_DEFAULT_NOT_NOTIFIED_VALIDATION_DATE ► Avoid validating the lines with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v14.0)&lt;br /&gt;
*ACCOUNTING_DEFAULT_NOTIFIED_EXPORT_DATE ► Avoid flaging the lines as exported with the accountancy export.(1= box unchecked by default / 0 = box checked by default) ► (v15.0)&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;
*AGENDA_ALL_CALENDARS ► 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;
*AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_DISABLE_LOCATION ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_MAX_EVENTS_DAY_VIEW ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_USE_EVENT_TYPE ► 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;
*MAIN_ADD_EVENT_ON_ELEMENT_CARD ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_SUPPORT_PRIORITY_IN_EVENTS ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*BANK_CAN_RECONCILIATE_CASHACCOUNT ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*BANK_DISABLE_CHECK_DEPOSIT ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_ORDER ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*BANK_USE_OLD_VARIOUS_PAYMENT ► 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;
*MAIN_IBAN_IS_NEVER_MANDATORY ► 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;
*ALLOW_USE_KITS_INTO_BOM_AND_MO&lt;br /&gt;
*BOM_SUB_BOM ►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;
=Inalterable Log Module=&lt;br /&gt;
&lt;br /&gt;
*BLOCKEDLOG_ADD_ACTIONS_SUPPORTED ► 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;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*CONTRACT_SUPPORT_PRODUCTS ► Products are also suggested into module contract.&lt;br /&gt;
*&lt;br /&gt;
*CONTRACT_ALLOW_EXTERNAL_DOWNLOAD&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Cron module=&lt;br /&gt;
&lt;br /&gt;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&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;
*WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS ► If this option is set, all invoices status (even already paid) may appear on the list of invoices qualified for a direct debit payment. This is the list of invoices with a payment request done, and not linked to a direct debit payment. By default, only &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;
*DONATION_USE_THIRDPARTIES ► 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;
*MAIN_MAILFORM_DISABLE_ENTERKEY ► Activate javascript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*MAIL_PREFIX_FOR_EMAIL_ID ► 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;
*MAIN_MAIL_DEBUG ► 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;
*MAIN_SMS_DEBUG ► 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;
*MAIN_MAIL_ALLOW_SENDMAIL_F ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option &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;
*MAIN_MAIL_SENDMAIL_FORCE_BA ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the -ba parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the mail.force_extra_parameters=-ba into &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_NO_FULL_EMAIL ► 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;
*MAIN_FIX_FOR_BUGGED_MTA ► Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of &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;
*MAIN_MAIL_DO_NOT_USE_SIGN ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*MAIL_FORCE_DELIVERY_RECEIPT_INVOICE ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_ORDER ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_PROPAL ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_SUPPLIER_PROPOSAL ► 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;
*MAIN_EMAIL_USECCC ► 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO ► Email to use as a BCC recipient when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EMAIL_ADD_TRACK_ID ► 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;
*MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► 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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_USE_MULTI_PART ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*MAIN_INFO_SOCIETE_MAIL_ALIASES ► 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;
*MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*MAIN_COPY_FILE_IN_EVENT_AUTO ► Add attachement document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_ENABLED_USER_DEST_SELECT ► 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;
*MAILING_PREFIX_FOR_EMAIL_ID ► 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;
*MAILING_NO_USING_PHPMAIL ► 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;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS ► Contains the email of contact to show into the message visible to a user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_WARNING_PHPMAIL ► 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;
*MAILING_LIMIT_WARNING_NOPHPMAIL ► 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;
*EMAILING_USE_ADVANCED_SELECTOR ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_SENDBYWEB ► 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;
*MAILING_LIMIT_SENDBYCLI ► 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;
*EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_OVERRIDE_VAT ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_USE_OLD_NUMBERING_RULE ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to 1 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_EXPENSE_IK ► 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;
*MAIN_USE_EXPENSE_RULE ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)&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;
*EXPORT_CSV_SEPARATOR_TO_USE ► 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;
*EXPORT_CSV_FORCE_CHARSET ► Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*EXPORTTOOL_CATEGORIES ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*USE_STRICT_CSV_RULES ► 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;
*EXPORTS_SHARE_MODELS  ► 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;
*MEMBER_URL_REDIRECT_SUBSCRIPTION ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*MEMBER_EXT_URL_SUBSCRIPTION_INFO ► 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;
*FICHINTER_CLASSIFY_BILLED► 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;
*FICHINTER_DISABLE_DETAILS► 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;
*MAIN_DEPOSIT_MULTI_TVA ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► If a credit note was partially refunded (a refund was sent to the customer), with common situation, we wait to have the remain refunded too. With this option, it is possible to convert the remain of invoice into a discount to reuse it into another invoice.&lt;br /&gt;
&lt;br /&gt;
*SUUPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CAN_ALWAYS_BE_EDITED ► 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;
*INVOICE_CAN_ALWAYS_BE_REMOVED ► 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;
*INVOICE_CAN_NEVER_BE_REMOVED ► Never allow to delete invoices (except draft invoices).&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POSITIVE_CREDIT_NOTE ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*FACTURE_DEPOSITS_ARE_JUST_PAYMENTS ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#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;
*FACTURE_SENDBYEMAIL_FOR_ALL_STATUS ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CREDIT_NOTE_STANDALONE ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_SITUATION ► 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 features once bug will be solved.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_SITUATION_CREDIT_NOTE ► 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;
*INVOICE_USE_RETAINED_WARRANTY ► Enable the retained warranty on invoice ► (v14.0)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_DEPOSIT ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_REPLACEMENT ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_CREDIT_NOTE ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ADD_ZATCA_QR_CODE ► 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/&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_BILL_ON_SHIPMENT ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POINTOFTAX_DATE ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE_LINES ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_DEFAULT_DOCUMENT ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)&lt;br /&gt;
&lt;br /&gt;
*FACTURE_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*INVOICE_ALLOW_FREE_REF ► Capability to change reference of an invoice. This will be possible as long as the invoice has the status “Draft” and only if your country is not in Europe(V11)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISALLOW_REOPEN&lt;br /&gt;
&lt;br /&gt;
*INVOICE_MAX_FUTURE_DELAY ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*INVOICE_AUTO_NEXT_MONTH_ON_LINES ► Increase start date and end date by one month, if an invoice line is a clone of a time based service AND if this services started on the first day of month and ended on the last day of month ► (V13.0.1)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY ► Set this value to 0 if you want to have the saturday as a working day&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY ► 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;
*MAIN_FAVICON_URL ► favicon url&lt;br /&gt;
&lt;br /&gt;
*MAIN_EASTER_EGG_COMMITSTRIP ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_STATUS_USES_CSS ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_APPLICATION_DISABLED_STATEBOARD ► Hide the stateboard of the main page&lt;br /&gt;
&lt;br /&gt;
*MAIN_APPLICATION_DISABLED_WORKBOARD ► Hide the workboard of the main page&lt;br /&gt;
&lt;br /&gt;
*MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD ► This conf will auto remove global stats box item if there are already in the new dashboard of opened elements and keep displayed stats on the opened item box (not only on mouse over) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_TOP_MENU_SEARCH_DROPDOWN ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_AGRESSIVENESS_RATIO ► This conf can be used to increase/decrease agressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_SHOW_BORDER_ON_INPUT&lt;br /&gt;
*MAIN_DISABLE_GLOBAL_WORKBOARD ► Hide the workboard of the main page ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=MultiCurrency=&lt;br /&gt;
&lt;br /&gt;
*MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION ► 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;
*MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*ORDER_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*ORDER_VALID_AFTER_CLOSE_PROPAL =&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;
*ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
*ORDER_ENABLE_NEGATIVE =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER =&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;
*MAIN_ADD_PDF_BACKGROUND ► 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;
*MAIN_DISABLE_FORCE_SAVEAS ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_AUTOUPDATE ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_COMPRESSION ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DOCUMENTS_WITH_PICTURE_WIDTH ► 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;
*MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_INVOICES_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*MAIN_INVERT_SENDER_RECIPIENT ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*MAIN_ODT_AS_PDF ► 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;
*MAIN_ODT_AS_PDF_DEL_SOURCE ► For ODT generation. If set, then initial behaviour is conserved but ODT file is removed when option to convert it as PDF (see previous) is on. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_FORCE_FONT ► 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;
*MAIN_PDF_FORCE_FONT_SIZE ► 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;
*MAIN_PDF_FREETEXT_HEIGHT ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_TITLE_BACKGROUND_COLOR ► 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;
*MAIN_PDF_USE_LARGE_LOGO ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_BACKGROUND_ON_PDF ► 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;
*MAIN_USE_COMPANY_NAME_OF_CONTACT ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_ADDALSOTARGETDETAILS ► If 1, add details of reipient on generated PDFs (email, fax, url and phone). Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
*MAIN_TVAINTRA_IN_SOURCE_ADDRESS ► Show VAT N° in source address of PDF to comply with legalities in certain countries. Note that VAT number should be already visible in footer of page ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROFID1_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID2_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID3_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID4_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID5_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID6_IN_SOURCE_ADDRESS ► 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;
*PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN ► 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;
*PDF_BOLD_PRODUCT_REF_AND_PERIOD ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES ► 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;
*PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*PDF_SECURITY_ENCRYPTION ► Encrypt PDF produced by dolibarr ► (v?) . See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - PDF_SECURITY_ENCRYPTION_USERPASS - PDF_SECURITY_ENCRYPTION_OWNERPASS (random if not specified) - PDF_SECURITY_ENCRYPTION_STRENGTH (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - PDF_SECURITY_ENCRYPTION_PUBKEYS Array of recipients containing public-key certificates (&#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;
*PDF_SHOW_PROJECT ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_1A ► PDF files produced by dolibarr respect PDF/A standard ► (v?)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_ALSO_LANGUAGE_CODE ► 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;
*DOC_SHOW_FIRST_SALES_REP ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*MAIN_PDF_DASH_BETWEEN_LINES&lt;br /&gt;
*&lt;br /&gt;
*SHOW_SUBPRODUCT_REF_IN_PDF&lt;br /&gt;
*PDF_HIDE_PRODUCT_LABEL_IN_SUPPLIER_LINES ► hide product label in supplier order lines (V15+)&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;
*CASHDESK_SHOW_KEYPAD ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*POS_ADDON ► 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;
*TAKEPOS_ENABLE_SUMUP ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*&lt;br /&gt;
*TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*CATEGORY_GRAPHSTATS_ON_PRODUCTS ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE ► 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;
*PRODUCT_ADD_TYPE_IN_DOCUMENTS ► 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;
*PRODUCT_DONOTSEARCH_ANYWHERE ► When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DIRECT_STATUS_UPDATE ► 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;
*MAIN_SEARCH_PRODUCT_BY_FOURN_REF ►  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;
*MAIN_DISABLE_FREE_LINES ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_SHOW_PRODUCT_ACTIVITY_TRIM ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_DESC_IN_LIST ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PUBLIC_URL ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_STOCK_LEVELS ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_NATURE ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_WEIGHT ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_PRICES ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_ACCOUNTING  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_SIZE ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_LENGTH ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_SURFACE ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_VOLUME ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_CUSTOM_INFO ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_LOT_ENABLE_QUALITY_CONTROL ► Enable feature for control quality on Lot&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_MAX_LENGTH_COMBO ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_MAX_VISIBLE_PHOTO ► 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;
*PRODUIT_PDF_MERGE_PROPAL ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_OLD_PATH_FOR_PHOTO ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_UNITS ► 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;
*RESOURCE_ON_PRODUCTS_RESOURCE_ON_SERVICES ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*PRODUCT_SHOW_ORIGIN_IN_COMBO ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*PRODUIT_ATTRIBUTES_HIDECHILD  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_ADD_FORM_ADD_TO ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*PRODUCT_DISABLE_SELLBY ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*PRODUCT_DISABLE_EATBY ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DENY_CHANGE_PRODUCT_TYPE ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_SORT_BY_CATEGORY ► Sort the product by categories instead of by ID&lt;br /&gt;
*PRODUCT_ADD_NET_MEASURE ► 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;
&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;
*PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY ► Can link an object to a project of another thirdparty&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_PROJECT ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_TASK ► Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS ► Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CREATE_ON_OVERVIEW_DISABLED ► Hide the &amp;quot;create ...&amp;quot; button on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_DISABLE_UNLINK_FROM_OVERVIEW ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_UNSELECTABLES ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_TASKS ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LIST_SHOW_STARTDATE ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LINK_ON_OVERWIEW_DISABLED ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_SHOW_REF_INTO_LISTS ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*PROJECT_OPEN_ALWAYS_ON_TAB ► 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;
*PROJECT_ELEMENTS_FOR_MINUS_MARGIN&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROPAL_CHOOSE_ODT_DOCUMENT ► 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;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPAL_CLONE_ON_CREATE_PAGE ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*PROPAL_DISABLE_SIGNATURE ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_PDF_MERGE_PROPAL ► 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;
*PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTTERM ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTMODE ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
*PROPAL_REOPEN_UNSIGNED_ONLY  ► Do not allow reopening of signed (or billed) proposals. (V15)&lt;br /&gt;
*PROPOSAL_ARE_NOT_BILLABLE  ► 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;
*SERVICE_ARE_ECOMMERCE_200238EC ►  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;
*MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*SHIPMENT_GETS_ALL_ORDER_PRODUCTS ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Stocks=&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*STOCK_EXCLUDE_VIRTUAL_PRODUCTS ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
&lt;br /&gt;
*ENTREPOT_EXTRA_STATUS ► Instead of the 2 status (Closed, Open), a Warehouse has 3 status: Closed, Open (for all movements), Open (for internal movement only). Internal movement only means you can&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
*SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK ► For the calculation of virtual stocks, by default supplier orders with the status 3 (ordered) and 4 (partially received) are used. You can enter the list of statuses to be taken into account separated by commas for this calculation (example: 0,1,2,3)&lt;br /&gt;
*STOCK_MOVEMENT_LIST_HIDE_UNIT_PRICE ► 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;
*FOURN_PRODUCT_AVAILABILITY ► 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;
*RELOAD_PAGE_ON_SUPPLIER_CHANGE ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_AUTOADD_USER_CONTACT ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID ► 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;
*SUPPLIER_ORDER_USE_DISPATCH_STATUS ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_NO_DIRECT_APPROVE ► 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;
*SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*DISPLAY_DISCOUNTED_SUPPLIER_PRICE ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
*&lt;br /&gt;
*SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&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;
*COMPANY_AQUARIUM_CLEAN_REGEX ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = &#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;
*SOCIETE_EMAIL_MANDATORY ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_CUSTOMERS ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_PROSPECTS ► Remove all menu and features related to prospects&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_STATE ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_SORT_ON_TYPEENT ► 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;
*SOCIETE_ASK_FOR_SHIPPING_METHOD ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*SOCIETE_ADD_REF_IN_LIST ► 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;
*THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_DEFAULT_USELOCALTAX1 ► 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;
*THIRDPARTY_DEFAULT_USELOCALTAX2 ► 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;
*THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT ► 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;
*THIRDPARTY_INCLUDE_PARENT_IN_LINKTO ► 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;
*THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO ► 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;
*THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION ► Enabled contact creation on third-party create card&lt;br /&gt;
*THIRDPARTY_QUICKSEARCH_ON_FIELDS ► 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;
*MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS ► Enabled member creation on third-party create card&lt;br /&gt;
*SOCIETE_DISABLE_PARENTCOMPANY ► Disables attachment to a parent company.&lt;br /&gt;
*THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT ► Set the third party to customer by default&lt;br /&gt;
*THIRDPARTY_SUPPLIER_BY_DEFAULT ► Set the third party to supplier by default&lt;br /&gt;
*THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT ► Set the third party type by default (3 = customer &amp;amp; prospect / 2 = prospect / 1 = customer )&lt;br /&gt;
*CONTACT_DISABLE_PERSONALINFO ► Disable Personal data on contact page&lt;br /&gt;
*SOCIETE_DISABLE_WORKFORCE ► Disable work force selector on society page&lt;br /&gt;
*SOCIETE_SHOW_VAT_IN_LIST ► display VAT number in combo list of thirdparties (V15+)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Ticket Module=&lt;br /&gt;
&lt;br /&gt;
*TICKET_SHOW_MESSAGES_ON_CARD ►Display all ticket related messages on the main ticket card. ► (&amp;gt;= 10.0)&lt;br /&gt;
*TICKET_AUTO_ASSIGN_CONTRACT_CREATE ►Automatically create a contract linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*TICKET_AUTO_CREATE_FICHINTER_CREATE ►Automatically create an intervention linked to the ticket ► (&amp;gt;= 10.0)&lt;br /&gt;
*WORKFLOW_TICKET_CLOSE_INTERVENTION ►On ticlet close, automatically close an intervention linked to the ticket&lt;br /&gt;
*TICKET_CHECK_NOTIFY_THIRDPARTY_AT_CREATION ►Automatically check &amp;quot;notify thirdparty at creation&amp;quot; ( &amp;gt;=16)&lt;br /&gt;
*TICKETS_MESSAGE_FORCE_MAIL ► 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;
*MAIN_INCLUDE_ZERO_VAT_IN_REPORTS ► 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;
*WEBSITE_USE_WEBSITE_ACCOUNTS ► 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;
*WEBSITE_ADD_CSS_TO_BODY&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;
*FCKEDITOR_ENABLE_DETAILS_FULL ► Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.&lt;br /&gt;
*FCKEDITOR_ALLOW_ANY_CONTENT ► Allow to enter any content. However, this will totally disable content filtering which is one of the most important CKEditor features. You can use this to keep all your tags and attributes in the html content.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*STRIPE_FORCE_VERSION ► 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;
*CLICKTODIAL_FORCENEWTARGET ► 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;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&lt;br /&gt;
 &lt;br /&gt;
*To avoid bad use of the emailing module, it is recommended to set the option MAILING_NO_USING_PHPMAIL to 1 (This option is described previously). Also you can complete the message visible by customers when they try to setup the SMTP credentials of their Dolibarr by using the constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS (This option is described previously). For example, you can point to a FAQ on your website.&lt;br /&gt;
&lt;br /&gt;
*If you set a system limit on number of recipient, you can set some option to match the same values so users will be informed: MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► Restrict sending of 1 email message to &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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
*MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock so the administration tools like install.php and repair.php can&#039;t be used on your customer instance (until the lock file is deleted).&lt;br /&gt;
&lt;br /&gt;
*MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP ► Set to 1 by default. You can set it to 0 to show a warning to encourage admin to set its own SMTP service.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_WARNING_PHPMAIL ► Set this value to a translation key. Then add translation keys into the instance so user will see a message when into the email setup page. For example, you can set a message to say &#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;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD ► Set here the string to add in the SPF record This string will be shown into a help message when the user in in the setup of email page and has choose a method using an external SMTP server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FIRST_PING_OK_ID ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FILECHECK_LOCAL_SUFFIX and MAIN_FILECHECK_LOCAL_EXT ► If you offer a customized or patched version of Dolibarr, when the user will use the tool to check the integrity of files, the default xml file name used for signature checking will be the official file provided by the Dolibarr team, so it does not includes your own changes. To have the suggested signature file being your own file, you can set the constant MAIN_FILECHECK_LOCAL_SUFFIX to a suffix. For example, set this to &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;
*MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &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;
*SYSLOG_DISABLE_LOGHANDLER_SYSLOG ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER ► Put here a text or a translation key of a text to show when the user will use the feature &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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Pourquoi_adh%C3%A9rer&amp;diff=53362</id>
		<title>Pourquoi adhérer</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Pourquoi_adh%C3%A9rer&amp;diff=53362"/>
		<updated>2022-04-05T14:25:59Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &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 : Why_subscribe --&amp;gt;&lt;br /&gt;
[[en:Why_subscribe]]&lt;br /&gt;
[[es:Por_qué_afiliarese]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateAssoFr}}&lt;br /&gt;
[[Category:Association]]&lt;br /&gt;
&lt;br /&gt;
Voici quelques raisons qui pourront vous motiver pour adhérer à l&#039;association Dolibarr:&lt;br /&gt;
&lt;br /&gt;
*Pour bénéficier de {{TemplateReducDolistoreForMembers}} de réduction sur les modules payants de la plateforme [https://www.dolistore.com DoliStore.com] (Pour en bénéficier, une fois votre adhésion validée, créer un compte sur Dolistore et envoyer un mail à &#039;&#039;&#039;dolistore@dolibarr.org&#039;&#039;&#039; AVANT de faire votre achat. Nous modifierons le profil de votre compte sur dolistore afin d&#039;obtenir des prix minorés de la réduction. Vous pourrez ensuite faire vos achats avec ces nouveaux prix).&lt;br /&gt;
*Pour pouvoir afficher la mention &amp;quot;Membre de l&#039;association Dolibarr&amp;quot; sur votre site, documents officiels, etc...&lt;br /&gt;
*Pour pouvoir postuler et obtenir le label [[Dolibarr Preferred Partner]].&lt;br /&gt;
*Parce que vous utilisez Dolibarr, en êtes content et aimeriez que cela perdure et s&#039;améliore encore...&lt;br /&gt;
*Parce que vous ne pouvez contribuer comme développeur, traducteur ou documentaliste, mais pouvez aider financièrement...&lt;br /&gt;
&lt;br /&gt;
En bref, le logiciel libre est une magnifique machine à qualité mais qui requiert un minimum de financement.&lt;br /&gt;
En adhérent, vous soutenez l&#039;association qui directement ou indirectement réalise des actions qui contribuent à tout cela.&lt;br /&gt;
&lt;br /&gt;
Pour adhérer maintenant, allez sur la page [[Adhérer]].&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=52760</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=52760"/>
		<updated>2022-01-13T09:38:43Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK&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;
HIDDEN_CONFIG ► &#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;
&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 dictionary of countries).&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 Draft for some objects (project, donation, ...)&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_LANDING_PAGE&#039;&#039;&#039; ► Can choose the first page to show after login (the landing page). This option works as a global option (&amp;lt;code&amp;gt;llx_const&amp;lt;/code&amp;gt;) and per user option (&amp;lt;code&amp;gt;llx_user_param&amp;lt;/code&amp;gt;). ► (v3.9+)&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 (propale, order, invoice) ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;MAIN_ONLY_LOGIN_ALLOWED&#039;&#039;&#039; ► Only the specified login is allowed to log in Dolibarr (maintenance mode).&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_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_USE_VAT_COMPANIES_IN_EEC_WITH_INVALID_VAT_ID_ARE_INDIVIDUAL&#039;&#039;&#039; ► If the buyer is a company that is in Europe but has no valid intracommunautary VAT ID, it is processed like if it is an individual, not a company. TODO: Must be implemented into accountancy module too instead of being set to &amp;lt;code&amp;gt;1&amp;lt;/code&amp;gt; systematically into accountancy module.&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;
=Security Options=&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_ANTI_SSRF_SERVER_IP ► Can set a complete list of IPs of server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_SECURITY_CSRF_WITH_TOKEN ► 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;
*MAIN_MODULES_FOR_EXTERNAL ► 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;
*MAIN_ALLOW_SVG_FILES_AS_IMAGES ► Allow to use SVG file as image files. Warning: This may introduce security vulnerability (javascript can be embedded into SVG file).&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_ONLY_VALID_HTML ► Refused parameter if value is not a valid HTML content.&lt;br /&gt;
&lt;br /&gt;
*MAIN_RESTRICTHTML_REMOVE_ALSO_BAD_ATTRIBUTES ► Sanitize also non standard attributes on HTML content.&lt;br /&gt;
&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;
*ACCOUNTANCY_COMBO_FOR_AUX ► Add graphic option for ACCOUNTANCY_COMBO_FOR_AUX. Having this option on may slow down and even freeze the accounting features if you have a very large number of thirdparties ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
=Agenda Module=&lt;br /&gt;
&lt;br /&gt;
*AGENDA_ALL_CALENDARS ► 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;
*AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS ► To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_DISABLE_LOCATION ► Disable location field in action card  ► (&amp;gt;=v5.0)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_MAX_EVENTS_DAY_VIEW ► Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
&lt;br /&gt;
*AGENDA_USE_EVENT_TYPE ► 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;
*MAIN_ADD_EVENT_ON_ELEMENT_CARD ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
*AGENDA_SUPPORT_PRIORITY_IN_EVENTS ► Allow to have priorities in events ► (&amp;gt;=v13.0)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Bank Module=&lt;br /&gt;
&lt;br /&gt;
*BANK_CAN_RECONCILIATE_CASHACCOUNT ► Can reconciliate cash accounts ► (v3.8)&lt;br /&gt;
&lt;br /&gt;
*BANK_DISABLE_CHECK_DEPOSIT ► Disable check deposit feature&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_ORDER ► Ask bank account during creation of an order&lt;br /&gt;
&lt;br /&gt;
*BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL ► Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
*BANK_USE_OLD_VARIOUS_PAYMENT ► 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;
&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;
*ALLOW_USE_KITS_INTO_BOM_AND_MO&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;
*BLOCKEDLOG_ADD_ACTIONS_SUPPORTED ► 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;
=Contracts=&lt;br /&gt;
&lt;br /&gt;
*CONTRACT_SUPPORT_PRODUCTS ► Products are also suggested into module contract.&lt;br /&gt;
*&lt;br /&gt;
*CONTRACT_ALLOW_EXTERNAL_DOWNLOAD&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Cron module=&lt;br /&gt;
&lt;br /&gt;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&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;
*WITHDRAWAL_ALLOW_ANY_INVOICE_STATUS ► If this option is set, all invoices status (even already paid) may appear on the list of invoices qualified for a direct debit payment. This is the list of invoices with a payment request done, and not linked to a direct debit payment. By default, only &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;
*DONATION_USE_THIRDPARTIES ► 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;
*MAIN_MAILFORM_DISABLE_ENTERKEY ► Activate javascript code to disable the enter key in the MAIL form. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*MAIL_PREFIX_FOR_EMAIL_ID ► 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;
*MAIN_MAIL_DEBUG ► 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;
*MAIN_SMS_DEBUG ► 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;
*MAIN_MAIL_ALLOW_SENDMAIL_F ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option &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;
*MAIN_MAIL_SENDMAIL_FORCE_BA ► On Linux or BSD system, PHP email function use the command sendmail local to server. In some case, we want to recipient to be provided to sendmail into the email content instead of its command line parameter. For this we must add the -ba parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the mail.force_extra_parameters=-ba into &amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt; file.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_NO_FULL_EMAIL ► 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;
*MAIN_FIX_FOR_BUGGED_MTA ► Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of &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;
*MAIN_MAIL_DO_NOT_USE_SIGN ► Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
*MAIL_FORCE_DELIVERY_RECEIPT_INVOICE ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_ORDER ► 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;
*MAIL_FORCE_DELIVERY_RECEIPT_PROPAL ► 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;
&lt;br /&gt;
*MAIN_EMAIL_USECCC ► 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO ► Email to use as a BCC recipient when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EMAIL_ADD_TRACK_ID ► 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;
*MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► 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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML ► Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_USE_MULTI_PART ► Forge email content using an alternate text part ► (for 5.0.2+). By default with 6.0+&lt;br /&gt;
*MAIN_INFO_SOCIETE_MAIL_ALIASES ► 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;
*MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS ► If images were stored into the medias directory from CKEditor, then images into emails are replaced with &amp;quot;inline content&amp;quot;. This may increase seriously risk of being detected as SPAM.&lt;br /&gt;
&lt;br /&gt;
*MAIN_COPY_FILE_IN_EVENT_AUTO ► Add attachement document on event auto generated by sending email from dolibarr. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_MAIL_ENABLED_USER_DEST_SELECT ► 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;
*MAILING_PREFIX_FOR_EMAIL_ID ► 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;
*MAILING_NO_USING_PHPMAIL ► 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;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
*MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS ► Contains the email of contact to show into the message visible to a user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_WARNING_PHPMAIL ► 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;
*MAILING_LIMIT_WARNING_NOPHPMAIL ► 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;
*EMAILING_USE_ADVANCED_SELECTOR ► Enable the advanced selector for recipients.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_SENDBYWEB ► 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;
*MAILING_LIMIT_SENDBYCLI ► 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;
*EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS ► Can enter several expense reports on same or overlapping date periods. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_OVERRIDE_VAT ► Setting this constant to 1 will allow expense reports to show VAT even if the global VAT setting is off ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*EXPENSEREPORT_USE_OLD_NUMBERING_RULE ► The module Expense Report use numbering rules that you can setup (like other modules do). If you need to keep the hard-coded numbering rule of expenses report used in v6.0 set this constant to 1 ► (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_EXPENSE_IK ► 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;
*MAIN_USE_EXPENSE_RULE ► This feature allows you to set a variety of rules per user/group/all so they can only create reports within their limits. ► (v7.0+)&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;
*EXPORT_CSV_SEPARATOR_TO_USE ► 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;
*EXPORT_CSV_FORCE_CHARSET ► Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= &amp;lt;code&amp;gt;utf-8&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*EXPORTTOOL_CATEGORIES ► Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*USE_STRICT_CSV_RULES ► 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;
*EXPORTS_SHARE_MODELS  ► 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;
*MEMBER_URL_REDIRECT_SUBSCRIPTION ► Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
&lt;br /&gt;
*MEMBER_EXT_URL_SUBSCRIPTION_INFO ► 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;
*FICHINTER_CLASSIFY_BILLED► 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;
*FICHINTER_DISABLE_DETAILS► 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;
*MAIN_DEPOSIT_MULTI_TVA ► In deposits invoice, creates one line per VAT rate from the origin document ► (6.0)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► If a credit note was partially refunded (a refund was sent to the customer), with common situation, we wait to have the remain refunded too. With this option, it is possible to convert the remain of invoice into a discount to reuse it into another invoice.&lt;br /&gt;
&lt;br /&gt;
*SUUPLIER_INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED* ► See INVOICE_ALLOW_REUSE_OF_CREDIT_WHEN_PARTIALLY_REFUNDED, but for supplier credit notes.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CAN_ALWAYS_BE_EDITED ► 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;
*INVOICE_CAN_ALWAYS_BE_REMOVED ► 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;
*INVOICE_CAN_NEVER_BE_REMOVED ► Never allow to delete invoices (except draft invoices).&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POSITIVE_CREDIT_NOTE ► All amounts on PDF credit notes are positive.&lt;br /&gt;
&lt;br /&gt;
*FACTURE_DEPOSITS_ARE_JUST_PAYMENTS ► An old way to create initial payment. This treats deposit invoices as a special case and not as legal deposit invoice. Deposit invoices don&#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;
*FACTURE_SENDBYEMAIL_FOR_ALL_STATUS ► Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_CREDIT_NOTE_STANDALONE ► Start implementation to allow a credit note even without invoice (dangerous) ► (v3.9)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_SITUATION ► 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 features once bug will be solved.&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_SITUATION_CREDIT_NOTE ► 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;
&lt;br /&gt;
*INVOICE_DISABLE_DEPOSIT ► Disable deposit invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_REPLACEMENT ► Disable replacement invoices&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISABLE_CREDIT_NOTE ► Disable credit notes&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► See PDF option&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► See PDF options&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_BILL_ON_SHIPMENT ► Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
&lt;br /&gt;
*INVOICE_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. Use the tag __DIRECTDOWNLOAD_URL_INVOICE__ in email template to insert it. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_POINTOFTAX_DATE ► Add Point of Tax Date on invoices for country-specific legality reasons ► (v4.0+)&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE ► Can validate an invoice when amount is negative&lt;br /&gt;
&lt;br /&gt;
*FACTURE_ENABLE_NEGATIVE_LINES ► Allows to add negative lines to an invoice ► (v8.0.2+)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_USE_DEFAULT_DOCUMENT ► Allow user to select a default invoice documents models according to invoice type. On invoice create page, the model is dynamically changed on invoice type selection. ► (v9.0+)&lt;br /&gt;
&lt;br /&gt;
*FACTURE_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object (Proposal,...) when creating the bill.&lt;br /&gt;
*FACTUREFOURN_REUSE_NOTES_ON_CREATE_FROM ► Reuse the Public Note and Private note of the previous object when creating the supplier bill ► (V13.0)&lt;br /&gt;
*MAIN_SHOW_FACNUMBER_IN_DISCOUNT_LIST ► Display the reference of credit notes in discount list when creating the bill.&lt;br /&gt;
*INVOICE_ALLOW_FREE_REF ► Capability to change reference of an invoice. This will be possible as long as the invoice has the status “Draft” and only if your country is not in Europe(V11)&lt;br /&gt;
&lt;br /&gt;
*INVOICE_DISALLOW_REOPEN&lt;br /&gt;
&lt;br /&gt;
*INVOICE_MAX_FUTURE_DELAY ► Numbers of seconds allowed for billing in the future ► (V14.0)&lt;br /&gt;
*INVOICE_AUTO_NEXT_MONTH_ON_LINES ► Increase start date and end date by one month, if an invoice line is a clone of a time based service AND if this services started on the first day of month and ended on the last day of month ► (V13.0.1)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Leave=&lt;br /&gt;
&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SATURDAY ► Set this value to 0 if you want to have the saturday as a working day&lt;br /&gt;
*MAIN_NON_WORKING_DAYS_INCLUDE_SUNDAY ► 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;
*MAIN_FAVICON_URL ► favicon url&lt;br /&gt;
&lt;br /&gt;
*MAIN_EASTER_EGG_COMMITSTRIP ► Show a comic image from the CommitStrip website. Images are refreshed daily. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_STATUS_USES_CSS ►  Change status design using new style ► (v10.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_APPLICATION_DISABLED_STATEBOARD ► Hide the stateboard of the main page&lt;br /&gt;
&lt;br /&gt;
*MAIN_APPLICATION_DISABLED_WORKBOARD ► Hide the workboard of the main page&lt;br /&gt;
&lt;br /&gt;
*MAIN_INCLUDE_GLOBAL_STATS_IN_OPENED_DASHBOARD ► This conf will auto remove global stats box item if there are already in the new dashboard of opened elements and keep displayed stats on the opened item box (not only on mouse over) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_TOP_MENU_SEARCH_DROPDOWN ► Actually only for eldy theme, this conf move search input  to top menu and use new design too ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_AGRESSIVENESS_RATIO ► This conf can be used to increase/decrease agressiveness of colors. Value 0 is medium, value is between -100 (light grey colors) to +100 (very flashy colors) ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*THEME_SHOW_BORDER_ON_INPUT&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=MultiCurrency=&lt;br /&gt;
&lt;br /&gt;
*MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION ► 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;
*MAIN_USE_PROPAL_REFCLIENT_FOR_ORDER =&amp;gt; Copy customer reference from proposal to order. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*ORDER_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
&lt;br /&gt;
*ORDER_VALID_AFTER_CLOSE_PROPAL =&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;
*ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
*ORDER_ENABLE_NEGATIVE =&amp;gt; Can validate an order when amount is negative&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_PROPAGATE_EXTRAFIELDS_TO_ORDER =&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;
*MAIN_ADD_PDF_BACKGROUND ► 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;
*MAIN_DISABLE_FORCE_SAVEAS ► If your browser always asks to save downloaded files on disk (like PDF), try this this option. File may be displayed directly in your browser.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_AUTOUPDATE ► Disable automatic generation of PDF each time we add/update/delete a product line (we can still build document by clicking on &amp;quot;Generate&amp;quot;). This option may increase interface speed on servers with low CPU.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DISABLE_PDF_COMPRESSION ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DOCUMENTS_LOGO_HEIGHT ► Can force height of the logo on PDF.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DOCUMENTS_WITH_PICTURE_WIDTH ► 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;
*MAIN_GENERATE_DOCUMENTS_SHOW_FOOT_DETAILS ► Adding the company address at the bottom of the page. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_INVOICES_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE ► Include the first image of the product into the line of the generated PDF for supplier proposals ► (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT ► Disable VAT on generated documents. like for an association. (Works with crabe template)&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN ► Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
*MAIN_INVERT_SENDER_RECIPIENT ► Invert sender and recipient in some PDF. Note: This option is set automatically if country if Germany.&lt;br /&gt;
&lt;br /&gt;
*MAIN_ODT_AS_PDF ► 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;
*MAIN_ODT_AS_PDF_DEL_SOURCE ► For ODT generation. If set, then initial behaviour is conserved but ODT file is removed when option to convert it as PDF (see previous) is on. Disabled by default&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_FORCE_FONT ► 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;
*MAIN_PDF_FORCE_FONT_SIZE ► 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;
*MAIN_PDF_FREETEXT_HEIGHT ► Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_TITLE_BACKGROUND_COLOR ► 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;
*MAIN_PDF_USE_LARGE_LOGO ► Use the original logo with its higher resolution into the PDF instead of the small thumb. This may lead to very very large PDF !&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_BACKGROUND_ON_PDF ► 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. Warning: This option make TCPDF library being crazy sometime and content on image disappeared!&lt;br /&gt;
&lt;br /&gt;
*MAIN_USE_COMPANY_NAME_OF_CONTACT ► Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_ADDALSOTARGETDETAILS ► If 1, add details of reipient on generated PDFs (email, fax, url and phone). Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
*MAIN_TVAINTRA_IN_SOURCE_ADDRESS ► Show VAT N° in source address of PDF to comply with legalities in certain countries. Note that VAT number should be already visible in footer of page ► (v8.0.1+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► Add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROFID1_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID2_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID3_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID4_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID5_IN_SOURCE_ADDRESS ► 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;
*MAIN_PROFID6_IN_SOURCE_ADDRESS ► 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;
*PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN ► 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;
*PDF_BOLD_PRODUCT_REF_AND_PERIOD ► Add more visibility (bold) on product ref and period of service in desc. ► (v12.0)&lt;br /&gt;
&lt;br /&gt;
*PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES ► 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;
*PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME ► Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
*PDF_SECURITY_ENCRYPTION ► Encrypt PDF produced by dolibarr ► (v?) . See additional parameters :PDF_SECURITY_ENCRYPTION_RIGHTS (block &#039;modify&#039; or &#039;copy&#039;) - PDF_SECURITY_ENCRYPTION_USERPASS - PDF_SECURITY_ENCRYPTION_OWNERPASS (random if not specified) - PDF_SECURITY_ENCRYPTION_STRENGTH (0 = RC4 40 bit; 1 = RC4 128 bit; 2 = AES 128 bit; 3 = AES 256 bit) - PDF_SECURITY_ENCRYPTION_PUBKEYS Array of recipients containing public-key certificates (&#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;
*PDF_SHOW_PROJECT ► Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_1A ► PDF files produced by dolibarr respect PDF/A standard ► (v?)&lt;br /&gt;
&lt;br /&gt;
*PDF_USE_ALSO_LANGUAGE_CODE ► 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;
*DOC_SHOW_FIRST_SALES_REP ► Show the sales representant on header (at least on propal azur and rubis template)&lt;br /&gt;
*MAIN_PDF_DASH_BETWEEN_LINES&lt;br /&gt;
*&lt;br /&gt;
*SHOW_SUBPRODUCT_REF_IN_PDF&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;
*CASHDESK_SHOW_KEYPAD ► Show a mouse key pad into the &#039;Simple Point of Sale&#039; module.&lt;br /&gt;
&lt;br /&gt;
*POS_ADDON ► 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;
*TAKEPOS_ENABLE_SUMUP ► Enable the compatibility of TakePOS with the card reader terminal [https://SumUp.fr SumUp]&lt;br /&gt;
*TAKEPOS_CAN_FORCE_BANK_ACCOUNT_DURING_PAYMENT ► Possibility to force the bank account during the payment in TakePOS  ► (v13.0)&lt;br /&gt;
*&lt;br /&gt;
*TAKEPOS_NUMPAD_FORCE_PAYMENT_ICONS_LABELS&lt;br /&gt;
 &lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Products Module=&lt;br /&gt;
&lt;br /&gt;
*CATEGORY_GRAPHSTATS_ON_PRODUCTS ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
&lt;br /&gt;
*MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE ► 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;
*PRODUCT_ADD_TYPE_IN_DOCUMENTS ► 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;
*PRODUCT_DONOTSEARCH_ANYWHERE ► When Ajax search is enabled, search is done on criteria anywhere in label of product. By adding this option, search is done only on start of label. This is really faster when you have a huge number of products.&lt;br /&gt;
&lt;br /&gt;
*MAIN_DIRECT_STATUS_UPDATE ► 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;
*MAIN_SEARCH_PRODUCT_BY_FOURN_REF ►  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;
*MAIN_DISABLE_FREE_LINES ► Disallow using free lines to add line in documents ► (&amp;gt;= 8.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_SHOW_PRODUCT_ACTIVITY_TRIM ► Show Product and Services turnover before for all four quarters tax over recent years recent years on the product area ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_DESC_IN_LIST ► Show long description of product/service into lists.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PROPAGATE_CUSTOMER_PRICES_ON_CHILD_COMPANIES ► Disable propagation of prices per customer from a customer to its child company.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_PUBLIC_URL ► Disable public url in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_STOCK_LEVELS ► Disable properties of stock limits and desired optimal value on product ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_NATURE ► Disable nature in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_WEIGHT ► Disable weight in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_PRICES ► Disable prices in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_ACCOUNTING  ► Disable accounting in product card ► (v14.0+)&lt;br /&gt;
*PRODUCT_DISABLE_SIZE ► Disable size in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_LENGTH ► Disable length in product card ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_SURFACE ► Disable surface in product card. ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_VOLUME ► Disable volume in product card.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DISABLE_CUSTOM_INFO ► Disable custom info (custom code and country origin) in product/service card.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL ► When option to use price per level/segment is on, this allows to also set a dedicated vat for each price level.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY ► If price per quantity ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*PRODUIT_CUSTOMER_PRICES_BY_QTY_MULTIPRICES ► If price per quantity and customer ► &#039;&#039;Experimental&#039;&#039;&lt;br /&gt;
*PRODUCT_MAX_LENGTH_COMBO ► Limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_MAX_VISIBLE_PHOTO ► 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;
*PRODUIT_PDF_MERGE_PROPAL ► Enable module Propal merge product PDF&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_OLD_PATH_FOR_PHOTO ► Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_USE_UNITS ► 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;
*RESOURCE_ON_PRODUCTS_RESOURCE_ON_SERVICES ► Allow to affect ressources on products/services ► (v10.0+)&lt;br /&gt;
*PRODUCT_SHOW_ORIGIN_IN_COMBO ► Show origin of products when adding lines in proposals/invoices/orders ► (v12.0+)&lt;br /&gt;
*PRODUIT_ATTRIBUTES_HIDECHILD  ► Add option hide child if variantes&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_ADD_FORM_ADD_TO ► Add a product to a draft proposal/order/invoice, from the product card.&lt;br /&gt;
*PRODUCT_DISABLE_SELLBY ► Hide the Sell by date ► (v13.0+)&lt;br /&gt;
*PRODUCT_DISABLE_EATBY ► Hide the Eat by date ► (v13.0+)&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_DENY_CHANGE_PRODUCT_TYPE ► Forbid to change the product type&lt;br /&gt;
&lt;br /&gt;
*PRODUCT_SORT_BY_CATEGORY ► Sort the product by categories instead of by ID&lt;br /&gt;
*PRODUCT_ADD_NET_MEASURE ► 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;
&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;
*PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY ► Can link an object to a project of another thirdparty&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_PROJECT ► Add comment feature on a project&lt;br /&gt;
&lt;br /&gt;
*PROJECT_ALLOW_COMMENT_ON_TASK ► Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS ► Enable linking a project to any supplier even when using the third party link feature. Note: Set to 1 by default from 3.7.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_CREATE_ON_OVERVIEW_DISABLED ► Hide the &amp;quot;create ...&amp;quot; button on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_DISABLE_UNLINK_FROM_OVERVIEW ► Enable removing the button from a link in the project overview. ► (&amp;gt;= v8.0.1)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_UNSELECTABLES ► Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_HIDE_TASKS ► Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LIST_SHOW_STARTDATE ► Shows start date of projects in project lists.&lt;br /&gt;
&lt;br /&gt;
*PROJECT_LINK_ON_OVERWIEW_DISABLED ► Hide the &amp;quot;link to&amp;quot; form on the overview page ► (v4.0)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_SHOW_REF_INTO_LISTS ► Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
&lt;br /&gt;
*PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS ► Can add time spent on tasks, even if i am not assigned to task (however, task must be a project i am a contact).&lt;br /&gt;
&lt;br /&gt;
*PROJECT_OPEN_ALWAYS_ON_TAB ► 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;
*PROJECT_ELEMENTS_FOR_MINUS_MARGIN&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Proposals Module=&lt;br /&gt;
&lt;br /&gt;
*MAIN_GENERATE_PROPOSALS_WITH_PICTURE ► Add a picture of the product (the first one found if there are several) into the generated PDF of proposals. Note that using this will reduce the available width for the product description.&lt;br /&gt;
&lt;br /&gt;
*MAIN_PROPAL_CHOOSE_ODT_DOCUMENT ► 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;
*MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPAL_CLONE_ON_CREATE_PAGE ► On the create proposal page, ask if we want to create the proposal by cloning an already existing one. You should use instead the &amp;quot;Clone&amp;quot; button available on existing proposals.&lt;br /&gt;
&lt;br /&gt;
*PROPAL_DISABLE_SIGNATURE ► Do no show the box for signature.&lt;br /&gt;
&lt;br /&gt;
*PRODUIT_PDF_MERGE_PROPAL ► 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;
*PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD ► When a PDF is generated, a share key is automatically set so the file can be downloaded using the share key. ► (v7.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_AUTO_ADD_AUTHOR_AS_CONTACT ► Add Proposal Author as user contact follow proposal&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTTERM ► Do not show the payment term on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*PROPOSAL_PDF_HIDE_PAYMENTMODE ► Do not show the payment mode on proposal ► (v11.0+)&lt;br /&gt;
&lt;br /&gt;
*WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES ► Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&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;
*SERVICE_ARE_ECOMMERCE_200238EC ►  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;
*MAIN_FILL_SERVICE_DATES_FROM_LAST_SERVICE_LINE  ► (v13.0) On add line form add a button to fill service dates from the last service line&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Shipments=&lt;br /&gt;
&lt;br /&gt;
*STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS ► If set, you can add a shipment line, with no stock source defined. ► (&amp;gt;= 8.0.1)&lt;br /&gt;
&lt;br /&gt;
*SHIPMENT_GETS_ALL_ORDER_PRODUCTS ► Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Stocks=&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED ► Disable stock dispatch when total expected was already received&lt;br /&gt;
&lt;br /&gt;
*STOCK_EXCLUDE_VIRTUAL_PRODUCTS ► If product is a virtual product, we do not manage stock for it.&lt;br /&gt;
&lt;br /&gt;
*ENTREPOT_EXTRA_STATUS ► Instead of the 2 status (Closed, Open), a Warehouse has 3 status: Closed, Open (for all movements), Open (for internal movement only). Internal movement only means you can&#039;t use the warehouse to make shipment or receptions.&lt;br /&gt;
*SUPPLIER_ORDER_STATUS_FOR_VIRTUAL_STOCK ► For the calculation of virtual stocks, by default supplier orders with the status 3 (ordered) and 4 (partially received) are used. You can enter the list of statuses to be taken into account separated by commas for this calculation (example: 0,1,2,3)&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=Suppliers Module=&lt;br /&gt;
&lt;br /&gt;
*FOURN_PRODUCT_AVAILABILITY ► 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;
*RELOAD_PAGE_ON_SUPPLIER_CHANGE ► On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_INVOICE_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier invoice to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_AUTOADD_USER_CONTACT ► Add user approving supplier order as a contact automatically.&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID ► 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;
*SUPPLIER_ORDER_USE_DISPATCH_STATUS ► Add a status on each dispatch order line when receiving products from suppliers ► (v4.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_NO_DIRECT_APPROVE ► 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;
*SUPPLIER_ORDER_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier order to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT ► Can modify the buying price used for PMP calculation when making a stock reception on a supplier order. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*SUPPLIER_PROPOSAL_WITH_PREDEFINED_PRICES_ONLY ► Restrict selection of products in supplier proposal to only those with a buying price defined for that supplier. ► (v6.0+)&lt;br /&gt;
&lt;br /&gt;
*DISPLAY_DISCOUNTED_SUPPLIER_PRICE ► Allow to display discounted supplier price when searching product in supplier documents ► (v10.0)&lt;br /&gt;
&lt;br /&gt;
*MAIN_CAN_EDIT_SUPPLIER_ON_SUPPLIER_ORDER ►  Allow to change the supplier on a draft supplier order ► (v10.0)&lt;br /&gt;
*&lt;br /&gt;
*SUPPLIER_PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD&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;
*COMPANY_AQUARIUM_CLEAN_REGEX ► Add a REGEX rule on the third parties names. It applies a regex replacement pattern on generated code if COMPANY_AQUARIUM_CLEAN_REGEX is set. Value must be a regex with parenthesis. The part into parenthesis is kept, the rest removed. For example if COMPANY_AQUARIUM_CLEAN_REGEX = &#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;
*SOCIETE_EMAIL_MANDATORY ► E-mail is a mandatory field when creating a thirdparty&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_CUSTOMERS ► Remove all menu and features related to customers&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_PROSPECTS ► Remove all menu and features related to prospects&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_DISABLE_STATE ► Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*SOCIETE_SORT_ON_TYPEENT ► 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;
*SOCIETE_ASK_FOR_SHIPPING_METHOD ► Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
*SOCIETE_ADD_REF_IN_LIST ► 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;
*THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER ► Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_DEFAULT_USELOCALTAX1 ► 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;
*THIRDPARTY_DEFAULT_USELOCALTAX2 ► 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;
*THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT ► 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;
*THIRDPARTY_INCLUDE_PARENT_IN_LINKTO ► 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;
*THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO ► 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;
*THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD ► When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
&lt;br /&gt;
*THIRDPARTY_SUGGEST_ALSO_ADDRESS_CREATION ► Enabled contact creation on third-party create card&lt;br /&gt;
*THIRDPARTY_QUICKSEARCH_ON_FIELDS ► 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;
*MEMBER_CAN_CONVERT_CUSTOMERS_TO_MEMBERS ► Enabled member creation on third-party create card&lt;br /&gt;
*SOCIETE_DISABLE_PARENTCOMPANY ► Disables attachment to a parent company.&lt;br /&gt;
*THIRDPARTY_CUSTOMERPROSPECT_BY_DEFAULT ► Set the third party to customer by default&lt;br /&gt;
*THIRDPARTY_SUPPLIER_BY_DEFAULT ► Set the third party to supplier by default&lt;br /&gt;
*THIRDPARTY_CUSTOMERTYPE_BY_DEFAULT ► Set the third party type by default (3 = customer / 2 = prospect)&lt;br /&gt;
*CONTACT_DISABLE_PERSONALINFO ► Disable Personal data on contact page&lt;br /&gt;
*SOCIETE_DISABLE_WORKFORCE ► Disable work force selector on society 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;
=VAT Report=&lt;br /&gt;
&lt;br /&gt;
*MAIN_INCLUDE_ZERO_VAT_IN_REPORTS ► 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;
*WEBSITE_USE_WEBSITE_ACCOUNTS ► 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;
*WEBSITE_ADD_CSS_TO_BODY&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;
*FCKEDITOR_ENABLE_DETAILS_FULL ► Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranteed with this. Also if the image is removed or renamed by the image hosting service, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
=STRIPE Module=&lt;br /&gt;
&lt;br /&gt;
*STRIPE_FORCE_VERSION ► 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;
*CLICKTODIAL_FORCENEWTARGET ► 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;
*CRON_DISABLE_KEY_CHANGE ► When you provide an instance to a customer, you probably also add an entry in the cron of this user so Dolibarr batch and scheduler can work correctly. For security purpose, it may have a security key that is inside the command line into the cron entry and this entry must match the value defined into Dolibarr setup (setup of module &#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;
*CRON_DISABLE_TUTORIAL_CRON ► Disable the tutorial about how to install the cron script (on a SaaS hosting, this should be done by the web hosting provider)&lt;br /&gt;
&lt;br /&gt;
*CRON_WARNING_DELAY_HOURS ► Set this value to the frequency set for the cron script (so a warning will be shown to user to warn it about max frequency of its scheduled jobs)&lt;br /&gt;
 &lt;br /&gt;
*To avoid bad use of the emailing module, it is recommended to set the option MAILING_NO_USING_PHPMAIL to 1 (This option is described previously). Also you can complete the message visible by customers when they try to setup the SMTP credentials of their Dolibarr by using the constant MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS (This option is described previously). For example, you can point to a FAQ on your website.&lt;br /&gt;
&lt;br /&gt;
*If you set a system limit on number of recipient, you can set some option to match the same values so users will be informed: MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL ► Restrict sending of 1 email message to &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 MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
*MAIN_ALWAYS_CREATE_LOCK_AFTER_LAST_UPGRADE ► If set, when you launch upgrades of your customer instances, you are sure that the upgrade process recreate automatically the file install.lock so the administration tools like install.php and repair.php can&#039;t be used on your customer instance (until the lock file is deleted).&lt;br /&gt;
&lt;br /&gt;
*MAIN_HIDE_WARNING_TO_ENCOURAGE_SMTP_SETUP ► Set to 1 by default. You can set it to 0 to show a warning to encourage admin to set its own SMTP service.&lt;br /&gt;
&lt;br /&gt;
*MAILING_LIMIT_WARNING_PHPMAIL ► Set this value to a translation key. Then add translation keys into the instance so user will see a message when into the email setup page. For example, you can set a message to say &#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;
*MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS ► (A better name of this option should be MAIN_EXTERNAL_MAIL_CLIENT_IP_ADDRESS). Set here the list of IPs where your Dolibarr instances are hosted. So when your customer go into the setup area of email:&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 MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD.&lt;br /&gt;
&lt;br /&gt;
*MAIN_EXTERNAL_SMTP_SPF_STRING_TO_ADD ► Set here the string to add in the SPF record This string will be shown into a help message when the user in in the setup of email page and has choose a method using an external SMTP server.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FIRST_PING_OK_ID ► Set this value to &amp;quot;disabled&amp;quot; to remove completely any ping after a complete setup.&lt;br /&gt;
&lt;br /&gt;
*MAIN_FILECHECK_LOCAL_SUFFIX and MAIN_FILECHECK_LOCAL_EXT ► If you offer a customized or patched version of Dolibarr, when the user will use the tool to check the integrity of files, the default xml file name used for signature checking will be the official file provided by the Dolibarr team, so it does not includes your own changes. To have the suggested signature file being your own file, you can set the constant MAIN_FILECHECK_LOCAL_SUFFIX to a suffix. For example, set this to &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;
*MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING ► If set to N, the warning saying modules are not activated will be shown if number of activated module is &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;
*SYSLOG_DISABLE_LOGHANDLER_SYSLOG ► Set this to 1 to disable usage of syslog (having all customer instances logging in the same system file is not a good idea).&lt;br /&gt;
&lt;br /&gt;
*WEBSITE_REPLACE_INFO_ABOUT_USAGE_WITH_WEBSERVER ► Put here a text or a translation key of a text to show when the user will use the feature &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>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Table_llx_propaldet&amp;diff=44530</id>
		<title>Table llx propaldet</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Table_llx_propaldet&amp;diff=44530"/>
		<updated>2019-10-17T13:06:36Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: add label row&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Table SQL]]&lt;br /&gt;
[[Category:Propal]]&lt;br /&gt;
[[Category:Proposal]]&lt;br /&gt;
[[Category:Presupuestos]]&lt;br /&gt;
&lt;br /&gt;
{{ListOfTables}}&lt;br /&gt;
&lt;br /&gt;
=Content/Contenu/Contenido=&lt;br /&gt;
{{flag en}}&lt;br /&gt;
 Contains details of customer proposals. This table is linked to [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
{{flag fr}}&lt;br /&gt;
 Contient les détails des propositions commerciales, cette table est liée avec la [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
{{flag sp}}&lt;br /&gt;
 Contiene los detalles de los presupuestos a clientes, esta tabla esta vinculada con [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
=Structure=&lt;br /&gt;
==Table==&lt;br /&gt;
{| class=&amp;quot;dolbox&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Field&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Null&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Key&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Default&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Extra&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|rowid&lt;br /&gt;
|int(11)&lt;br /&gt;
|NO&lt;br /&gt;
|PRI&lt;br /&gt;
|&lt;br /&gt;
|auto_increment&lt;br /&gt;
|technical index&lt;br /&gt;
|-&lt;br /&gt;
|fk_propal&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of propal ([[Table llx_propal|llx_propal]]-&amp;gt;rowid)&lt;br /&gt;
|- &lt;br /&gt;
|fk_product&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of product ([[Table llx_product|llx_product]]-&amp;gt;rowid)&lt;br /&gt;
|-&lt;br /&gt;
|label&lt;br /&gt;
|varchar(255)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|text&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|product or service description&lt;br /&gt;
|-&lt;br /&gt;
|fk_remise_except&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of discount ([[Table llx_societe_remise_except|llx_societe_remise_except]]-&amp;gt;rowid)&lt;br /&gt;
|-&lt;br /&gt;
|tva_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|VAT taxes&lt;br /&gt;
|-&lt;br /&gt;
|qty&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|Quantity of product or service&lt;br /&gt;
|-&lt;br /&gt;
|remise_percent&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|discount percentage&lt;br /&gt;
|-&lt;br /&gt;
|remise&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|discount amount (obsolete)&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|final price (obsolete)&lt;br /&gt;
|-&lt;br /&gt;
|subprice&lt;br /&gt;
|double(24,8)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.00000000&lt;br /&gt;
|&lt;br /&gt;
|price before discount&lt;br /&gt;
{{FieldTotalFields}}&lt;br /&gt;
|-&lt;br /&gt;
|product_type&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|type of product&lt;br /&gt;
|-&lt;br /&gt;
|date_start&lt;br /&gt;
|datetime&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|start date if service&lt;br /&gt;
|-&lt;br /&gt;
|date_end&lt;br /&gt;
|datetime&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|end date if service&lt;br /&gt;
|-&lt;br /&gt;
|info_bits&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|TVA NPR or not&lt;br /&gt;
|-&lt;br /&gt;
|pa_ht&lt;br /&gt;
|double(24,8)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.00000000&lt;br /&gt;
|&lt;br /&gt;
|purchase price HT&lt;br /&gt;
|-&lt;br /&gt;
|marge_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|margin (margin on purchase price)&lt;br /&gt;
|-&lt;br /&gt;
|marque_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|mark rate (margin on selling price)&lt;br /&gt;
|-&lt;br /&gt;
|special_code&lt;br /&gt;
|tinyint(4)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|code for special lines. used for shipping (=1), ecotaxes (=2), product/service optional offers (=3). Otherwise=0&lt;br /&gt;
|-&lt;br /&gt;
|rang&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|order view&lt;br /&gt;
|}&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Keys==&lt;br /&gt;
{| class=&amp;quot;dolbox&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Key&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Fields&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|PRIMARY&lt;br /&gt;
|PRIMARY&lt;br /&gt;
|rowid&lt;br /&gt;
|}&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Table_llx_propaldet&amp;diff=44529</id>
		<title>Table llx propaldet</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Table_llx_propaldet&amp;diff=44529"/>
		<updated>2019-10-17T12:42:31Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Table typo*/&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Table SQL]]&lt;br /&gt;
[[Category:Propal]]&lt;br /&gt;
[[Category:Proposal]]&lt;br /&gt;
[[Category:Presupuestos]]&lt;br /&gt;
&lt;br /&gt;
{{ListOfTables}}&lt;br /&gt;
&lt;br /&gt;
=Content/Contenu/Contenido=&lt;br /&gt;
{{flag en}}&lt;br /&gt;
 Contains details of customer proposals. This table is linked to [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
{{flag fr}}&lt;br /&gt;
 Contient les détails des propositions commerciales, cette table est liée avec la [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
{{flag sp}}&lt;br /&gt;
 Contiene los detalles de los presupuestos a clientes, esta tabla esta vinculada con [[Table llx_propal]]&lt;br /&gt;
&lt;br /&gt;
=Structure=&lt;br /&gt;
==Table==&lt;br /&gt;
{| class=&amp;quot;dolbox&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Field&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Null&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Key&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Default&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Extra&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Description&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|rowid&lt;br /&gt;
|int(11)&lt;br /&gt;
|NO&lt;br /&gt;
|PRI&lt;br /&gt;
|&lt;br /&gt;
|auto_increment&lt;br /&gt;
|technical index&lt;br /&gt;
|-&lt;br /&gt;
|fk_propal&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of propal ([[Table llx_propal|llx_propal]]-&amp;gt;rowid)&lt;br /&gt;
|- &lt;br /&gt;
|fk_product&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of product ([[Table llx_product|llx_product]]-&amp;gt;rowid)&lt;br /&gt;
|-&lt;br /&gt;
|description&lt;br /&gt;
|text&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|product or service description&lt;br /&gt;
|-&lt;br /&gt;
|fk_remise_except&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|ID of discount ([[Table llx_societe_remise_except|llx_societe_remise_except]]-&amp;gt;rowid)&lt;br /&gt;
|-&lt;br /&gt;
|tva_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|VAT taxes&lt;br /&gt;
|-&lt;br /&gt;
|qty&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|Quantity of product or service&lt;br /&gt;
|-&lt;br /&gt;
|remise_percent&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|discount percentage&lt;br /&gt;
|-&lt;br /&gt;
|remise&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|discount amount (obsolete)&lt;br /&gt;
|-&lt;br /&gt;
|price&lt;br /&gt;
|real&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|final price (obsolete)&lt;br /&gt;
|-&lt;br /&gt;
|subprice&lt;br /&gt;
|double(24,8)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.00000000&lt;br /&gt;
|&lt;br /&gt;
|price before discount&lt;br /&gt;
{{FieldTotalFields}}&lt;br /&gt;
|-&lt;br /&gt;
|product_type&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|type of product&lt;br /&gt;
|-&lt;br /&gt;
|date_start&lt;br /&gt;
|datetime&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|start date if service&lt;br /&gt;
|-&lt;br /&gt;
|date_end&lt;br /&gt;
|datetime&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|NULL&lt;br /&gt;
|&lt;br /&gt;
|end date if service&lt;br /&gt;
|-&lt;br /&gt;
|info_bits&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|TVA NPR or not&lt;br /&gt;
|-&lt;br /&gt;
|pa_ht&lt;br /&gt;
|double(24,8)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.00000000&lt;br /&gt;
|&lt;br /&gt;
|purchase price HT&lt;br /&gt;
|-&lt;br /&gt;
|marge_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|margin (margin on purchase price)&lt;br /&gt;
|-&lt;br /&gt;
|marque_tx&lt;br /&gt;
|double(6,3)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0.000&lt;br /&gt;
|&lt;br /&gt;
|mark rate (margin on selling price)&lt;br /&gt;
|-&lt;br /&gt;
|special_code&lt;br /&gt;
|tinyint(4)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|code for special lines. used for shipping (=1), ecotaxes (=2), product/service optional offers (=3). Otherwise=0&lt;br /&gt;
|-&lt;br /&gt;
|rang&lt;br /&gt;
|int(11)&lt;br /&gt;
|YES&lt;br /&gt;
|&lt;br /&gt;
|0&lt;br /&gt;
|&lt;br /&gt;
|order view&lt;br /&gt;
|}&amp;amp;nbsp;&lt;br /&gt;
&lt;br /&gt;
==Keys==&lt;br /&gt;
{| class=&amp;quot;dolbox&amp;quot; align=&amp;quot;left&amp;quot; width=&amp;quot;100%&amp;quot; border=&amp;quot;0&amp;quot; cellpadding=&amp;quot;1&amp;quot; cellspacing=&amp;quot;0&amp;quot;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Key&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Type&amp;lt;/b&amp;gt;&lt;br /&gt;
 | style=&amp;quot;background-color: #e9e9ef&amp;quot; |&amp;lt;b&amp;gt;Fields&amp;lt;/b&amp;gt;&lt;br /&gt;
|- &lt;br /&gt;
|PRIMARY&lt;br /&gt;
|PRIMARY&lt;br /&gt;
|rowid&lt;br /&gt;
|}&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44095</id>
		<title>User talk:Jtraulle/DiscourseMigration</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44095"/>
		<updated>2019-08-26T06:40:42Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== International forum ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Hi!&lt;br /&gt;
&lt;br /&gt;
First of all, tks for this work !&lt;br /&gt;
&lt;br /&gt;
A little question :&lt;br /&gt;
What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ?&lt;br /&gt;
&lt;br /&gt;
Tks for reading &lt;br /&gt;
&lt;br /&gt;
[[User:Dolibarr95|Dolibarr95]] ([[User talk:Dolibarr95|talk]]) 16:48‎, 23 August 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Thanks for your comment/question ;)&lt;br /&gt;
&lt;br /&gt;
I do not know if the Dolibarr Association want to keep the international forum separated from the french forum.&lt;br /&gt;
This page assume that they will be kept separated (two distinct instances) like forum.dolibarr.fr and forum.dolibarr.org&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
But Discourse provides an official plugin to allow user to translate posts using Google Translate or Microsoft Bing Translator (but this bring cost per translation)&lt;br /&gt;
&lt;br /&gt;
https://meta.discourse.org/t/discourse-translator/32630&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Some other discussion regarding the management of a multi language community with Discourse :&lt;br /&gt;
&lt;br /&gt;
* https://meta.discourse.org/t/make-a-multi-language-forum/18501&lt;br /&gt;
* https://meta.discourse.org/t/best-practice-to-managing-a-multi-language-community/34664/5&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
PS : do not forget to sign your message using &#039;&#039;&#039;Insert &amp;gt; Your signature&#039;&#039;&#039; menu to add your username and a datetime after your message :) &lt;br /&gt;
&lt;br /&gt;
[[User:Jtraulle|Jtraulle]] ([[User talk:Jtraulle|talk]]) 21:11, 23 August 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
------&lt;br /&gt;
Tks ;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
The google translator could be a good idea...&lt;br /&gt;
What about (automatic or I don&#039;t know) ad a language label in order to search/filer by language.&lt;br /&gt;
&lt;br /&gt;
[[User:Dolibarr95|Dolibarr95]] ([[User talk:Dolibarr95|talk]]) 08:40, 26 August 2019 (CEST)&lt;br /&gt;
&lt;br /&gt;
== Domain requirement ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Following [[User:Eldy|Eldy]] comment, I try to get the demo instance working on a subfolder and it is OK.&lt;br /&gt;
&lt;br /&gt;
This can be checked out on https://test-dolibarr-discourse.traulle.net/forum/&lt;br /&gt;
&lt;br /&gt;
It uses https://meta.discourse.org/t/subfolder-support-with-docker/30507 (required even if we use the CDN trick as the CDN trick is only useful if the Discourse instance in not on the same VM (IP) as the other app/software accessible for the shared domain (dolibarr.org or dolibarr.fr). In that case, the CDN allow to direct requests to the appropriate server depending of the subfolder requested ;)&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44059</id>
		<title>User talk:Jtraulle/DiscourseMigration</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44059"/>
		<updated>2019-08-23T14:48:08Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi!&lt;br /&gt;
&lt;br /&gt;
First of all, tks for this work !&lt;br /&gt;
&lt;br /&gt;
A little question :&lt;br /&gt;
What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ?&lt;br /&gt;
&lt;br /&gt;
Tks for reading&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44058</id>
		<title>User talk:Jtraulle/DiscourseMigration</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44058"/>
		<updated>2019-08-23T14:48:00Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi!&lt;br /&gt;
&lt;br /&gt;
First of all, tks for this work !&lt;br /&gt;
&lt;br /&gt;
A little question :&lt;br /&gt;
&lt;br /&gt;
What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ?&lt;br /&gt;
&lt;br /&gt;
Tks for reading&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44057</id>
		<title>User talk:Jtraulle/DiscourseMigration</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44057"/>
		<updated>2019-08-23T14:47:47Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi!&lt;br /&gt;
&lt;br /&gt;
First of all, tks for this work !&lt;br /&gt;
A little question :&lt;br /&gt;
What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ?&lt;br /&gt;
Tks for reading&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44056</id>
		<title>User talk:Jtraulle/DiscourseMigration</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=User_talk:Jtraulle/DiscourseMigration&amp;diff=44056"/>
		<updated>2019-08-23T14:45:18Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Created page with &amp;quot;Hi! First of all, tks for this work ! A little question : What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ? T...&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hi!&lt;br /&gt;
First of all, tks for this work !&lt;br /&gt;
A little question :&lt;br /&gt;
What about the dolibarr.org/forum categories ? Should we copy and paste the same from dolibarr.fr to dolibarr.org ?&lt;br /&gt;
Tks for reading&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43572</id>
		<title>Themes</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43572"/>
		<updated>2019-08-14T10:03:01Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /*  Test d&amp;#039;un nouveau thème */&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 : Skins --&amp;gt;&lt;br /&gt;
[[en:Skins]]&lt;br /&gt;
[[es:Temas]]&lt;br /&gt;
[[zh:主题]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:wallpaper.png]] Création d&#039;un nouveau thème=&lt;br /&gt;
&lt;br /&gt;
Pour créer un nouveau thème, allez dans le répertoire &#039;htdocs/theme/&#039; recopier par exemple tout le répertoire &#039;eldy&#039; ...&#039;dolibarr&#039; ... &#039;toto&#039; ... vers un nouveau répertoire qui aura le nom de votre thème.&lt;br /&gt;
&lt;br /&gt;
Dans ce répertoire changer le nom du fichier .css pour qu&#039;il ait le même nom que le répertoire.&lt;br /&gt;
&lt;br /&gt;
Modifier le fichier AUTHOR avec les informations vous concernant.&lt;br /&gt;
&lt;br /&gt;
Modifier ensuite le CSS, ainsi que les images contenues dans le répertoire img pour personnaliser votre thème.&lt;br /&gt;
&lt;br /&gt;
Le nom du thème apparaîtra automatiquement dans la liste des thèmes utilisables sous la page &#039;&#039;Configuration - Interface&#039;&#039; qui vous permettra de l&#039;activer par défaut, ou &#039;&#039;Utilisateurs et Groupes - Onglet Interface utilisateur&#039;&#039; pour l&#039;activer pour un utilisateur donné.&lt;br /&gt;
&lt;br /&gt;
=Test d&#039;un nouveau thème=&lt;br /&gt;
Pour tester votre thème sur toutes les pages sans l&#039;activer, il suffit le préciser dans la barre d&#039;adresse en ajoutant le paramètre theme.&lt;br /&gt;
&lt;br /&gt;
Exemple : https://www.mondolibarr.com/product/list.php?leftmenu=product&amp;amp;type=0&amp;amp;theme=monnouveautheme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:workcomputer.png]] Diffusion de votre theme=&lt;br /&gt;
&lt;br /&gt;
Quand vous avez créer un nouveau thème, vous pouvez fabriquer un package pour le distribuer en utilisant le script &#039;&#039;&#039;build/makepack-dolibarrtheme.pl&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vous obtiendrez un fichier .tgz que vous pourrez soumettre dans l&#039;espace téléchargement de Dolibarr (Rubrique &#039;&#039;&#039;contrib&#039;&#039;&#039;).&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43571</id>
		<title>Themes</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43571"/>
		<updated>2019-08-14T10:02:40Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /*  Test d&amp;#039;un nouveau thème */&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 : Skins --&amp;gt;&lt;br /&gt;
[[en:Skins]]&lt;br /&gt;
[[es:Temas]]&lt;br /&gt;
[[zh:主题]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:wallpaper.png]] Création d&#039;un nouveau thème=&lt;br /&gt;
&lt;br /&gt;
Pour créer un nouveau thème, allez dans le répertoire &#039;htdocs/theme/&#039; recopier par exemple tout le répertoire &#039;eldy&#039; ...&#039;dolibarr&#039; ... &#039;toto&#039; ... vers un nouveau répertoire qui aura le nom de votre thème.&lt;br /&gt;
&lt;br /&gt;
Dans ce répertoire changer le nom du fichier .css pour qu&#039;il ait le même nom que le répertoire.&lt;br /&gt;
&lt;br /&gt;
Modifier le fichier AUTHOR avec les informations vous concernant.&lt;br /&gt;
&lt;br /&gt;
Modifier ensuite le CSS, ainsi que les images contenues dans le répertoire img pour personnaliser votre thème.&lt;br /&gt;
&lt;br /&gt;
Le nom du thème apparaîtra automatiquement dans la liste des thèmes utilisables sous la page &#039;&#039;Configuration - Interface&#039;&#039; qui vous permettra de l&#039;activer par défaut, ou &#039;&#039;Utilisateurs et Groupes - Onglet Interface utilisateur&#039;&#039; pour l&#039;activer pour un utilisateur donné.&lt;br /&gt;
&lt;br /&gt;
=[[File:wallpaper.png]] Test d&#039;un nouveau thème=&lt;br /&gt;
Pour tester votre thème sur toutes les pages sans l&#039;activer, il suffit le préciser dans la barre d&#039;adresse en ajoutant le paramètre theme.&lt;br /&gt;
&lt;br /&gt;
Exemple : https://www.mondolibarr.com/product/list.php?leftmenu=product&amp;amp;type=0&amp;amp;theme=monnouveautheme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:workcomputer.png]] Diffusion de votre theme=&lt;br /&gt;
&lt;br /&gt;
Quand vous avez créer un nouveau thème, vous pouvez fabriquer un package pour le distribuer en utilisant le script &#039;&#039;&#039;build/makepack-dolibarrtheme.pl&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vous obtiendrez un fichier .tgz que vous pourrez soumettre dans l&#039;espace téléchargement de Dolibarr (Rubrique &#039;&#039;&#039;contrib&#039;&#039;&#039;).&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43570</id>
		<title>Themes</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Themes&amp;diff=43570"/>
		<updated>2019-08-14T10:02:17Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: theme test&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 : Skins --&amp;gt;&lt;br /&gt;
[[en:Skins]]&lt;br /&gt;
[[es:Temas]]&lt;br /&gt;
[[zh:主题]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDev}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:wallpaper.png]] Création d&#039;un nouveau thème=&lt;br /&gt;
&lt;br /&gt;
Pour créer un nouveau thème, allez dans le répertoire &#039;htdocs/theme/&#039; recopier par exemple tout le répertoire &#039;eldy&#039; ...&#039;dolibarr&#039; ... &#039;toto&#039; ... vers un nouveau répertoire qui aura le nom de votre thème.&lt;br /&gt;
&lt;br /&gt;
Dans ce répertoire changer le nom du fichier .css pour qu&#039;il ait le même nom que le répertoire.&lt;br /&gt;
&lt;br /&gt;
Modifier le fichier AUTHOR avec les informations vous concernant.&lt;br /&gt;
&lt;br /&gt;
Modifier ensuite le CSS, ainsi que les images contenues dans le répertoire img pour personnaliser votre thème.&lt;br /&gt;
&lt;br /&gt;
Le nom du thème apparaîtra automatiquement dans la liste des thèmes utilisables sous la page &#039;&#039;Configuration - Interface&#039;&#039; qui vous permettra de l&#039;activer par défaut, ou &#039;&#039;Utilisateurs et Groupes - Onglet Interface utilisateur&#039;&#039; pour l&#039;activer pour un utilisateur donné.&lt;br /&gt;
&lt;br /&gt;
=[[File:wallpaper.png]] Test d&#039;un nouveau thème=&lt;br /&gt;
Pour tester votre thème sur toutes les pages sans l&#039;activer il suffit le préciser dans la barre d&#039;adresse en ajoutant le paramètre theme.&lt;br /&gt;
&lt;br /&gt;
Exemple : https://www.mondolibarr.com/product/list.php?leftmenu=product&amp;amp;type=0&amp;amp;theme=monnouveautheme&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=[[File:workcomputer.png]] Diffusion de votre theme=&lt;br /&gt;
&lt;br /&gt;
Quand vous avez créer un nouveau thème, vous pouvez fabriquer un package pour le distribuer en utilisant le script &#039;&#039;&#039;build/makepack-dolibarrtheme.pl&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Vous obtiendrez un fichier .tgz que vous pourrez soumettre dans l&#039;espace téléchargement de Dolibarr (Rubrique &#039;&#039;&#039;contrib&#039;&#039;&#039;).&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41592</id>
		<title>Système de Hooks</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41592"/>
		<updated>2019-06-12T12:13:31Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Liste des Contexts disponibles dans Dolibarr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Les Hooks sont une fonctionnalité pour les développeurs, disponible à partir de Dolibarr 3.2, leur permettant d&#039;ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d&#039;interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s&#039;exécuter n&#039;importe ou et à n&#039;importe quel moment dès lors qu&#039;ils ont été prévu dans le core de Dolibarr. Ce sont des points d&#039;insertion dans le programme.&lt;br /&gt;
* Les Hooks sont actifs ou pas selon un contexte (souvent un contexte par module : par exemple &amp;quot;productcard&amp;quot; pour les produits, &amp;quot;invoicecard&amp;quot; pour les factures...). Pour trouver les Hooks existants faites une recherche pour &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
* Les Hooks sont des fonctions qui s&#039;insèrent dans ou remplacent le code standard. Pour rechercher le code qu&#039;il est possible de surcharger faites une recherche pour &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Ajouter un hook pour permettre l&#039;insertion de code =&lt;br /&gt;
Pour implémenter un hook dans votre propre module (afin que votre module puisse être &amp;quot;hooké&amp;quot; par d&#039;autres), vous devrez procéder à 2 étapes.&lt;br /&gt;
&lt;br /&gt;
Ces étapes doivent êtres reproduites pour chaque script php de votre module où vous voulez implémenter des hooks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1- Initialiser l&#039;object HookManager (placez ce bout de code au début de votre script php, juste après ou avant les includes):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Initialize technical object to manage hooks of thirdparties. Note that conf-&amp;gt;hooks_modules contains array array&lt;br /&gt;
include_once(DOL_DOCUMENT_ROOT.&#039;/core/class/hookmanager.class.php&#039;);&lt;br /&gt;
$hookmanager=new HookManager($db);&lt;br /&gt;
$hookmanager-&amp;gt;initHooks(array(&#039;context&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$hookmanager-&amp;gt;initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;context&#039;&#039;&#039;&#039; est la chaine qui contient le contexte d&#039;exécution. C&#039;est un simple indicateur qui peut être utilisé par les fonctions de hook pour détecter dans quel cas elles sont appelées (plusieurs pages/modules peuvent appeler le même hook à différent endroit, et une fonction de hook peut ne vouloir s&#039;exécuter que pour un contexte donné et pas les autres).&lt;br /&gt;
&lt;br /&gt;
Note: Vous pouvez positionner plusieurs contextes en même temps (par exemple si vous avez besoin d&#039;avoir un context commun à plusieurs pages mais que vous voulez aussi un context propre à une page donnée).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Placer ensuite l&#039;appel des hooks la où permettre l&#039;ajout de code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array();&lt;br /&gt;
$reshook=$hookmanager-&amp;gt;executeHooks(&#039;hookname&#039;,$parameters,$object,$action); // See description below&lt;br /&gt;
// Note that $action and $object may have been modified by hook&lt;br /&gt;
if (empty($reshook))&lt;br /&gt;
{&lt;br /&gt;
   ... // standard code that can be disabled/replaced by hook if return code &amp;gt; 0.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;$hookmanager-&amp;gt;executeHooks()&#039;&#039;&#039; accepte 4 paramètres et ajoute un hook (qui est un point d&#039;entrée dans votre script pour des fonctions externes à votre script et module):&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;hookname&#039;&#039;&#039;&#039; est le nom de la méthode qui sera appelée. Par exemple: &#039;formObjectOptions&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau personnalisé pour transmettre plus de données personnalisées au hook (la fonction dans le hook peut traiter ces données). Placez ici ce que vous voulez, ce peut être un fichier, un tableau de chaînes de caractères, n&#039;importe quoi... Par exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array(&#039;file&#039;=&amp;gt;&#039;my/path/to/a/file&#039;, &#039;customnames&#039;=&amp;gt;array(&#039;henry&#039;,&#039;david&#039;,&#039;john&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet que vous voulez passer à la fonction du hook, certainement les données du module courant (ex: l&#039;objet facture si on est dans un module de facture, etc..). Ce peut être ce que vous voulez, mais souvenez vous qu&#039;il sera le principal composant utilisé par les fonctions du hook.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$action&#039;&#039;&#039; est une chaîne indiquant l&#039;action courante (peut être null ou quelque chose qui ressemble à &#039;create&#039; ou &#039;edit&#039;).&lt;br /&gt;
&lt;br /&gt;
Note: Vous devrez refaire cette étape plusieurs fois si vous voulez ajouter plusieurs hooks à différent endroits de votre script.&lt;br /&gt;
&lt;br /&gt;
Maintenant votre module devrait pouvoir être hooké, vous pouvez suivre la procédure ci-dessous dans &#039;&#039;&#039;Implémenter un hook&#039;&#039;&#039; pour implémenter une fonction hook qui en prendra avantage (permet aussi de tester que cela fonctionne).&lt;br /&gt;
&lt;br /&gt;
= Implémenter un Hook =&lt;br /&gt;
Pour utiliser un Hook (donc ajouter ou surcharger une partie de code), vous devez d&#039;abord avoir défini un descripteur de module (voir [[Développement_module#Créer_un_descripteur_de_Module_(obligatoire)]] pour cela). Ensuite vous devez suivre les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. Ajouter votre module au contexte où le hook doit s&#039;exécuter. &lt;br /&gt;
Ce qui veut dire que lorsqu&#039;on se trouve dans le contexte donné, votre code sera appelé. &lt;br /&gt;
Pour cela, éditer le descripteur de votre module (&#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/core/modules/mod&#039;&#039;YourModuleName&#039;&#039;.class.php&#039;&#039;&#039;) et renseignez la variable &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039; comme sur l&#039;exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&lt;br /&gt;
&#039;hooks&#039; =&amp;gt; array(&#039;hookcontext1&#039;,&#039;hookcontext2&#039;)  // Set here all hooks context you want to support&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: il est possible de trouver le contexte d&#039;un module en rajoutant &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
print(&#039;Module context: &#039;.$object-&amp;gt;context);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(rajoutez ce bout de code dans le fichier php où réside l&#039;appel des hooks, et supprimez le, une fois la valeur du context relevée).&lt;br /&gt;
&lt;br /&gt;
[[File:warning.png]] Attention: N&#039;oubliez pas de désactiver puis de réactiver votre module dans l&#039;interface d&#039;administration des modules afin que la modification soit prise en compte car la sauvegarde des couples &amp;quot;modules-hooks&amp;quot; qui doit être gérée est faite en base, laquelle n&#039;est mise à jour qu&#039;au moment de l&#039;activation du module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Pour remplacer une fonction existante par la votre (surcharge)&lt;br /&gt;
&lt;br /&gt;
Créez &#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/class/actions_&#039;&#039;yourmodulename&#039;&#039;.class.php&#039;&#039;&#039; dans votre module avec un code qui contient la méthode appelée par le hook (le nom de cette méthode se voit au moment de l&#039;appel executeHooks). Voici un exemple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
class ActionsYourModuleName &lt;br /&gt;
{ &lt;br /&gt;
	/**&lt;br /&gt;
	 * Overloading the doActions function : replacing the parent&#039;s function with the one below&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   array()         $parameters     Hook metadatas (context, etc...)&lt;br /&gt;
	 * @param   CommonObject    &amp;amp;$object        The object to process (an invoice if you are in invoice module, a propale in propale&#039;s module, etc...)&lt;br /&gt;
	 * @param   string          &amp;amp;$action        Current action (if set). Generally create or edit or null&lt;br /&gt;
	 * @param   HookManager     $hookmanager    Hook manager propagated to allow calling another hook&lt;br /&gt;
	 * @return  int                             &amp;lt; 0 on error, 0 on success, 1 to replace standard code&lt;br /&gt;
	 */&lt;br /&gt;
	function doActions($parameters, &amp;amp;$object, &amp;amp;$action, $hookmanager)&lt;br /&gt;
	{&lt;br /&gt;
		$error = 0; // Error counter&lt;br /&gt;
		$myvalue = &#039;test&#039;; // A result value&lt;br /&gt;
&lt;br /&gt;
		print_r($parameters);&lt;br /&gt;
		echo &amp;quot;action: &amp;quot; . $action;&lt;br /&gt;
		print_r($object);&lt;br /&gt;
&lt;br /&gt;
		if (in_array(&#039;somecontext&#039;, explode(&#039;:&#039;, $parameters[&#039;context&#039;])))&lt;br /&gt;
		{&lt;br /&gt;
		  // do something only for the context &#039;somecontext&#039;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (! $error)&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;results = array(&#039;myreturn&#039; =&amp;gt; $myvalue);&lt;br /&gt;
			$this-&amp;gt;resprints = &#039;A text to show&#039;;&lt;br /&gt;
			return 0; // or return 1 to replace standard code&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;errors[] = &#039;Error message&#039;;&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La méthode sera alors automatiquement appelée au moment de l&#039;appel du code qui contient le executeHooks fournissant à votre code les éléments $parameters, $object et $action.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avec&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters[&#039;context&#039;] mais d&#039;autres information peuvent etre disponible selon le cas)&lt;br /&gt;
* &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet sur lequel vous désirez travailler (par exemple : product pour le contexte productcard) &lt;br /&gt;
* &#039;&#039;&#039;$action&#039;&#039;&#039; désigne l&#039;action à exécuter (par exemple &amp;quot;create&amp;quot;, &amp;quot;edit&amp;quot; or &amp;quot;view&amp;quot;).&lt;br /&gt;
* &#039;&#039;&#039;$hookmanager&#039;&#039;&#039; n&#039;est propagé que pour permettre à votre hook d&#039;appeler d&#039;autres hooks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retours&#039;&#039;&#039;:&lt;br /&gt;
* Le code retour d&#039;un hook doit 0 ou 1 en cas de succès, négatif en cas d&#039;erreur. En général, il sera 0. Il peut être 1, ce qui dans certains cas signifie que ce que fait votre hook remplace complètement ce que devait faire Dolibarr juste après l&#039;appel du hook. Si le code est négatif, il est possible de fournir un message d&#039;erreur à l&#039;utilisateur en positionnant $this-&amp;gt;errors[]=&#039;Message erreur&#039;&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;results avec un tableau, alors le tableau $hookmanager-&amp;gt;resArray sera automatiquement enrichi avec le contenu de ce tableau, lequel pourra être réutilisé plus tard.&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;resprints avec une chaîne, alors cette chaîne sera affiché par le gestionnaire de hook (executeHook), tout de suite à la sortie de votre méthode.&lt;br /&gt;
* Votre hook peut de plus modifier les valeurs de $object et $action.&lt;br /&gt;
&lt;br /&gt;
= Liste des Hooks disponibles dans Dolibarr =&lt;br /&gt;
Trouver les hooks disponibles dans Dolibarr ? &lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement toutes les fonctions déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
En voici une liste (non complète):&lt;br /&gt;
{{ListOfHooks}}&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
= Liste des Contexts disponibles dans Dolibarr =&lt;br /&gt;
Pour trouver les contextes disponibles dans Dolibarr, la procédure est similaire aux hooks.&lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement tous les contextes déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Hook&lt;br /&gt;
! Context&lt;br /&gt;
|-&lt;br /&gt;
| accountancycustomerlist&lt;br /&gt;
| htdocs\accountancy\customer\list.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancyindex&lt;br /&gt;
| htdocs\accountancy\index.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancysupplierlist&lt;br /&gt;
| htdocs\accountancy\supplier\list.php &lt;br /&gt;
|-&lt;br /&gt;
| actioncard&lt;br /&gt;
| htdocs\comm\action\card.php&lt;br /&gt;
|-&lt;br /&gt;
| actiondao&lt;br /&gt;
| htdocs\comm\action\class\actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
| admin&lt;br /&gt;
| htdocs\accountancy\admin\accountmodel.php &lt;br /&gt;
htdocs\accountancy\admin\categories_list.php&lt;br /&gt;
htdocs\accountancy\admin\journals_list.php &lt;br /&gt;
htdocs\admin\dict.php &lt;br /&gt;
htdocs\admin\website_options.php &lt;br /&gt;
|-&lt;br /&gt;
| admincompany&lt;br /&gt;
| htdocs\admin\company.php &lt;br /&gt;
|-&lt;br /&gt;
| admindefaultvalues&lt;br /&gt;
| htdocs\admin\defaultvalues.php &lt;br /&gt;
|-&lt;br /&gt;
| adminldap&lt;br /&gt;
| htdocs\admin\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| adminmodules&lt;br /&gt;
| htdocs\admin\modules.php &lt;br /&gt;
|-&lt;br /&gt;
| admintranslation&lt;br /&gt;
| htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| agenda&lt;br /&gt;
| htdocs\comm\action\index.php&lt;br /&gt;
htdocs\comm\action\pertype.php&lt;br /&gt;
htdocs\comm\action\peruser.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaexport&lt;br /&gt;
| htdocs\public\agenda\agendaexport.php &lt;br /&gt;
|-&lt;br /&gt;
| agendalist&lt;br /&gt;
| htdocs\comm\action\list.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaresource&lt;br /&gt;
| htdocs\resource\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| agendathirdparty&lt;br /&gt;
| htdocs\societe\agenda.php&lt;br /&gt;
htdocs\product\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| assetcard&lt;br /&gt;
| htdocs\asset\card.php &lt;br /&gt;
|-&lt;br /&gt;
| assetdocument&lt;br /&gt;
| htdocs\asset\document.php &lt;br /&gt;
|-&lt;br /&gt;
| assetlist&lt;br /&gt;
| htdocs\asset\list.php&lt;br /&gt;
|-&lt;br /&gt;
| assetnote&lt;br /&gt;
| htdocs\asset\note.php &lt;br /&gt;
|-&lt;br /&gt;
| assettypecard&lt;br /&gt;
| htdocs\asset\type.php &lt;br /&gt;
|-&lt;br /&gt;
| bankaccountlist&lt;br /&gt;
| htdocs\compta\bank\list.php &lt;br /&gt;
|-&lt;br /&gt;
| bankcard&lt;br /&gt;
| htdocs\compta\bank\card.php &lt;br /&gt;
|-&lt;br /&gt;
| banktransactionlist&lt;br /&gt;
| htdocs\compta\bank\bankentries_list.php &lt;br /&gt;
|-&lt;br /&gt;
| banktreso&lt;br /&gt;
| htdocs\compta\bank\treso.php &lt;br /&gt;
|-&lt;br /&gt;
| bomagenda&lt;br /&gt;
| htdocs\bom\bom_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| bomcard&lt;br /&gt;
| htdocs\bom\bom_card.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdocument&lt;br /&gt;
| htdocs\bom\bom_document.php &lt;br /&gt;
|-&lt;br /&gt;
| bomlinedao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomlist&lt;br /&gt;
| htdocs\bom\bom_list.php&lt;br /&gt;
|-&lt;br /&gt;
| bomnote&lt;br /&gt;
| htdocs\bom\bom_note.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrol&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrolcard&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_card.php &lt;br /&gt;
|-&lt;br /&gt;
| cashdeskloginpage&lt;br /&gt;
| htdocs\cashdesk\index.php&lt;br /&gt;
|-&lt;br /&gt;
| cashdeskTplTicket&lt;br /&gt;
| htdocs\cashdesk\validation_ticket.php &lt;br /&gt;
|-&lt;br /&gt;
| cashfencedao&lt;br /&gt;
| htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
|-&lt;br /&gt;
| categorycard&lt;br /&gt;
| htdocs\categories\card.php&lt;br /&gt;
htdocs\categories\edit.php&lt;br /&gt;
htdocs\categories\viewcat.php &lt;br /&gt;
|-&lt;br /&gt;
| commandefournisseurdispatchdao&lt;br /&gt;
| htdocs\fourn\class\fournisseur.commande.dispatch.class.php&lt;br /&gt;
|-&lt;br /&gt;
| commonobject&lt;br /&gt;
| htdocs\core\class\html.form.class.php&lt;br /&gt;
|-&lt;br /&gt;
| comptafileslist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptioncontact&lt;br /&gt;
| htdocs\contact\consumption.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptionthirdparty&lt;br /&gt;
| htdocs\societe\consumption.php&lt;br /&gt;
|-&lt;br /&gt;
| contactagenda&lt;br /&gt;
| htdocs\contact\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| contactcard&lt;br /&gt;
| htdocs\contact\card.php &lt;br /&gt;
|-&lt;br /&gt;
| contactdao&lt;br /&gt;
| htdocs\contact\class\contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
| contactlist&lt;br /&gt;
| htdocs\contact\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contactthirdparty&lt;br /&gt;
| htdocs\societe\societecontact.php &lt;br /&gt;
|-&lt;br /&gt;
| contacttpl&lt;br /&gt;
| htdocs\core\tpl\contacts.tpl.php&lt;br /&gt;
htdocs\projet\tasks\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| contractcard&lt;br /&gt;
| htdocs\contrat\card.php htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php htdocs\contrat\note.php &lt;br /&gt;
|-&lt;br /&gt;
| contractlist&lt;br /&gt;
| htdocs\contrat\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contractservicelist&lt;br /&gt;
| htdocs\contrat\services_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cron&lt;br /&gt;
| htdocs\cron\class\cronjob.class.php &lt;br /&gt;
|-&lt;br /&gt;
| cronjoblist&lt;br /&gt;
| htdocs\cron\list.php &lt;br /&gt;
|-&lt;br /&gt;
| defineholidaylist&lt;br /&gt;
| htdocs\holiday\define_holiday.php &lt;br /&gt;
|-&lt;br /&gt;
| deliverycard&lt;br /&gt;
| htdocs\livraison\card.php &lt;br /&gt;
|-&lt;br /&gt;
| doncard&lt;br /&gt;
| htdocs\don\card.php&lt;br /&gt;
|-&lt;br /&gt;
| element_resource&lt;br /&gt;
| htdocs\resource\element_resource.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectoractiondao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectoraction.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorcard&lt;br /&gt;
| htdocs\admin\emailcollector_card.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectordao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorfilterdao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectorfilter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorlist&lt;br /&gt;
| htdocs\admin\emailcollector_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailingdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailsenderprofilelist&lt;br /&gt;
| htdocs\admin\mails_senderprofile_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailtemplates&lt;br /&gt;
| htdocs\admin\mails_templates.php &lt;br /&gt;
|-&lt;br /&gt;
| expeditioncard&lt;br /&gt;
| htdocs\expedition\card.php&lt;br /&gt;
|-&lt;br /&gt;
| expensereportcard&lt;br /&gt;
| htdocs\expensereport\card.php &lt;br /&gt;
|-&lt;br /&gt;
| expensereportlist&lt;br /&gt;
| htdocs\expensereport\list.php&lt;br /&gt;
|-&lt;br /&gt;
| externalbalance&lt;br /&gt;
| htdocs\compta\localtax\clients.php&lt;br /&gt;
htdocs\compta\localtax\index.php&lt;br /&gt;
htdocs\compta\resultat\clientfourn.php&lt;br /&gt;
htdocs\compta\resultat\index.php&lt;br /&gt;
htdocs\compta\tva\clients.php&lt;br /&gt;
htdocs\compta\tva\index.php&lt;br /&gt;
htdocs\compta\tva\quadri_detail.php &lt;br /&gt;
|-&lt;br /&gt;
| fichinterdao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| fileslib&lt;br /&gt;
| htdocs\core\lib\files.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| formfile&lt;br /&gt;
| htdocs\core\class\html.formfile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| formmail&lt;br /&gt;
| htdocs\core\class\html.formmail.class.php &lt;br /&gt;
|-&lt;br /&gt;
| globaladmin&lt;br /&gt;
| htdocs\admin\company.php&lt;br /&gt;
htdocs\admin\defaultvalues.php&lt;br /&gt;
htdocs\admin\ldap.php&lt;br /&gt;
htdocs\admin\modules.php&lt;br /&gt;
htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| globalcard&lt;br /&gt;
| htdocs\adherents\card.php&lt;br /&gt;
htdocs\categories\viewcat.php&lt;br /&gt;
htdocs\comm\action\card.php&lt;br /&gt;
htdocs\asset\type.php&lt;br /&gt;
htdocs\bom\bom_agenda.php&lt;br /&gt;
htdocs\bom\bom_card.php&lt;br /&gt;
htdocs\bom\bom_document.php&lt;br /&gt;
htdocs\bom\bom_note.php&lt;br /&gt;
htdocs\adherents\type.php&lt;br /&gt;
htdocs\adherents\type_ldap.php&lt;br /&gt;
htdocs\comm\propal\card.php&lt;br /&gt;
htdocs\commande\card.php&lt;br /&gt;
htdocs\compta\bank\card.php&lt;br /&gt;
htdocs\compta\bank\treso.php&lt;br /&gt;
htdocs\compta\bank\various_payment\card.php&lt;br /&gt;
htdocs\compta\cashcontrol\cashcontrol_card.php&lt;br /&gt;
htdocs\compta\deplacement\card.php&lt;br /&gt;
htdocs\compta\facture\card.php&lt;br /&gt;
htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php&lt;br /&gt;
htdocs\compta\localtax\card.php&lt;br /&gt;
htdocs\compta\paiement.php&lt;br /&gt;
htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\compta\salaries\card.php&lt;br /&gt;
htdocs\compta\tva\card.php&lt;br /&gt;
htdocs\contact\agenda.php&lt;br /&gt;
htdocs\contact\card.php&lt;br /&gt;
htdocs\contrat\card.php&lt;br /&gt;
htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php&lt;br /&gt;
htdocs\contrat\note.php&lt;br /&gt;
htdocs\comm\card.php&lt;br /&gt;
htdocs\comm\mailing\card.php&lt;br /&gt;
htdocs\don\card.php&lt;br /&gt;
htdocs\expedition\card.php&lt;br /&gt;
htdocs\expensereport\card.php&lt;br /&gt;
htdocs\fichinter\card.php&lt;br /&gt;
htdocs\fourn\card.php&lt;br /&gt;
htdocs\fourn\commande\card.php&lt;br /&gt;
htdocs\fourn\facture\card.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php&lt;br /&gt;
htdocs\livraison\card.php&lt;br /&gt;
htdocs\loan\card.php&lt;br /&gt;
htdocs\margin\tabs\thirdpartyMargins.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_card.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_document.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_note.php&lt;br /&gt;
htdocs\product\card.php&lt;br /&gt;
htdocs\product\fournisseurs.php&lt;br /&gt;
htdocs\product\price.php&lt;br /&gt;
htdocs\product\stock\card.php&lt;br /&gt;
htdocs\product\stock\product.php&lt;br /&gt;
htdocs\product\stock\productlot_card.php&lt;br /&gt;
htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php&lt;br /&gt;
htdocs\projet\contact.php&lt;br /&gt;
htdocs\projet\tasks\comment.php&lt;br /&gt;
htdocs\projet\tasks\task.php&lt;br /&gt;
htdocs\projet\tasks\time.php&lt;br /&gt;
htdocs\projet\tasks.php&lt;br /&gt;
htdocs\reception\card.php&lt;br /&gt;
htdocs\resource\card.php&lt;br /&gt;
htdocs\societe\card.php&lt;br /&gt;
htdocs\societe\contact.php&lt;br /&gt;
htdocs\societe\document.php&lt;br /&gt;
htdocs\societe\note.php&lt;br /&gt;
htdocs\societe\notify\card.php&lt;br /&gt;
htdocs\societe\paymentmodes.php&lt;br /&gt;
htdocs\societe\price.php&lt;br /&gt;
htdocs\societe\societecontact.php&lt;br /&gt;
htdocs\stripe\payment.php&lt;br /&gt;
htdocs\supplier_proposal\card.php&lt;br /&gt;
htdocs\ticket\card.php&lt;br /&gt;
htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\group\card.php&lt;br /&gt;
htdocs\user\group\perms.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| globallist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| groupcard&lt;br /&gt;
| htdocs\user\group\card.php&lt;br /&gt;
|-&lt;br /&gt;
| groupdao&lt;br /&gt;
| htdocs\user\class\usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
| groupperms&lt;br /&gt;
| htdocs\user\group\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| holidaylist&lt;br /&gt;
| htdocs\holiday\list.php &lt;br /&gt;
|-&lt;br /&gt;
| homesetup&lt;br /&gt;
| htdocs\admin\index.php &lt;br /&gt;
|-&lt;br /&gt;
| idprofurl&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| htdocs\index.php &lt;br /&gt;
|-&lt;br /&gt;
| interventioncard&lt;br /&gt;
| htdocs\fichinter\card.php &lt;br /&gt;
|-&lt;br /&gt;
| interventionlist&lt;br /&gt;
| htdocs\fichinter\list.php &lt;br /&gt;
|-&lt;br /&gt;
| intervnetiondao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| inventorycard&lt;br /&gt;
| htdocs\product\inventory\card.php &lt;br /&gt;
|-&lt;br /&gt;
| inventorylist&lt;br /&gt;
| htdocs\product\inventory\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicecard&lt;br /&gt;
| htdocs\compta\facture\card.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicedao&lt;br /&gt;
| htdocs\compta\facture\class\facture.class.php &lt;br /&gt;
|-&lt;br /&gt;
| invoiceindex&lt;br /&gt;
| htdocs\compta\index.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicelist&lt;br /&gt;
| htdocs\compta\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicereccard&lt;br /&gt;
| htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicesuppliercard&lt;br /&gt;
| htdocs\fourn\facture\card.php&lt;br /&gt;
|-&lt;br /&gt;
| leavemovementlist&lt;br /&gt;
| htdocs\holiday\view_log.php &lt;br /&gt;
|-&lt;br /&gt;
| leftblock&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| loancard&lt;br /&gt;
| htdocs\loan\card.php &lt;br /&gt;
|-&lt;br /&gt;
| localtaxvatcard&lt;br /&gt;
| htdocs\compta\localtax\card.php &lt;br /&gt;
|-&lt;br /&gt;
| login&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| logout&lt;br /&gt;
| htdocs\user\logout.php &lt;br /&gt;
|-&lt;br /&gt;
| mail&lt;br /&gt;
| htdocs\core\class\CMailFile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| mailingcard&lt;br /&gt;
| htdocs\comm\mailing\card.php &lt;br /&gt;
|-&lt;br /&gt;
| mailinglist&lt;br /&gt;
| htdocs\comm\mailing\list.php &lt;br /&gt;
|-&lt;br /&gt;
| main&lt;br /&gt;
| htdocs\core\lib\security.lib.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| mainloginpage&lt;br /&gt;
| htdocs\core\lib\security2.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| membercard&lt;br /&gt;
| htdocs\adherents\card.php &lt;br /&gt;
|-&lt;br /&gt;
| memberlist&lt;br /&gt;
| htdocs\adherents\list.php &lt;br /&gt;
|-&lt;br /&gt;
| membertypecard&lt;br /&gt;
| htdocs\adherents\type.php &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| membertypeldapcard&lt;br /&gt;
| htdocs\adherents\type_ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| movementlist&lt;br /&gt;
| htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\product\stock\movement_card.php&lt;br /&gt;
htdocs\product\stock\movement_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectagenda&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectcard&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_card.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
htdocs\modulebuilder\template\class\myobject.class.php&lt;br /&gt;
htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectdocument&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_document.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectlist&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectnote&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_note.php &lt;br /&gt;
|-&lt;br /&gt;
| notification&lt;br /&gt;
| htdocs\core\class\notify.class.php &lt;br /&gt;
|-&lt;br /&gt;
| odtgeneration&lt;br /&gt;
| htdocs\core\modules\user\doc\doc_generic_user_odt.modules.php&lt;br /&gt;
htdocs\core\modules\usergroup\doc\doc_generic_usergroup_odt.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\doc_generic_supplier_proposal_odt.modules.php &lt;br /&gt;
htdocs\core\modules\societe\doc\doc_generic_odt.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\doc_generic_stock_odt.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\doc_generic_invoice_odt.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\doc_generic_product_odt.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\doc_generic_project_odt.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\doc_generic_proposal_odt.modules.php&lt;br /&gt;
htdocs\core\modules\reception\doc\doc_generic_reception_odt.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\doc_generic_order_odt.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\doc_generic_contract_odt.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\doc_generic_shipment_odt.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| ordercard&lt;br /&gt;
| htdocs\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| orderdao&lt;br /&gt;
| htdocs\commande\class\commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
| orderlist&lt;br /&gt;
| htdocs\commande\list.php&lt;br /&gt;
htdocs\don\list.php &lt;br /&gt;
|-&lt;br /&gt;
| ordershipmentcard&lt;br /&gt;
| htdocs\expedition\shipment.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoice&lt;br /&gt;
| htdocs\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoicesupplier&lt;br /&gt;
| htdocs\fourn\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersuppliercard&lt;br /&gt;
| htdocs\fourn\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersupplierdispatch&lt;br /&gt;
| htdocs\fourn\commande\dispatch.php &lt;br /&gt;
|-&lt;br /&gt;
| paiementcard&lt;br /&gt;
| htdocs\stripe\payment.php&lt;br /&gt;
htdocs\compta\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| passwordforgottenpage&lt;br /&gt;
| htdocs\user\passwordforgotten.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentlist&lt;br /&gt;
| htdocs\compta\paiement\list.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentsupplierlist&lt;br /&gt;
| htdocs\fourn\facture\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| pdfgeneration&lt;br /&gt;
| htdocs\core\modules\action\rapport.pdf.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_ban.modules.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_sepamandate.modules.php&lt;br /&gt;
htdocs\core\modules\cheque\doc\pdf_blochet.class.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_einstein.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_eratosthene.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\pdf_strato.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_espadon.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_merou.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_rouget.modules.php&lt;br /&gt;
htdocs\core\modules\expensereport\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_crabe.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_sponge.modules.php&lt;br /&gt;
htdocs\core\modules\fichinter\doc\pdf_soleil.modules.php&lt;br /&gt;
htdocs\core\modules\livraison\doc\pdf_typhon.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_baleine.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_beluga.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_timespent.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_azur.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_cyan.modules.php&lt;br /&gt;
htdocs\core\modules\rapport\pdf_paiement.class.php&lt;br /&gt;
htdocs\core\modules\reception\doc\pdf_squille.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_invoice\pdf\pdf_canelle.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_cornas.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_muscadet.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_payment\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\pdf_aurore.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| pricesuppliercard&lt;br /&gt;
| htdocs\product\fournisseurs.php &lt;br /&gt;
|-&lt;br /&gt;
| product_lotlist&lt;br /&gt;
| htdocs\product\stock\productlot_list.php &lt;br /&gt;
|-&lt;br /&gt;
| productcard&lt;br /&gt;
| htdocs\product\card.php &lt;br /&gt;
|-&lt;br /&gt;
| productdao&lt;br /&gt;
| htdocs\product\class\product.class.php&lt;br /&gt;
|-&lt;br /&gt;
| productdocuments&lt;br /&gt;
| htdocs\product\document.php &lt;br /&gt;
|-&lt;br /&gt;
| productindex&lt;br /&gt;
| htdocs\product\index.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotcard&lt;br /&gt;
| htdocs\product\stock\productlot_card.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotdocuments&lt;br /&gt;
| htdocs\product\stock\productlot_document.php &lt;br /&gt;
|-&lt;br /&gt;
| productpricecard&lt;br /&gt;
| htdocs\product\price.php &lt;br /&gt;
|-&lt;br /&gt;
| productservicelist&lt;br /&gt;
| htdocs\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatscontract&lt;br /&gt;
| htdocs\product\stats\contrat.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatsinvoice&lt;br /&gt;
| htdocs\product\stats\facture.php&lt;br /&gt;
|-&lt;br /&gt;
| productstatsorder&lt;br /&gt;
| htdocs\product\stats\commande.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatspropal&lt;br /&gt;
| htdocs\product\stats\propal.php&lt;br /&gt;
htdocs\product\stats\supplier_proposal.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyinvoice&lt;br /&gt;
| htdocs\product\stats\facture_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyorder&lt;br /&gt;
| htdocs\product\stats\commande_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcard&lt;br /&gt;
| htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcontactcard&lt;br /&gt;
| htdocs\projet\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| projectdao&lt;br /&gt;
| htdocs\projet\class\project.class.php &lt;br /&gt;
|-&lt;br /&gt;
| projectlist&lt;br /&gt;
| htdocs\projet\list.php &lt;br /&gt;
|-&lt;br /&gt;
| projectOverview&lt;br /&gt;
| htdocs\projet\element.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcard&lt;br /&gt;
| htdocs\projet\tasks\task.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcommentcard&lt;br /&gt;
| htdocs\projet\tasks\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskscard&lt;br /&gt;
| htdocs\projet\tasks.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttasktime&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| projectthirdparty&lt;br /&gt;
| htdocs\societe\project.php&lt;br /&gt;
|-&lt;br /&gt;
| projectticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| propalcard&lt;br /&gt;
| htdocs\comm\propal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| propallist&lt;br /&gt;
| htdocs\comm\propal\list.php&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| purchasesjournal&lt;br /&gt;
| htdocs\accountancy\journal\purchasesjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| recapcomptacard&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
|-&lt;br /&gt;
| receptioncard&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
|-&lt;br /&gt;
| receptiondao&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
htdocs\reception\class\reception.class.php &lt;br /&gt;
|-&lt;br /&gt;
| receptionlist&lt;br /&gt;
| htdocs\reception\list.php &lt;br /&gt;
|-&lt;br /&gt;
| resource&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resource_card&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resourcelist&lt;br /&gt;
| htdocs\resource\list.php &lt;br /&gt;
|-&lt;br /&gt;
| salarycard&lt;br /&gt;
| htdocs\compta\salaries\card.php &lt;br /&gt;
|-&lt;br /&gt;
| salarypayment&lt;br /&gt;
| htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
| searchform&lt;br /&gt;
| htdocs\core\ajax\selectsearchbox.php&lt;br /&gt;
htdocs\core\search_page.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| sellsjournal&lt;br /&gt;
| htdocs\accountancy\journal\sellsjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| shipmentlist&lt;br /&gt;
| htdocs\expedition\list.php &lt;br /&gt;
|-&lt;br /&gt;
| stockproductcard&lt;br /&gt;
| htdocs\product\stock\product.php &lt;br /&gt;
|-&lt;br /&gt;
| stockreplenishlist&lt;br /&gt;
| htdocs\product\stock\replenish.php &lt;br /&gt;
|-&lt;br /&gt;
| subscription&lt;br /&gt;
| htdocs\adherents\subscription.php &lt;br /&gt;
|-&lt;br /&gt;
| subscriptionlist&lt;br /&gt;
| htdocs\adherents\subscription\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposalcard&lt;br /&gt;
| htdocs\supplier_proposal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposallist&lt;br /&gt;
| htdocs\supplier_proposal\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierbalencelist&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php &lt;br /&gt;
|-&lt;br /&gt;
| suppliercard&lt;br /&gt;
| htdocs\fourn\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierinvoicelist&lt;br /&gt;
| htdocs\fourn\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierorderlist&lt;br /&gt;
| htdocs\fourn\commande\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierpricelist&lt;br /&gt;
| htdocs\fourn\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| surveylist&lt;br /&gt;
| htdocs\opensurvey\list.php &lt;br /&gt;
|-&lt;br /&gt;
| takeposfrontend&lt;br /&gt;
| htdocs\takepos\takepos.php &lt;br /&gt;
|-&lt;br /&gt;
| tasklist&lt;br /&gt;
| htdocs\projet\tasks\list.php &lt;br /&gt;
|-&lt;br /&gt;
| tasktimelist&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| taxvatcard&lt;br /&gt;
| htdocs\compta\tva\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartybancard&lt;br /&gt;
| htdocs\societe\paymentmodes.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycard&lt;br /&gt;
| htdocs\core\tpl\advtarget.tpl.php&lt;br /&gt;
htdocs\societe\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycomm&lt;br /&gt;
| htdocs\comm\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycontact&lt;br /&gt;
| htdocs\societe\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycustomerprice&lt;br /&gt;
| htdocs\societe\price.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydao&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydocument&lt;br /&gt;
| htdocs\societe\document.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartylist&lt;br /&gt;
| htdocs\societe\list.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartymargins&lt;br /&gt;
| htdocs\margin\tabs\thirdpartyMargins.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynote&lt;br /&gt;
| htdocs\societe\note.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynotification&lt;br /&gt;
| htdocs\societe\notify\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartyticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| ticketcard&lt;br /&gt;
| htdocs\ticket\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ticketlist&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| timesheetperdaycard&lt;br /&gt;
| htdocs\projet\activity\perday.php &lt;br /&gt;
|-&lt;br /&gt;
| timesheetperweekcard&lt;br /&gt;
| htdocs\projet\activity\perweek.php &lt;br /&gt;
|-&lt;br /&gt;
| toprightmenu&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| tripsandexpensescard&lt;br /&gt;
| htdocs\compta\deplacement\card.php &lt;br /&gt;
|-&lt;br /&gt;
| upgrade&lt;br /&gt;
| htdocs\install\upgrade2.php &lt;br /&gt;
|-&lt;br /&gt;
| useragenda&lt;br /&gt;
| htdocs\user\agenda_extsites.php &lt;br /&gt;
|-&lt;br /&gt;
| usercard&lt;br /&gt;
| htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| userdao&lt;br /&gt;
| htdocs\user\class\user.class.php&lt;br /&gt;
|-&lt;br /&gt;
| userdoc&lt;br /&gt;
| htdocs\user\document.php &lt;br /&gt;
|-&lt;br /&gt;
| userhome&lt;br /&gt;
| htdocs\user\home.php&lt;br /&gt;
|-&lt;br /&gt;
| userihm&lt;br /&gt;
| htdocs\user\param_ihm.php &lt;br /&gt;
|-&lt;br /&gt;
| userldap&lt;br /&gt;
| htdocs\user\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| userlist&lt;br /&gt;
| htdocs\user\list.php&lt;br /&gt;
|-&lt;br /&gt;
| usernote&lt;br /&gt;
| htdocs\user\note.php &lt;br /&gt;
|-&lt;br /&gt;
| userperms&lt;br /&gt;
| htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| variouscard&lt;br /&gt;
| htdocs\compta\bank\various_payment\card.php &lt;br /&gt;
|-&lt;br /&gt;
| variouspayment&lt;br /&gt;
| htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
|-&lt;br /&gt;
| warehousecard&lt;br /&gt;
| htdocs\product\stock\card.php &lt;br /&gt;
|-&lt;br /&gt;
| website&lt;br /&gt;
| htdocs\admin\website.php &lt;br /&gt;
|-&lt;br /&gt;
| websiteaccountcard&lt;br /&gt;
| htdocs\website\websiteaccount_card.php &lt;br /&gt;
|-&lt;br /&gt;
| websitethirdpartylist&lt;br /&gt;
| htdocs\societe\website.php &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
= Voir aussi =&lt;br /&gt;
* [[Triggers]]&lt;br /&gt;
* [[Interfaces Dolibarr toward foreign systems]]&lt;br /&gt;
* [[Interfaces from foreign systems toward Dolibarr]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41591</id>
		<title>Système de Hooks</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41591"/>
		<updated>2019-06-12T12:04:31Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Liste des Contexts disponibles dans Dolibarr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Les Hooks sont une fonctionnalité pour les développeurs, disponible à partir de Dolibarr 3.2, leur permettant d&#039;ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d&#039;interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s&#039;exécuter n&#039;importe ou et à n&#039;importe quel moment dès lors qu&#039;ils ont été prévu dans le core de Dolibarr. Ce sont des points d&#039;insertion dans le programme.&lt;br /&gt;
* Les Hooks sont actifs ou pas selon un contexte (souvent un contexte par module : par exemple &amp;quot;productcard&amp;quot; pour les produits, &amp;quot;invoicecard&amp;quot; pour les factures...). Pour trouver les Hooks existants faites une recherche pour &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
* Les Hooks sont des fonctions qui s&#039;insèrent dans ou remplacent le code standard. Pour rechercher le code qu&#039;il est possible de surcharger faites une recherche pour &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Ajouter un hook pour permettre l&#039;insertion de code =&lt;br /&gt;
Pour implémenter un hook dans votre propre module (afin que votre module puisse être &amp;quot;hooké&amp;quot; par d&#039;autres), vous devrez procéder à 2 étapes.&lt;br /&gt;
&lt;br /&gt;
Ces étapes doivent êtres reproduites pour chaque script php de votre module où vous voulez implémenter des hooks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1- Initialiser l&#039;object HookManager (placez ce bout de code au début de votre script php, juste après ou avant les includes):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Initialize technical object to manage hooks of thirdparties. Note that conf-&amp;gt;hooks_modules contains array array&lt;br /&gt;
include_once(DOL_DOCUMENT_ROOT.&#039;/core/class/hookmanager.class.php&#039;);&lt;br /&gt;
$hookmanager=new HookManager($db);&lt;br /&gt;
$hookmanager-&amp;gt;initHooks(array(&#039;context&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$hookmanager-&amp;gt;initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;context&#039;&#039;&#039;&#039; est la chaine qui contient le contexte d&#039;exécution. C&#039;est un simple indicateur qui peut être utilisé par les fonctions de hook pour détecter dans quel cas elles sont appelées (plusieurs pages/modules peuvent appeler le même hook à différent endroit, et une fonction de hook peut ne vouloir s&#039;exécuter que pour un contexte donné et pas les autres).&lt;br /&gt;
&lt;br /&gt;
Note: Vous pouvez positionner plusieurs contextes en même temps (par exemple si vous avez besoin d&#039;avoir un context commun à plusieurs pages mais que vous voulez aussi un context propre à une page donnée).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Placer ensuite l&#039;appel des hooks la où permettre l&#039;ajout de code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array();&lt;br /&gt;
$reshook=$hookmanager-&amp;gt;executeHooks(&#039;hookname&#039;,$parameters,$object,$action); // See description below&lt;br /&gt;
// Note that $action and $object may have been modified by hook&lt;br /&gt;
if (empty($reshook))&lt;br /&gt;
{&lt;br /&gt;
   ... // standard code that can be disabled/replaced by hook if return code &amp;gt; 0.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;$hookmanager-&amp;gt;executeHooks()&#039;&#039;&#039; accepte 4 paramètres et ajoute un hook (qui est un point d&#039;entrée dans votre script pour des fonctions externes à votre script et module):&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;hookname&#039;&#039;&#039;&#039; est le nom de la méthode qui sera appelée. Par exemple: &#039;formObjectOptions&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau personnalisé pour transmettre plus de données personnalisées au hook (la fonction dans le hook peut traiter ces données). Placez ici ce que vous voulez, ce peut être un fichier, un tableau de chaînes de caractères, n&#039;importe quoi... Par exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array(&#039;file&#039;=&amp;gt;&#039;my/path/to/a/file&#039;, &#039;customnames&#039;=&amp;gt;array(&#039;henry&#039;,&#039;david&#039;,&#039;john&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet que vous voulez passer à la fonction du hook, certainement les données du module courant (ex: l&#039;objet facture si on est dans un module de facture, etc..). Ce peut être ce que vous voulez, mais souvenez vous qu&#039;il sera le principal composant utilisé par les fonctions du hook.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$action&#039;&#039;&#039; est une chaîne indiquant l&#039;action courante (peut être null ou quelque chose qui ressemble à &#039;create&#039; ou &#039;edit&#039;).&lt;br /&gt;
&lt;br /&gt;
Note: Vous devrez refaire cette étape plusieurs fois si vous voulez ajouter plusieurs hooks à différent endroits de votre script.&lt;br /&gt;
&lt;br /&gt;
Maintenant votre module devrait pouvoir être hooké, vous pouvez suivre la procédure ci-dessous dans &#039;&#039;&#039;Implémenter un hook&#039;&#039;&#039; pour implémenter une fonction hook qui en prendra avantage (permet aussi de tester que cela fonctionne).&lt;br /&gt;
&lt;br /&gt;
= Implémenter un Hook =&lt;br /&gt;
Pour utiliser un Hook (donc ajouter ou surcharger une partie de code), vous devez d&#039;abord avoir défini un descripteur de module (voir [[Développement_module#Créer_un_descripteur_de_Module_(obligatoire)]] pour cela). Ensuite vous devez suivre les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. Ajouter votre module au contexte où le hook doit s&#039;exécuter. &lt;br /&gt;
Ce qui veut dire que lorsqu&#039;on se trouve dans le contexte donné, votre code sera appelé. &lt;br /&gt;
Pour cela, éditer le descripteur de votre module (&#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/core/modules/mod&#039;&#039;YourModuleName&#039;&#039;.class.php&#039;&#039;&#039;) et renseignez la variable &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039; comme sur l&#039;exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&lt;br /&gt;
&#039;hooks&#039; =&amp;gt; array(&#039;hookcontext1&#039;,&#039;hookcontext2&#039;)  // Set here all hooks context you want to support&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: il est possible de trouver le contexte d&#039;un module en rajoutant &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
print(&#039;Module context: &#039;.$object-&amp;gt;context);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(rajoutez ce bout de code dans le fichier php où réside l&#039;appel des hooks, et supprimez le, une fois la valeur du context relevée).&lt;br /&gt;
&lt;br /&gt;
[[File:warning.png]] Attention: N&#039;oubliez pas de désactiver puis de réactiver votre module dans l&#039;interface d&#039;administration des modules afin que la modification soit prise en compte car la sauvegarde des couples &amp;quot;modules-hooks&amp;quot; qui doit être gérée est faite en base, laquelle n&#039;est mise à jour qu&#039;au moment de l&#039;activation du module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Pour remplacer une fonction existante par la votre (surcharge)&lt;br /&gt;
&lt;br /&gt;
Créez &#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/class/actions_&#039;&#039;yourmodulename&#039;&#039;.class.php&#039;&#039;&#039; dans votre module avec un code qui contient la méthode appelée par le hook (le nom de cette méthode se voit au moment de l&#039;appel executeHooks). Voici un exemple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
class ActionsYourModuleName &lt;br /&gt;
{ &lt;br /&gt;
	/**&lt;br /&gt;
	 * Overloading the doActions function : replacing the parent&#039;s function with the one below&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   array()         $parameters     Hook metadatas (context, etc...)&lt;br /&gt;
	 * @param   CommonObject    &amp;amp;$object        The object to process (an invoice if you are in invoice module, a propale in propale&#039;s module, etc...)&lt;br /&gt;
	 * @param   string          &amp;amp;$action        Current action (if set). Generally create or edit or null&lt;br /&gt;
	 * @param   HookManager     $hookmanager    Hook manager propagated to allow calling another hook&lt;br /&gt;
	 * @return  int                             &amp;lt; 0 on error, 0 on success, 1 to replace standard code&lt;br /&gt;
	 */&lt;br /&gt;
	function doActions($parameters, &amp;amp;$object, &amp;amp;$action, $hookmanager)&lt;br /&gt;
	{&lt;br /&gt;
		$error = 0; // Error counter&lt;br /&gt;
		$myvalue = &#039;test&#039;; // A result value&lt;br /&gt;
&lt;br /&gt;
		print_r($parameters);&lt;br /&gt;
		echo &amp;quot;action: &amp;quot; . $action;&lt;br /&gt;
		print_r($object);&lt;br /&gt;
&lt;br /&gt;
		if (in_array(&#039;somecontext&#039;, explode(&#039;:&#039;, $parameters[&#039;context&#039;])))&lt;br /&gt;
		{&lt;br /&gt;
		  // do something only for the context &#039;somecontext&#039;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (! $error)&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;results = array(&#039;myreturn&#039; =&amp;gt; $myvalue);&lt;br /&gt;
			$this-&amp;gt;resprints = &#039;A text to show&#039;;&lt;br /&gt;
			return 0; // or return 1 to replace standard code&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;errors[] = &#039;Error message&#039;;&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La méthode sera alors automatiquement appelée au moment de l&#039;appel du code qui contient le executeHooks fournissant à votre code les éléments $parameters, $object et $action.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avec&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters[&#039;context&#039;] mais d&#039;autres information peuvent etre disponible selon le cas)&lt;br /&gt;
* &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet sur lequel vous désirez travailler (par exemple : product pour le contexte productcard) &lt;br /&gt;
* &#039;&#039;&#039;$action&#039;&#039;&#039; désigne l&#039;action à exécuter (par exemple &amp;quot;create&amp;quot;, &amp;quot;edit&amp;quot; or &amp;quot;view&amp;quot;).&lt;br /&gt;
* &#039;&#039;&#039;$hookmanager&#039;&#039;&#039; n&#039;est propagé que pour permettre à votre hook d&#039;appeler d&#039;autres hooks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retours&#039;&#039;&#039;:&lt;br /&gt;
* Le code retour d&#039;un hook doit 0 ou 1 en cas de succès, négatif en cas d&#039;erreur. En général, il sera 0. Il peut être 1, ce qui dans certains cas signifie que ce que fait votre hook remplace complètement ce que devait faire Dolibarr juste après l&#039;appel du hook. Si le code est négatif, il est possible de fournir un message d&#039;erreur à l&#039;utilisateur en positionnant $this-&amp;gt;errors[]=&#039;Message erreur&#039;&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;results avec un tableau, alors le tableau $hookmanager-&amp;gt;resArray sera automatiquement enrichi avec le contenu de ce tableau, lequel pourra être réutilisé plus tard.&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;resprints avec une chaîne, alors cette chaîne sera affiché par le gestionnaire de hook (executeHook), tout de suite à la sortie de votre méthode.&lt;br /&gt;
* Votre hook peut de plus modifier les valeurs de $object et $action.&lt;br /&gt;
&lt;br /&gt;
= Liste des Hooks disponibles dans Dolibarr =&lt;br /&gt;
Trouver les hooks disponibles dans Dolibarr ? &lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement toutes les fonctions déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
En voici une liste (non complète):&lt;br /&gt;
{{ListOfHooks}}&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
= Liste des Contexts disponibles dans Dolibarr =&lt;br /&gt;
Pour trouver les contextes disponibles dans Dolibarr, la procédure est similaire aux hooks.&lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement tous les contextes déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Hook&lt;br /&gt;
! Context&lt;br /&gt;
|-&lt;br /&gt;
| accountancycustomerlist&lt;br /&gt;
| htdocs\accountancy\customer\list.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancyindex&lt;br /&gt;
| htdocs\accountancy\index.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancysupplierlist&lt;br /&gt;
| htdocs\accountancy\supplier\list.php &lt;br /&gt;
|-&lt;br /&gt;
| actioncard&lt;br /&gt;
| htdocs\comm\action\card.php&lt;br /&gt;
|-&lt;br /&gt;
| actiondao&lt;br /&gt;
| htdocs\comm\action\class\actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
| admin&lt;br /&gt;
| htdocs\accountancy\admin\accountmodel.php &lt;br /&gt;
htdocs\accountancy\admin\categories_list.php &lt;br /&gt;
htdocs\accountancy\admin\journals_list.php &lt;br /&gt;
htdocs\admin\dict.php &lt;br /&gt;
htdocs\admin\website_options.php &lt;br /&gt;
|-&lt;br /&gt;
| admincompany&lt;br /&gt;
| htdocs\admin\company.php &lt;br /&gt;
|-&lt;br /&gt;
| admindefaultvalues&lt;br /&gt;
| htdocs\admin\defaultvalues.php &lt;br /&gt;
|-&lt;br /&gt;
| adminldap&lt;br /&gt;
| htdocs\admin\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| adminmodules&lt;br /&gt;
| htdocs\admin\modules.php &lt;br /&gt;
|-&lt;br /&gt;
| admintranslation&lt;br /&gt;
| htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| agenda&lt;br /&gt;
| htdocs\comm\action\index.php&lt;br /&gt;
htdocs\comm\action\pertype.php&lt;br /&gt;
htdocs\comm\action\peruser.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaexport&lt;br /&gt;
| htdocs\public\agenda\agendaexport.php &lt;br /&gt;
|-&lt;br /&gt;
| agendalist&lt;br /&gt;
| htdocs\comm\action\list.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaresource&lt;br /&gt;
| htdocs\resource\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| agendathirdparty&lt;br /&gt;
| htdocs\societe\agenda.php&lt;br /&gt;
htdocs\product\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| assetcard&lt;br /&gt;
| htdocs\asset\card.php &lt;br /&gt;
|-&lt;br /&gt;
| assetdocument&lt;br /&gt;
| htdocs\asset\document.php &lt;br /&gt;
|-&lt;br /&gt;
| assetlist&lt;br /&gt;
| htdocs\asset\list.php&lt;br /&gt;
|-&lt;br /&gt;
| assetnote&lt;br /&gt;
| htdocs\asset\note.php &lt;br /&gt;
|-&lt;br /&gt;
| assettypecard&lt;br /&gt;
| htdocs\asset\type.php &lt;br /&gt;
|-&lt;br /&gt;
| bankaccountlist&lt;br /&gt;
| htdocs\compta\bank\list.php &lt;br /&gt;
|-&lt;br /&gt;
| bankcard&lt;br /&gt;
| htdocs\compta\bank\card.php &lt;br /&gt;
|-&lt;br /&gt;
| banktransactionlist&lt;br /&gt;
| htdocs\compta\bank\bankentries_list.php &lt;br /&gt;
|-&lt;br /&gt;
| banktreso&lt;br /&gt;
| htdocs\compta\bank\treso.php &lt;br /&gt;
|-&lt;br /&gt;
| bomagenda&lt;br /&gt;
| htdocs\bom\bom_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| bomcard&lt;br /&gt;
| htdocs\bom\bom_card.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdocument&lt;br /&gt;
| htdocs\bom\bom_document.php &lt;br /&gt;
|-&lt;br /&gt;
| bomlinedao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomlist&lt;br /&gt;
| htdocs\bom\bom_list.php&lt;br /&gt;
|-&lt;br /&gt;
| bomnote&lt;br /&gt;
| htdocs\bom\bom_note.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrol&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrolcard&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_card.php &lt;br /&gt;
|-&lt;br /&gt;
| cashdeskloginpage&lt;br /&gt;
| htdocs\cashdesk\index.php&lt;br /&gt;
|-&lt;br /&gt;
| cashdeskTplTicket&lt;br /&gt;
| htdocs\cashdesk\validation_ticket.php &lt;br /&gt;
|-&lt;br /&gt;
| cashfencedao&lt;br /&gt;
| htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
|-&lt;br /&gt;
| categorycard&lt;br /&gt;
| htdocs\categories\card.php&lt;br /&gt;
htdocs\categories\edit.php&lt;br /&gt;
htdocs\categories\viewcat.php &lt;br /&gt;
|-&lt;br /&gt;
| commandefournisseurdispatchdao&lt;br /&gt;
| htdocs\fourn\class\fournisseur.commande.dispatch.class.php&lt;br /&gt;
|-&lt;br /&gt;
| commonobject&lt;br /&gt;
| htdocs\core\class\html.form.class.php&lt;br /&gt;
|-&lt;br /&gt;
| comptafileslist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptioncontact&lt;br /&gt;
| htdocs\contact\consumption.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptionthirdparty&lt;br /&gt;
| htdocs\societe\consumption.php&lt;br /&gt;
|-&lt;br /&gt;
| contactagenda&lt;br /&gt;
| htdocs\contact\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| contactcard&lt;br /&gt;
| htdocs\contact\card.php &lt;br /&gt;
|-&lt;br /&gt;
| contactdao&lt;br /&gt;
| htdocs\contact\class\contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
| contactlist&lt;br /&gt;
| htdocs\contact\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contactthirdparty&lt;br /&gt;
| htdocs\societe\societecontact.php &lt;br /&gt;
|-&lt;br /&gt;
| contacttpl&lt;br /&gt;
| htdocs\core\tpl\contacts.tpl.php&lt;br /&gt;
htdocs\projet\tasks\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| contractcard&lt;br /&gt;
| htdocs\contrat\card.php htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php htdocs\contrat\note.php &lt;br /&gt;
|-&lt;br /&gt;
| contractlist&lt;br /&gt;
| htdocs\contrat\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contractservicelist&lt;br /&gt;
| htdocs\contrat\services_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cron&lt;br /&gt;
| htdocs\cron\class\cronjob.class.php &lt;br /&gt;
|-&lt;br /&gt;
| cronjoblist&lt;br /&gt;
| htdocs\cron\list.php &lt;br /&gt;
|-&lt;br /&gt;
| defineholidaylist&lt;br /&gt;
| htdocs\holiday\define_holiday.php &lt;br /&gt;
|-&lt;br /&gt;
| deliverycard&lt;br /&gt;
| htdocs\livraison\card.php &lt;br /&gt;
|-&lt;br /&gt;
| doncard&lt;br /&gt;
| htdocs\don\card.php&lt;br /&gt;
|-&lt;br /&gt;
| element_resource&lt;br /&gt;
| htdocs\resource\element_resource.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectoractiondao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectoraction.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorcard&lt;br /&gt;
| htdocs\admin\emailcollector_card.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectordao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorfilterdao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectorfilter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorlist&lt;br /&gt;
| htdocs\admin\emailcollector_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailingdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailsenderprofilelist&lt;br /&gt;
| htdocs\admin\mails_senderprofile_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailtemplates&lt;br /&gt;
| htdocs\admin\mails_templates.php &lt;br /&gt;
|-&lt;br /&gt;
| expeditioncard&lt;br /&gt;
| htdocs\expedition\card.php&lt;br /&gt;
|-&lt;br /&gt;
| expensereportcard&lt;br /&gt;
| htdocs\expensereport\card.php &lt;br /&gt;
|-&lt;br /&gt;
| expensereportlist&lt;br /&gt;
| htdocs\expensereport\list.php&lt;br /&gt;
|-&lt;br /&gt;
| externalbalance&lt;br /&gt;
| htdocs\compta\localtax\clients.php&lt;br /&gt;
htdocs\compta\localtax\index.php&lt;br /&gt;
htdocs\compta\resultat\clientfourn.php&lt;br /&gt;
htdocs\compta\resultat\index.php&lt;br /&gt;
htdocs\compta\tva\clients.php&lt;br /&gt;
htdocs\compta\tva\index.php&lt;br /&gt;
htdocs\compta\tva\quadri_detail.php &lt;br /&gt;
|-&lt;br /&gt;
| fichinterdao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| fileslib&lt;br /&gt;
| htdocs\core\lib\files.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| formfile&lt;br /&gt;
| htdocs\core\class\html.formfile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| formmail&lt;br /&gt;
| htdocs\core\class\html.formmail.class.php &lt;br /&gt;
|-&lt;br /&gt;
| globaladmin&lt;br /&gt;
| htdocs\admin\company.php&lt;br /&gt;
htdocs\admin\defaultvalues.php&lt;br /&gt;
htdocs\admin\ldap.php&lt;br /&gt;
htdocs\admin\modules.php&lt;br /&gt;
htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| globalcard&lt;br /&gt;
| htdocs\adherents\card.php&lt;br /&gt;
htdocs\categories\viewcat.php&lt;br /&gt;
htdocs\comm\action\card.php&lt;br /&gt;
htdocs\asset\type.php&lt;br /&gt;
htdocs\bom\bom_agenda.php&lt;br /&gt;
htdocs\bom\bom_card.php&lt;br /&gt;
htdocs\bom\bom_document.php&lt;br /&gt;
htdocs\bom\bom_note.php&lt;br /&gt;
htdocs\adherents\type.php&lt;br /&gt;
htdocs\adherents\type_ldap.php&lt;br /&gt;
htdocs\comm\propal\card.php&lt;br /&gt;
htdocs\commande\card.php&lt;br /&gt;
htdocs\compta\bank\card.php&lt;br /&gt;
htdocs\compta\bank\treso.php&lt;br /&gt;
htdocs\compta\bank\various_payment\card.php&lt;br /&gt;
htdocs\compta\cashcontrol\cashcontrol_card.php&lt;br /&gt;
htdocs\compta\deplacement\card.php&lt;br /&gt;
htdocs\compta\facture\card.php&lt;br /&gt;
htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php&lt;br /&gt;
htdocs\compta\localtax\card.php&lt;br /&gt;
htdocs\compta\paiement.php&lt;br /&gt;
htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\compta\salaries\card.php&lt;br /&gt;
htdocs\compta\tva\card.php&lt;br /&gt;
htdocs\contact\agenda.php&lt;br /&gt;
htdocs\contact\card.php&lt;br /&gt;
htdocs\contrat\card.php&lt;br /&gt;
htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php&lt;br /&gt;
htdocs\contrat\note.php&lt;br /&gt;
htdocs\comm\card.php&lt;br /&gt;
htdocs\comm\mailing\card.php&lt;br /&gt;
htdocs\don\card.php&lt;br /&gt;
htdocs\expedition\card.php&lt;br /&gt;
htdocs\expensereport\card.php&lt;br /&gt;
htdocs\fichinter\card.php&lt;br /&gt;
htdocs\fourn\card.php&lt;br /&gt;
htdocs\fourn\commande\card.php&lt;br /&gt;
htdocs\fourn\facture\card.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php&lt;br /&gt;
htdocs\livraison\card.php&lt;br /&gt;
htdocs\loan\card.php&lt;br /&gt;
htdocs\margin\tabs\thirdpartyMargins.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_card.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_document.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_note.php&lt;br /&gt;
htdocs\product\card.php&lt;br /&gt;
htdocs\product\fournisseurs.php&lt;br /&gt;
htdocs\product\price.php&lt;br /&gt;
htdocs\product\stock\card.php&lt;br /&gt;
htdocs\product\stock\product.php&lt;br /&gt;
htdocs\product\stock\productlot_card.php&lt;br /&gt;
htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php&lt;br /&gt;
htdocs\projet\contact.php&lt;br /&gt;
htdocs\projet\tasks\comment.php&lt;br /&gt;
htdocs\projet\tasks\task.php&lt;br /&gt;
htdocs\projet\tasks\time.php&lt;br /&gt;
htdocs\projet\tasks.php&lt;br /&gt;
htdocs\reception\card.php&lt;br /&gt;
htdocs\resource\card.php&lt;br /&gt;
htdocs\societe\card.php&lt;br /&gt;
htdocs\societe\contact.php&lt;br /&gt;
htdocs\societe\document.php&lt;br /&gt;
htdocs\societe\note.php&lt;br /&gt;
htdocs\societe\notify\card.php&lt;br /&gt;
htdocs\societe\paymentmodes.php&lt;br /&gt;
htdocs\societe\price.php&lt;br /&gt;
htdocs\societe\societecontact.php&lt;br /&gt;
htdocs\stripe\payment.php&lt;br /&gt;
htdocs\supplier_proposal\card.php&lt;br /&gt;
htdocs\ticket\card.php&lt;br /&gt;
htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\group\card.php&lt;br /&gt;
htdocs\user\group\perms.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| globallist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| groupcard&lt;br /&gt;
| htdocs\user\group\card.php&lt;br /&gt;
|-&lt;br /&gt;
| groupdao&lt;br /&gt;
| htdocs\user\class\usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
| groupperms&lt;br /&gt;
| htdocs\user\group\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| holidaylist&lt;br /&gt;
| htdocs\holiday\list.php &lt;br /&gt;
|-&lt;br /&gt;
| homesetup&lt;br /&gt;
| htdocs\admin\index.php &lt;br /&gt;
|-&lt;br /&gt;
| idprofurl&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| htdocs\index.php &lt;br /&gt;
|-&lt;br /&gt;
| interventioncard&lt;br /&gt;
| htdocs\fichinter\card.php &lt;br /&gt;
|-&lt;br /&gt;
| interventionlist&lt;br /&gt;
| htdocs\fichinter\list.php &lt;br /&gt;
|-&lt;br /&gt;
| intervnetiondao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| inventorycard&lt;br /&gt;
| htdocs\product\inventory\card.php &lt;br /&gt;
|-&lt;br /&gt;
| inventorylist&lt;br /&gt;
| htdocs\product\inventory\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicecard&lt;br /&gt;
| htdocs\compta\facture\card.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicedao&lt;br /&gt;
| htdocs\compta\facture\class\facture.class.php &lt;br /&gt;
|-&lt;br /&gt;
| invoiceindex&lt;br /&gt;
| htdocs\compta\index.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicelist&lt;br /&gt;
| htdocs\compta\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicereccard&lt;br /&gt;
| htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicesuppliercard&lt;br /&gt;
| htdocs\fourn\facture\card.php&lt;br /&gt;
|-&lt;br /&gt;
| leavemovementlist&lt;br /&gt;
| htdocs\holiday\view_log.php &lt;br /&gt;
|-&lt;br /&gt;
| leftblock&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| loancard&lt;br /&gt;
| htdocs\loan\card.php &lt;br /&gt;
|-&lt;br /&gt;
| localtaxvatcard&lt;br /&gt;
| htdocs\compta\localtax\card.php &lt;br /&gt;
|-&lt;br /&gt;
| login&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| logout&lt;br /&gt;
| htdocs\user\logout.php &lt;br /&gt;
|-&lt;br /&gt;
| mail&lt;br /&gt;
| htdocs\core\class\CMailFile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| mailingcard&lt;br /&gt;
| htdocs\comm\mailing\card.php &lt;br /&gt;
|-&lt;br /&gt;
| mailinglist&lt;br /&gt;
| htdocs\comm\mailing\list.php &lt;br /&gt;
|-&lt;br /&gt;
| main&lt;br /&gt;
| htdocs\core\lib\security.lib.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| mainloginpage&lt;br /&gt;
| htdocs\core\lib\security2.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| membercard&lt;br /&gt;
| htdocs\adherents\card.php &lt;br /&gt;
|-&lt;br /&gt;
| memberlist&lt;br /&gt;
| htdocs\adherents\list.php &lt;br /&gt;
|-&lt;br /&gt;
| membertypecard&lt;br /&gt;
| htdocs\adherents\type.php &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| membertypeldapcard&lt;br /&gt;
| htdocs\adherents\type_ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| movementlist&lt;br /&gt;
| htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\product\stock\movement_card.php&lt;br /&gt;
htdocs\product\stock\movement_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectagenda&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectcard&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_card.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
htdocs\modulebuilder\template\class\myobject.class.php&lt;br /&gt;
htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectdocument&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_document.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectlist&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectnote&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_note.php &lt;br /&gt;
|-&lt;br /&gt;
| notification&lt;br /&gt;
| htdocs\core\class\notify.class.php &lt;br /&gt;
|-&lt;br /&gt;
| odtgeneration&lt;br /&gt;
| htdocs\core\modules\user\doc\doc_generic_user_odt.modules.php&lt;br /&gt;
htdocs\core\modules\usergroup\doc\doc_generic_usergroup_odt.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\doc_generic_supplier_proposal_odt.modules.php &lt;br /&gt;
htdocs\core\modules\societe\doc\doc_generic_odt.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\doc_generic_stock_odt.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\doc_generic_invoice_odt.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\doc_generic_product_odt.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\doc_generic_project_odt.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\doc_generic_proposal_odt.modules.php&lt;br /&gt;
htdocs\core\modules\reception\doc\doc_generic_reception_odt.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\doc_generic_order_odt.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\doc_generic_contract_odt.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\doc_generic_shipment_odt.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| ordercard&lt;br /&gt;
| htdocs\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| orderdao&lt;br /&gt;
| htdocs\commande\class\commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
| orderlist&lt;br /&gt;
| htdocs\commande\list.php&lt;br /&gt;
htdocs\don\list.php &lt;br /&gt;
|-&lt;br /&gt;
| ordershipmentcard&lt;br /&gt;
| htdocs\expedition\shipment.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoice&lt;br /&gt;
| htdocs\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoicesupplier&lt;br /&gt;
| htdocs\fourn\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersuppliercard&lt;br /&gt;
| htdocs\fourn\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersupplierdispatch&lt;br /&gt;
| htdocs\fourn\commande\dispatch.php &lt;br /&gt;
|-&lt;br /&gt;
| paiementcard&lt;br /&gt;
| htdocs\stripe\payment.php&lt;br /&gt;
htdocs\compta\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| passwordforgottenpage&lt;br /&gt;
| htdocs\user\passwordforgotten.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentlist&lt;br /&gt;
| htdocs\compta\paiement\list.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentsupplierlist&lt;br /&gt;
| htdocs\fourn\facture\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| pdfgeneration&lt;br /&gt;
| htdocs\core\modules\action\rapport.pdf.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_ban.modules.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_sepamandate.modules.php&lt;br /&gt;
htdocs\core\modules\cheque\doc\pdf_blochet.class.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_einstein.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_eratosthene.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\pdf_strato.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_espadon.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_merou.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_rouget.modules.php&lt;br /&gt;
htdocs\core\modules\expensereport\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_crabe.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_sponge.modules.php&lt;br /&gt;
htdocs\core\modules\fichinter\doc\pdf_soleil.modules.php&lt;br /&gt;
htdocs\core\modules\livraison\doc\pdf_typhon.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_baleine.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_beluga.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_timespent.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_azur.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_cyan.modules.php&lt;br /&gt;
htdocs\core\modules\rapport\pdf_paiement.class.php&lt;br /&gt;
htdocs\core\modules\reception\doc\pdf_squille.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_invoice\pdf\pdf_canelle.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_cornas.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_muscadet.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_payment\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\pdf_aurore.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| pricesuppliercard&lt;br /&gt;
| htdocs\product\fournisseurs.php &lt;br /&gt;
|-&lt;br /&gt;
| product_lotlist&lt;br /&gt;
| htdocs\product\stock\productlot_list.php &lt;br /&gt;
|-&lt;br /&gt;
| productcard&lt;br /&gt;
| htdocs\product\card.php &lt;br /&gt;
|-&lt;br /&gt;
| productdao&lt;br /&gt;
| htdocs\product\class\product.class.php&lt;br /&gt;
|-&lt;br /&gt;
| productdocuments&lt;br /&gt;
| htdocs\product\document.php &lt;br /&gt;
|-&lt;br /&gt;
| productindex&lt;br /&gt;
| htdocs\product\index.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotcard&lt;br /&gt;
| htdocs\product\stock\productlot_card.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotdocuments&lt;br /&gt;
| htdocs\product\stock\productlot_document.php &lt;br /&gt;
|-&lt;br /&gt;
| productpricecard&lt;br /&gt;
| htdocs\product\price.php &lt;br /&gt;
|-&lt;br /&gt;
| productservicelist&lt;br /&gt;
| htdocs\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatscontract&lt;br /&gt;
| htdocs\product\stats\contrat.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatsinvoice&lt;br /&gt;
| htdocs\product\stats\facture.php&lt;br /&gt;
|-&lt;br /&gt;
| productstatsorder&lt;br /&gt;
| htdocs\product\stats\commande.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatspropal&lt;br /&gt;
| htdocs\product\stats\propal.php&lt;br /&gt;
htdocs\product\stats\supplier_proposal.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyinvoice&lt;br /&gt;
| htdocs\product\stats\facture_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyorder&lt;br /&gt;
| htdocs\product\stats\commande_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcard&lt;br /&gt;
| htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcontactcard&lt;br /&gt;
| htdocs\projet\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| projectdao&lt;br /&gt;
| htdocs\projet\class\project.class.php &lt;br /&gt;
|-&lt;br /&gt;
| projectlist&lt;br /&gt;
| htdocs\projet\list.php &lt;br /&gt;
|-&lt;br /&gt;
| projectOverview&lt;br /&gt;
| htdocs\projet\element.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcard&lt;br /&gt;
| htdocs\projet\tasks\task.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcommentcard&lt;br /&gt;
| htdocs\projet\tasks\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskscard&lt;br /&gt;
| htdocs\projet\tasks.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttasktime&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| projectthirdparty&lt;br /&gt;
| htdocs\societe\project.php&lt;br /&gt;
|-&lt;br /&gt;
| projectticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| propalcard&lt;br /&gt;
| htdocs\comm\propal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| propallist&lt;br /&gt;
| htdocs\comm\propal\list.php&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| purchasesjournal&lt;br /&gt;
| htdocs\accountancy\journal\purchasesjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| recapcomptacard&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
|-&lt;br /&gt;
| receptioncard&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
|-&lt;br /&gt;
| receptiondao&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
htdocs\reception\class\reception.class.php &lt;br /&gt;
|-&lt;br /&gt;
| receptionlist&lt;br /&gt;
| htdocs\reception\list.php &lt;br /&gt;
|-&lt;br /&gt;
| resource&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resource_card&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resourcelist&lt;br /&gt;
| htdocs\resource\list.php &lt;br /&gt;
|-&lt;br /&gt;
| salarycard&lt;br /&gt;
| htdocs\compta\salaries\card.php &lt;br /&gt;
|-&lt;br /&gt;
| salarypayment&lt;br /&gt;
| htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
| searchform&lt;br /&gt;
| htdocs\core\ajax\selectsearchbox.php&lt;br /&gt;
htdocs\core\search_page.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| sellsjournal&lt;br /&gt;
| htdocs\accountancy\journal\sellsjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| shipmentlist&lt;br /&gt;
| htdocs\expedition\list.php &lt;br /&gt;
|-&lt;br /&gt;
| stockproductcard&lt;br /&gt;
| htdocs\product\stock\product.php &lt;br /&gt;
|-&lt;br /&gt;
| stockreplenishlist&lt;br /&gt;
| htdocs\product\stock\replenish.php &lt;br /&gt;
|-&lt;br /&gt;
| subscription&lt;br /&gt;
| htdocs\adherents\subscription.php &lt;br /&gt;
|-&lt;br /&gt;
| subscriptionlist&lt;br /&gt;
| htdocs\adherents\subscription\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposalcard&lt;br /&gt;
| htdocs\supplier_proposal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposallist&lt;br /&gt;
| htdocs\supplier_proposal\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierbalencelist&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php &lt;br /&gt;
|-&lt;br /&gt;
| suppliercard&lt;br /&gt;
| htdocs\fourn\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierinvoicelist&lt;br /&gt;
| htdocs\fourn\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierorderlist&lt;br /&gt;
| htdocs\fourn\commande\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierpricelist&lt;br /&gt;
| htdocs\fourn\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| surveylist&lt;br /&gt;
| htdocs\opensurvey\list.php &lt;br /&gt;
|-&lt;br /&gt;
| takeposfrontend&lt;br /&gt;
| htdocs\takepos\takepos.php &lt;br /&gt;
|-&lt;br /&gt;
| tasklist&lt;br /&gt;
| htdocs\projet\tasks\list.php &lt;br /&gt;
|-&lt;br /&gt;
| tasktimelist&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| taxvatcard&lt;br /&gt;
| htdocs\compta\tva\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartybancard&lt;br /&gt;
| htdocs\societe\paymentmodes.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycard&lt;br /&gt;
| htdocs\core\tpl\advtarget.tpl.php&lt;br /&gt;
htdocs\societe\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycomm&lt;br /&gt;
| htdocs\comm\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycontact&lt;br /&gt;
| htdocs\societe\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycustomerprice&lt;br /&gt;
| htdocs\societe\price.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydao&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydocument&lt;br /&gt;
| htdocs\societe\document.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartylist&lt;br /&gt;
| htdocs\societe\list.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartymargins&lt;br /&gt;
| htdocs\margin\tabs\thirdpartyMargins.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynote&lt;br /&gt;
| htdocs\societe\note.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynotification&lt;br /&gt;
| htdocs\societe\notify\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartyticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| ticketcard&lt;br /&gt;
| htdocs\ticket\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ticketlist&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| timesheetperdaycard&lt;br /&gt;
| htdocs\projet\activity\perday.php &lt;br /&gt;
|-&lt;br /&gt;
| timesheetperweekcard&lt;br /&gt;
| htdocs\projet\activity\perweek.php &lt;br /&gt;
|-&lt;br /&gt;
| toprightmenu&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| tripsandexpensescard&lt;br /&gt;
| htdocs\compta\deplacement\card.php &lt;br /&gt;
|-&lt;br /&gt;
| upgrade&lt;br /&gt;
| htdocs\install\upgrade2.php &lt;br /&gt;
|-&lt;br /&gt;
| useragenda&lt;br /&gt;
| htdocs\user\agenda_extsites.php &lt;br /&gt;
|-&lt;br /&gt;
| usercard&lt;br /&gt;
| htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| userdao&lt;br /&gt;
| htdocs\user\class\user.class.php&lt;br /&gt;
|-&lt;br /&gt;
| userdoc&lt;br /&gt;
| htdocs\user\document.php &lt;br /&gt;
|-&lt;br /&gt;
| userhome&lt;br /&gt;
| htdocs\user\home.php&lt;br /&gt;
|-&lt;br /&gt;
| userihm&lt;br /&gt;
| htdocs\user\param_ihm.php &lt;br /&gt;
|-&lt;br /&gt;
| userldap&lt;br /&gt;
| htdocs\user\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| userlist&lt;br /&gt;
| htdocs\user\list.php&lt;br /&gt;
|-&lt;br /&gt;
| usernote&lt;br /&gt;
| htdocs\user\note.php &lt;br /&gt;
|-&lt;br /&gt;
| userperms&lt;br /&gt;
| htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| variouscard&lt;br /&gt;
| htdocs\compta\bank\various_payment\card.php &lt;br /&gt;
|-&lt;br /&gt;
| variouspayment&lt;br /&gt;
| htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
|-&lt;br /&gt;
| warehousecard&lt;br /&gt;
| htdocs\product\stock\card.php &lt;br /&gt;
|-&lt;br /&gt;
| website&lt;br /&gt;
| htdocs\admin\website.php &lt;br /&gt;
|-&lt;br /&gt;
| websiteaccountcard&lt;br /&gt;
| htdocs\website\websiteaccount_card.php &lt;br /&gt;
|-&lt;br /&gt;
| websitethirdpartylist&lt;br /&gt;
| htdocs\societe\website.php &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
= Voir aussi =&lt;br /&gt;
* [[Triggers]]&lt;br /&gt;
* [[Interfaces Dolibarr toward foreign systems]]&lt;br /&gt;
* [[Interfaces from foreign systems toward Dolibarr]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41590</id>
		<title>Système de Hooks</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=41590"/>
		<updated>2019-06-12T12:02:36Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Liste des Contexts disponibles dans Dolibarr */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Les Hooks sont une fonctionnalité pour les développeurs, disponible à partir de Dolibarr 3.2, leur permettant d&#039;ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier les fichiers du coeur de Dolibarr. Contrairement aux [[triggers]] (autre manière d&#039;interagir avec le code de Dolibarr) qui sont liés aux événements de Dolibarr, les Hooks peuvent s&#039;exécuter n&#039;importe ou et à n&#039;importe quel moment dès lors qu&#039;ils ont été prévu dans le core de Dolibarr. Ce sont des points d&#039;insertion dans le programme.&lt;br /&gt;
* Les Hooks sont actifs ou pas selon un contexte (souvent un contexte par module : par exemple &amp;quot;productcard&amp;quot; pour les produits, &amp;quot;invoicecard&amp;quot; pour les factures...). Pour trouver les Hooks existants faites une recherche pour &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot;&lt;br /&gt;
* Les Hooks sont des fonctions qui s&#039;insèrent dans ou remplacent le code standard. Pour rechercher le code qu&#039;il est possible de surcharger faites une recherche pour &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
= Ajouter un hook pour permettre l&#039;insertion de code =&lt;br /&gt;
Pour implémenter un hook dans votre propre module (afin que votre module puisse être &amp;quot;hooké&amp;quot; par d&#039;autres), vous devrez procéder à 2 étapes.&lt;br /&gt;
&lt;br /&gt;
Ces étapes doivent êtres reproduites pour chaque script php de votre module où vous voulez implémenter des hooks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
1- Initialiser l&#039;object HookManager (placez ce bout de code au début de votre script php, juste après ou avant les includes):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
// Initialize technical object to manage hooks of thirdparties. Note that conf-&amp;gt;hooks_modules contains array array&lt;br /&gt;
include_once(DOL_DOCUMENT_ROOT.&#039;/core/class/hookmanager.class.php&#039;);&lt;br /&gt;
$hookmanager=new HookManager($db);&lt;br /&gt;
$hookmanager-&amp;gt;initHooks(array(&#039;context&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
$hookmanager-&amp;gt;initHooks() accepte 1 paramètre (un array de contextes) et active la prise en charge des hooks pour ce script:&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;context&#039;&#039;&#039;&#039; est la chaine qui contient le contexte d&#039;exécution. C&#039;est un simple indicateur qui peut être utilisé par les fonctions de hook pour détecter dans quel cas elles sont appelées (plusieurs pages/modules peuvent appeler le même hook à différent endroit, et une fonction de hook peut ne vouloir s&#039;exécuter que pour un contexte donné et pas les autres).&lt;br /&gt;
&lt;br /&gt;
Note: Vous pouvez positionner plusieurs contextes en même temps (par exemple si vous avez besoin d&#039;avoir un context commun à plusieurs pages mais que vous voulez aussi un context propre à une page donnée).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2- Placer ensuite l&#039;appel des hooks la où permettre l&#039;ajout de code:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array();&lt;br /&gt;
$reshook=$hookmanager-&amp;gt;executeHooks(&#039;hookname&#039;,$parameters,$object,$action); // See description below&lt;br /&gt;
// Note that $action and $object may have been modified by hook&lt;br /&gt;
if (empty($reshook))&lt;br /&gt;
{&lt;br /&gt;
   ... // standard code that can be disabled/replaced by hook if return code &amp;gt; 0.&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;$hookmanager-&amp;gt;executeHooks()&#039;&#039;&#039; accepte 4 paramètres et ajoute un hook (qui est un point d&#039;entrée dans votre script pour des fonctions externes à votre script et module):&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;&#039;hookname&#039;&#039;&#039;&#039; est le nom de la méthode qui sera appelée. Par exemple: &#039;formObjectOptions&#039;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau personnalisé pour transmettre plus de données personnalisées au hook (la fonction dans le hook peut traiter ces données). Placez ici ce que vous voulez, ce peut être un fichier, un tableau de chaînes de caractères, n&#039;importe quoi... Par exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$parameters=array(&#039;file&#039;=&amp;gt;&#039;my/path/to/a/file&#039;, &#039;customnames&#039;=&amp;gt;array(&#039;henry&#039;,&#039;david&#039;,&#039;john&#039;));&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet que vous voulez passer à la fonction du hook, certainement les données du module courant (ex: l&#039;objet facture si on est dans un module de facture, etc..). Ce peut être ce que vous voulez, mais souvenez vous qu&#039;il sera le principal composant utilisé par les fonctions du hook.&lt;br /&gt;
&lt;br /&gt;
- &#039;&#039;&#039;$action&#039;&#039;&#039; est une chaîne indiquant l&#039;action courante (peut être null ou quelque chose qui ressemble à &#039;create&#039; ou &#039;edit&#039;).&lt;br /&gt;
&lt;br /&gt;
Note: Vous devrez refaire cette étape plusieurs fois si vous voulez ajouter plusieurs hooks à différent endroits de votre script.&lt;br /&gt;
&lt;br /&gt;
Maintenant votre module devrait pouvoir être hooké, vous pouvez suivre la procédure ci-dessous dans &#039;&#039;&#039;Implémenter un hook&#039;&#039;&#039; pour implémenter une fonction hook qui en prendra avantage (permet aussi de tester que cela fonctionne).&lt;br /&gt;
&lt;br /&gt;
= Implémenter un Hook =&lt;br /&gt;
Pour utiliser un Hook (donc ajouter ou surcharger une partie de code), vous devez d&#039;abord avoir défini un descripteur de module (voir [[Développement_module#Créer_un_descripteur_de_Module_(obligatoire)]] pour cela). Ensuite vous devez suivre les étapes suivantes :&lt;br /&gt;
&lt;br /&gt;
1. Ajouter votre module au contexte où le hook doit s&#039;exécuter. &lt;br /&gt;
Ce qui veut dire que lorsqu&#039;on se trouve dans le contexte donné, votre code sera appelé. &lt;br /&gt;
Pour cela, éditer le descripteur de votre module (&#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/core/modules/mod&#039;&#039;YourModuleName&#039;&#039;.class.php&#039;&#039;&#039;) et renseignez la variable &#039;&#039;&#039;$this-&amp;gt;module_parts&#039;&#039;&#039; comme sur l&#039;exemple :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$this-&amp;gt;module_parts = array(&lt;br /&gt;
&#039;hooks&#039; =&amp;gt; array(&#039;hookcontext1&#039;,&#039;hookcontext2&#039;)  // Set here all hooks context you want to support&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Note: il est possible de trouver le contexte d&#039;un module en rajoutant &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
print(&#039;Module context: &#039;.$object-&amp;gt;context);&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
(rajoutez ce bout de code dans le fichier php où réside l&#039;appel des hooks, et supprimez le, une fois la valeur du context relevée).&lt;br /&gt;
&lt;br /&gt;
[[File:warning.png]] Attention: N&#039;oubliez pas de désactiver puis de réactiver votre module dans l&#039;interface d&#039;administration des modules afin que la modification soit prise en compte car la sauvegarde des couples &amp;quot;modules-hooks&amp;quot; qui doit être gérée est faite en base, laquelle n&#039;est mise à jour qu&#039;au moment de l&#039;activation du module.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2. Pour remplacer une fonction existante par la votre (surcharge)&lt;br /&gt;
&lt;br /&gt;
Créez &#039;&#039;&#039;/htdocs/&#039;&#039;yourmodulename&#039;&#039;/class/actions_&#039;&#039;yourmodulename&#039;&#039;.class.php&#039;&#039;&#039; dans votre module avec un code qui contient la méthode appelée par le hook (le nom de cette méthode se voit au moment de l&#039;appel executeHooks). Voici un exemple:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
class ActionsYourModuleName &lt;br /&gt;
{ &lt;br /&gt;
	/**&lt;br /&gt;
	 * Overloading the doActions function : replacing the parent&#039;s function with the one below&lt;br /&gt;
	 *&lt;br /&gt;
	 * @param   array()         $parameters     Hook metadatas (context, etc...)&lt;br /&gt;
	 * @param   CommonObject    &amp;amp;$object        The object to process (an invoice if you are in invoice module, a propale in propale&#039;s module, etc...)&lt;br /&gt;
	 * @param   string          &amp;amp;$action        Current action (if set). Generally create or edit or null&lt;br /&gt;
	 * @param   HookManager     $hookmanager    Hook manager propagated to allow calling another hook&lt;br /&gt;
	 * @return  int                             &amp;lt; 0 on error, 0 on success, 1 to replace standard code&lt;br /&gt;
	 */&lt;br /&gt;
	function doActions($parameters, &amp;amp;$object, &amp;amp;$action, $hookmanager)&lt;br /&gt;
	{&lt;br /&gt;
		$error = 0; // Error counter&lt;br /&gt;
		$myvalue = &#039;test&#039;; // A result value&lt;br /&gt;
&lt;br /&gt;
		print_r($parameters);&lt;br /&gt;
		echo &amp;quot;action: &amp;quot; . $action;&lt;br /&gt;
		print_r($object);&lt;br /&gt;
&lt;br /&gt;
		if (in_array(&#039;somecontext&#039;, explode(&#039;:&#039;, $parameters[&#039;context&#039;])))&lt;br /&gt;
		{&lt;br /&gt;
		  // do something only for the context &#039;somecontext&#039;&lt;br /&gt;
		}&lt;br /&gt;
&lt;br /&gt;
		if (! $error)&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;results = array(&#039;myreturn&#039; =&amp;gt; $myvalue);&lt;br /&gt;
			$this-&amp;gt;resprints = &#039;A text to show&#039;;&lt;br /&gt;
			return 0; // or return 1 to replace standard code&lt;br /&gt;
		}&lt;br /&gt;
		else&lt;br /&gt;
		{&lt;br /&gt;
			$this-&amp;gt;errors[] = &#039;Error message&#039;;&lt;br /&gt;
			return -1;&lt;br /&gt;
		}&lt;br /&gt;
	}&lt;br /&gt;
} &lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
La méthode sera alors automatiquement appelée au moment de l&#039;appel du code qui contient le executeHooks fournissant à votre code les éléments $parameters, $object et $action.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Avec&#039;&#039;&#039;:&lt;br /&gt;
* &#039;&#039;&#039;$parameters&#039;&#039;&#039; est un tableau (array) de meta-data regroupant les données du hook (son contexte accessible par $parameters[&#039;context&#039;] mais d&#039;autres information peuvent etre disponible selon le cas)&lt;br /&gt;
* &#039;&#039;&#039;$object&#039;&#039;&#039; est l&#039;objet sur lequel vous désirez travailler (par exemple : product pour le contexte productcard) &lt;br /&gt;
* &#039;&#039;&#039;$action&#039;&#039;&#039; désigne l&#039;action à exécuter (par exemple &amp;quot;create&amp;quot;, &amp;quot;edit&amp;quot; or &amp;quot;view&amp;quot;).&lt;br /&gt;
* &#039;&#039;&#039;$hookmanager&#039;&#039;&#039; n&#039;est propagé que pour permettre à votre hook d&#039;appeler d&#039;autres hooks.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retours&#039;&#039;&#039;:&lt;br /&gt;
* Le code retour d&#039;un hook doit 0 ou 1 en cas de succès, négatif en cas d&#039;erreur. En général, il sera 0. Il peut être 1, ce qui dans certains cas signifie que ce que fait votre hook remplace complètement ce que devait faire Dolibarr juste après l&#039;appel du hook. Si le code est négatif, il est possible de fournir un message d&#039;erreur à l&#039;utilisateur en positionnant $this-&amp;gt;errors[]=&#039;Message erreur&#039;&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;results avec un tableau, alors le tableau $hookmanager-&amp;gt;resArray sera automatiquement enrichi avec le contenu de ce tableau, lequel pourra être réutilisé plus tard.&lt;br /&gt;
* Si la méthode positionne la propriété $this-&amp;gt;resprints avec une chaîne, alors cette chaîne sera affiché par le gestionnaire de hook (executeHook), tout de suite à la sortie de votre méthode.&lt;br /&gt;
* Votre hook peut de plus modifier les valeurs de $object et $action.&lt;br /&gt;
&lt;br /&gt;
= Liste des Hooks disponibles dans Dolibarr =&lt;br /&gt;
Trouver les hooks disponibles dans Dolibarr ? &lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;executeHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement toutes les fonctions déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
En voici une liste (non complète):&lt;br /&gt;
{{ListOfHooks}}&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
= Liste des Contexts disponibles dans Dolibarr =&lt;br /&gt;
Pour trouver les contextes disponibles dans Dolibarr, la procédure est similaire aux hooks.&lt;br /&gt;
Faites une recherche sur  &amp;quot;&#039;&#039;&#039;initHooks(&#039;&#039;&#039;&amp;quot; dans le code source et vous trouverez facilement tous les contextes déjà implémentées.&lt;br /&gt;
&lt;br /&gt;
En voici une liste (non complète):&lt;br /&gt;
{{ListOfContexts}}&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste peut changer à tout moment dans le futur au fur et à mesure que les hooks et contextes soient implémentés dans Dolibarr, donc si vous voulez vraiment savoir si un hook ou contexte spécifique existe, veuillez chercher directement dans le code source avec la méthode indiquée ci-dessus.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Hook&lt;br /&gt;
! Context&lt;br /&gt;
|-&lt;br /&gt;
| accountancycustomerlist&lt;br /&gt;
| htdocs\accountancy\customer\list.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancyindex&lt;br /&gt;
| htdocs\accountancy\index.php &lt;br /&gt;
|-&lt;br /&gt;
| accountancysupplierlist&lt;br /&gt;
| htdocs\accountancy\supplier\list.php &lt;br /&gt;
|-&lt;br /&gt;
| actioncard&lt;br /&gt;
| htdocs\comm\action\card.php&lt;br /&gt;
|-&lt;br /&gt;
| actiondao&lt;br /&gt;
| htdocs\comm\action\class\actioncomm.class.php&lt;br /&gt;
|-&lt;br /&gt;
| admin&lt;br /&gt;
| htdocs\accountancy\admin\accountmodel.php &lt;br /&gt;
htdocs\accountancy\admin\categories_list.php &lt;br /&gt;
htdocs\accountancy\admin\journals_list.php &lt;br /&gt;
htdocs\admin\dict.php &lt;br /&gt;
htdocs\admin\website_options.php &lt;br /&gt;
|-&lt;br /&gt;
| admincompany&lt;br /&gt;
| htdocs\admin\company.php &lt;br /&gt;
|-&lt;br /&gt;
| admindefaultvalues&lt;br /&gt;
| htdocs\admin\defaultvalues.php &lt;br /&gt;
|-&lt;br /&gt;
| adminldap&lt;br /&gt;
| htdocs\admin\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| adminmodules&lt;br /&gt;
| htdocs\admin\modules.php &lt;br /&gt;
|-&lt;br /&gt;
| admintranslation&lt;br /&gt;
| htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| agenda&lt;br /&gt;
| htdocs\comm\action\index.php&lt;br /&gt;
htdocs\comm\action\pertype.php&lt;br /&gt;
htdocs\comm\action\peruser.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaexport&lt;br /&gt;
| htdocs\public\agenda\agendaexport.php &lt;br /&gt;
|-&lt;br /&gt;
| agendalist&lt;br /&gt;
| htdocs\comm\action\list.php &lt;br /&gt;
|-&lt;br /&gt;
| agendaresource&lt;br /&gt;
| htdocs\resource\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| agendathirdparty&lt;br /&gt;
| htdocs\societe\agenda.php&lt;br /&gt;
htdocs\product\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| assetcard&lt;br /&gt;
| htdocs\asset\card.php &lt;br /&gt;
|-&lt;br /&gt;
| assetdocument&lt;br /&gt;
| htdocs\asset\document.php &lt;br /&gt;
|-&lt;br /&gt;
| assetlist&lt;br /&gt;
| htdocs\asset\list.php&lt;br /&gt;
|-&lt;br /&gt;
| assetnote&lt;br /&gt;
| htdocs\asset\note.php &lt;br /&gt;
|-&lt;br /&gt;
| assettypecard&lt;br /&gt;
| htdocs\asset\type.php &lt;br /&gt;
|-&lt;br /&gt;
| bankaccountlist&lt;br /&gt;
| htdocs\compta\bank\list.php &lt;br /&gt;
|-&lt;br /&gt;
| bankcard&lt;br /&gt;
| htdocs\compta\bank\card.php &lt;br /&gt;
|-&lt;br /&gt;
| banktransactionlist&lt;br /&gt;
| htdocs\compta\bank\bankentries_list.php &lt;br /&gt;
|-&lt;br /&gt;
| banktreso&lt;br /&gt;
| htdocs\compta\bank\treso.php &lt;br /&gt;
|-&lt;br /&gt;
| bomagenda&lt;br /&gt;
| htdocs\bom\bom_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| bomcard&lt;br /&gt;
| htdocs\bom\bom_card.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomdocument&lt;br /&gt;
| htdocs\bom\bom_document.php &lt;br /&gt;
|-&lt;br /&gt;
| bomlinedao&lt;br /&gt;
| htdocs\bom\class\bom.class.php&lt;br /&gt;
|-&lt;br /&gt;
| bomlist&lt;br /&gt;
| htdocs\bom\bom_list.php&lt;br /&gt;
|-&lt;br /&gt;
| bomnote&lt;br /&gt;
| htdocs\bom\bom_note.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrol&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cashcontrolcard&lt;br /&gt;
| htdocs\compta\cashcontrol\cashcontrol_card.php &lt;br /&gt;
|-&lt;br /&gt;
| cashdeskloginpage&lt;br /&gt;
| htdocs\cashdesk\index.php&lt;br /&gt;
|-&lt;br /&gt;
| cashdeskTplTicket&lt;br /&gt;
| htdocs\cashdesk\validation_ticket.php &lt;br /&gt;
|-&lt;br /&gt;
| cashfencedao&lt;br /&gt;
| htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
|-&lt;br /&gt;
| categorycard&lt;br /&gt;
| htdocs\categories\card.php&lt;br /&gt;
htdocs\categories\edit.php&lt;br /&gt;
htdocs\categories\viewcat.php &lt;br /&gt;
|-&lt;br /&gt;
| commandefournisseurdispatchdao&lt;br /&gt;
| htdocs\fourn\class\fournisseur.commande.dispatch.class.php&lt;br /&gt;
|-&lt;br /&gt;
| commonobject&lt;br /&gt;
| htdocs\core\class\html.form.class.php&lt;br /&gt;
|-&lt;br /&gt;
| comptafileslist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptioncontact&lt;br /&gt;
| htdocs\contact\consumption.php &lt;br /&gt;
|-&lt;br /&gt;
| consumptionthirdparty&lt;br /&gt;
| htdocs\societe\consumption.php&lt;br /&gt;
|-&lt;br /&gt;
| contactagenda&lt;br /&gt;
| htdocs\contact\agenda.php &lt;br /&gt;
|-&lt;br /&gt;
| contactcard&lt;br /&gt;
| htdocs\contact\card.php &lt;br /&gt;
|-&lt;br /&gt;
| contactdao&lt;br /&gt;
| htdocs\contact\class\contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
| contactlist&lt;br /&gt;
| htdocs\contact\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contactthirdparty&lt;br /&gt;
| htdocs\societe\societecontact.php &lt;br /&gt;
|-&lt;br /&gt;
| contacttpl&lt;br /&gt;
| htdocs\core\tpl\contacts.tpl.php&lt;br /&gt;
htdocs\projet\tasks\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| contractcard&lt;br /&gt;
| htdocs\contrat\card.php htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php htdocs\contrat\note.php &lt;br /&gt;
|-&lt;br /&gt;
| contractlist&lt;br /&gt;
| htdocs\contrat\list.php &lt;br /&gt;
|-&lt;br /&gt;
| contractservicelist&lt;br /&gt;
| htdocs\contrat\services_list.php &lt;br /&gt;
|-&lt;br /&gt;
| cron&lt;br /&gt;
| htdocs\cron\class\cronjob.class.php &lt;br /&gt;
|-&lt;br /&gt;
| cronjoblist&lt;br /&gt;
| htdocs\cron\list.php &lt;br /&gt;
|-&lt;br /&gt;
| defineholidaylist&lt;br /&gt;
| htdocs\holiday\define_holiday.php &lt;br /&gt;
|-&lt;br /&gt;
| deliverycard&lt;br /&gt;
| htdocs\livraison\card.php &lt;br /&gt;
|-&lt;br /&gt;
| doncard&lt;br /&gt;
| htdocs\don\card.php&lt;br /&gt;
|-&lt;br /&gt;
| element_resource&lt;br /&gt;
| htdocs\resource\element_resource.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectoractiondao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectoraction.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorcard&lt;br /&gt;
| htdocs\admin\emailcollector_card.php &lt;br /&gt;
|-&lt;br /&gt;
| emailcollectordao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorfilterdao&lt;br /&gt;
| htdocs\emailcollector\class\emailcollectorfilter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailcollectorlist&lt;br /&gt;
| htdocs\admin\emailcollector_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailingdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
|-&lt;br /&gt;
| emailsenderprofilelist&lt;br /&gt;
| htdocs\admin\mails_senderprofile_list.php &lt;br /&gt;
|-&lt;br /&gt;
| emailtemplates&lt;br /&gt;
| htdocs\admin\mails_templates.php &lt;br /&gt;
|-&lt;br /&gt;
| expeditioncard&lt;br /&gt;
| htdocs\expedition\card.php&lt;br /&gt;
|-&lt;br /&gt;
| expensereportcard&lt;br /&gt;
| htdocs\expensereport\card.php &lt;br /&gt;
|-&lt;br /&gt;
| expensereportlist&lt;br /&gt;
| htdocs\expensereport\list.php&lt;br /&gt;
|-&lt;br /&gt;
| externalbalance&lt;br /&gt;
| htdocs\compta\localtax\clients.php&lt;br /&gt;
htdocs\compta\localtax\index.php&lt;br /&gt;
htdocs\compta\resultat\clientfourn.php&lt;br /&gt;
htdocs\compta\resultat\index.php&lt;br /&gt;
htdocs\compta\tva\clients.php&lt;br /&gt;
htdocs\compta\tva\index.php&lt;br /&gt;
htdocs\compta\tva\quadri_detail.php &lt;br /&gt;
|-&lt;br /&gt;
| fichinterdao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| fileslib&lt;br /&gt;
| htdocs\core\lib\files.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| formfile&lt;br /&gt;
| htdocs\core\class\html.formfile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| formmail&lt;br /&gt;
| htdocs\core\class\html.formmail.class.php &lt;br /&gt;
|-&lt;br /&gt;
| globaladmin&lt;br /&gt;
| htdocs\admin\company.php&lt;br /&gt;
htdocs\admin\defaultvalues.php&lt;br /&gt;
htdocs\admin\ldap.php&lt;br /&gt;
htdocs\admin\modules.php&lt;br /&gt;
htdocs\admin\translation.php&lt;br /&gt;
|-&lt;br /&gt;
| globalcard&lt;br /&gt;
| htdocs\adherents\card.php&lt;br /&gt;
htdocs\categories\viewcat.php&lt;br /&gt;
htdocs\comm\action\card.php&lt;br /&gt;
htdocs\asset\type.php&lt;br /&gt;
htdocs\bom\bom_agenda.php&lt;br /&gt;
htdocs\bom\bom_card.php&lt;br /&gt;
htdocs\bom\bom_document.php&lt;br /&gt;
htdocs\bom\bom_note.php&lt;br /&gt;
htdocs\adherents\type.php&lt;br /&gt;
htdocs\adherents\type_ldap.php&lt;br /&gt;
htdocs\comm\propal\card.php&lt;br /&gt;
htdocs\commande\card.php&lt;br /&gt;
htdocs\compta\bank\card.php&lt;br /&gt;
htdocs\compta\bank\treso.php&lt;br /&gt;
htdocs\compta\bank\various_payment\card.php&lt;br /&gt;
htdocs\compta\cashcontrol\cashcontrol_card.php&lt;br /&gt;
htdocs\compta\deplacement\card.php&lt;br /&gt;
htdocs\compta\facture\card.php&lt;br /&gt;
htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php&lt;br /&gt;
htdocs\compta\localtax\card.php&lt;br /&gt;
htdocs\compta\paiement.php&lt;br /&gt;
htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\compta\salaries\card.php&lt;br /&gt;
htdocs\compta\tva\card.php&lt;br /&gt;
htdocs\contact\agenda.php&lt;br /&gt;
htdocs\contact\card.php&lt;br /&gt;
htdocs\contrat\card.php&lt;br /&gt;
htdocs\contrat\contact.php&lt;br /&gt;
htdocs\contrat\document.php&lt;br /&gt;
htdocs\contrat\info.php&lt;br /&gt;
htdocs\contrat\note.php&lt;br /&gt;
htdocs\comm\card.php&lt;br /&gt;
htdocs\comm\mailing\card.php&lt;br /&gt;
htdocs\don\card.php&lt;br /&gt;
htdocs\expedition\card.php&lt;br /&gt;
htdocs\expensereport\card.php&lt;br /&gt;
htdocs\fichinter\card.php&lt;br /&gt;
htdocs\fourn\card.php&lt;br /&gt;
htdocs\fourn\commande\card.php&lt;br /&gt;
htdocs\fourn\facture\card.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php&lt;br /&gt;
htdocs\livraison\card.php&lt;br /&gt;
htdocs\loan\card.php&lt;br /&gt;
htdocs\margin\tabs\thirdpartyMargins.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_card.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_document.php&lt;br /&gt;
htdocs\modulebuilder\template\myobject_note.php&lt;br /&gt;
htdocs\product\card.php&lt;br /&gt;
htdocs\product\fournisseurs.php&lt;br /&gt;
htdocs\product\price.php&lt;br /&gt;
htdocs\product\stock\card.php&lt;br /&gt;
htdocs\product\stock\product.php&lt;br /&gt;
htdocs\product\stock\productlot_card.php&lt;br /&gt;
htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php&lt;br /&gt;
htdocs\projet\contact.php&lt;br /&gt;
htdocs\projet\tasks\comment.php&lt;br /&gt;
htdocs\projet\tasks\task.php&lt;br /&gt;
htdocs\projet\tasks\time.php&lt;br /&gt;
htdocs\projet\tasks.php&lt;br /&gt;
htdocs\reception\card.php&lt;br /&gt;
htdocs\resource\card.php&lt;br /&gt;
htdocs\societe\card.php&lt;br /&gt;
htdocs\societe\contact.php&lt;br /&gt;
htdocs\societe\document.php&lt;br /&gt;
htdocs\societe\note.php&lt;br /&gt;
htdocs\societe\notify\card.php&lt;br /&gt;
htdocs\societe\paymentmodes.php&lt;br /&gt;
htdocs\societe\price.php&lt;br /&gt;
htdocs\societe\societecontact.php&lt;br /&gt;
htdocs\stripe\payment.php&lt;br /&gt;
htdocs\supplier_proposal\card.php&lt;br /&gt;
htdocs\ticket\card.php&lt;br /&gt;
htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\group\card.php&lt;br /&gt;
htdocs\user\group\perms.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| globallist&lt;br /&gt;
| htdocs\compta\compta-files.php &lt;br /&gt;
|-&lt;br /&gt;
| groupcard&lt;br /&gt;
| htdocs\user\group\card.php&lt;br /&gt;
|-&lt;br /&gt;
| groupdao&lt;br /&gt;
| htdocs\user\class\usergroup.class.php&lt;br /&gt;
|-&lt;br /&gt;
| groupperms&lt;br /&gt;
| htdocs\user\group\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| holidaylist&lt;br /&gt;
| htdocs\holiday\list.php &lt;br /&gt;
|-&lt;br /&gt;
| homesetup&lt;br /&gt;
| htdocs\admin\index.php &lt;br /&gt;
|-&lt;br /&gt;
| idprofurl&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| index&lt;br /&gt;
| htdocs\index.php &lt;br /&gt;
|-&lt;br /&gt;
| interventioncard&lt;br /&gt;
| htdocs\fichinter\card.php &lt;br /&gt;
|-&lt;br /&gt;
| interventionlist&lt;br /&gt;
| htdocs\fichinter\list.php &lt;br /&gt;
|-&lt;br /&gt;
| intervnetiondao&lt;br /&gt;
| htdocs\fichinter\class\fichinter.class.php&lt;br /&gt;
|-&lt;br /&gt;
| inventorycard&lt;br /&gt;
| htdocs\product\inventory\card.php &lt;br /&gt;
|-&lt;br /&gt;
| inventorylist&lt;br /&gt;
| htdocs\product\inventory\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicecard&lt;br /&gt;
| htdocs\compta\facture\card.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicedao&lt;br /&gt;
| htdocs\compta\facture\class\facture.class.php &lt;br /&gt;
|-&lt;br /&gt;
| invoiceindex&lt;br /&gt;
| htdocs\compta\index.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicelist&lt;br /&gt;
| htdocs\compta\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicereccard&lt;br /&gt;
| htdocs\compta\facture\fiche-rec.php&lt;br /&gt;
htdocs\compta\facture\invoicetemplate_list.php &lt;br /&gt;
|-&lt;br /&gt;
| invoicesuppliercard&lt;br /&gt;
| htdocs\fourn\facture\card.php&lt;br /&gt;
|-&lt;br /&gt;
| leavemovementlist&lt;br /&gt;
| htdocs\holiday\view_log.php &lt;br /&gt;
|-&lt;br /&gt;
| leftblock&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| loancard&lt;br /&gt;
| htdocs\loan\card.php &lt;br /&gt;
|-&lt;br /&gt;
| localtaxvatcard&lt;br /&gt;
| htdocs\compta\localtax\card.php &lt;br /&gt;
|-&lt;br /&gt;
| login&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| logout&lt;br /&gt;
| htdocs\user\logout.php &lt;br /&gt;
|-&lt;br /&gt;
| mail&lt;br /&gt;
| htdocs\core\class\CMailFile.class.php &lt;br /&gt;
|-&lt;br /&gt;
| mailingcard&lt;br /&gt;
| htdocs\comm\mailing\card.php &lt;br /&gt;
|-&lt;br /&gt;
| mailinglist&lt;br /&gt;
| htdocs\comm\mailing\list.php &lt;br /&gt;
|-&lt;br /&gt;
| main&lt;br /&gt;
| htdocs\core\lib\security.lib.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| mainloginpage&lt;br /&gt;
| htdocs\core\lib\security2.lib.php &lt;br /&gt;
|-&lt;br /&gt;
| membercard&lt;br /&gt;
| htdocs\adherents\card.php &lt;br /&gt;
|-&lt;br /&gt;
| memberlist&lt;br /&gt;
| htdocs\adherents\list.php &lt;br /&gt;
|-&lt;br /&gt;
| membertypecard&lt;br /&gt;
| htdocs\adherents\type.php &lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| membertypeldapcard&lt;br /&gt;
| htdocs\adherents\type_ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| movementlist&lt;br /&gt;
| htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\product\stock\movement_card.php&lt;br /&gt;
htdocs\product\stock\movement_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectagenda&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_agenda.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectcard&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_card.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectdao&lt;br /&gt;
| htdocs\comm\mailing\class\mailing.class.php&lt;br /&gt;
htdocs\modulebuilder\template\class\myobject.class.php&lt;br /&gt;
htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
htdocs\compta\cashcontrol\class\cashcontrol.class.php&lt;br /&gt;
htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
htdocs\emailcollector\class\emailcollector.class.php&lt;br /&gt;
|-&lt;br /&gt;
| myobjectdocument&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_document.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectlist&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_list.php &lt;br /&gt;
|-&lt;br /&gt;
| myobjectnote&lt;br /&gt;
| htdocs\modulebuilder\template\myobject_note.php &lt;br /&gt;
|-&lt;br /&gt;
| notification&lt;br /&gt;
| htdocs\core\class\notify.class.php &lt;br /&gt;
|-&lt;br /&gt;
| odtgeneration&lt;br /&gt;
| htdocs\core\modules\user\doc\doc_generic_user_odt.modules.php&lt;br /&gt;
htdocs\core\modules\usergroup\doc\doc_generic_usergroup_odt.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\doc_generic_supplier_proposal_odt.modules.php &lt;br /&gt;
htdocs\core\modules\societe\doc\doc_generic_odt.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\doc_generic_stock_odt.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\doc_generic_invoice_odt.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\doc_generic_product_odt.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\doc_generic_project_odt.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\doc_generic_proposal_odt.modules.php&lt;br /&gt;
htdocs\core\modules\reception\doc\doc_generic_reception_odt.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\doc_generic_order_odt.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\doc_generic_contract_odt.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\doc_generic_shipment_odt.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| ordercard&lt;br /&gt;
| htdocs\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| orderdao&lt;br /&gt;
| htdocs\commande\class\commande.class.php&lt;br /&gt;
|-&lt;br /&gt;
| orderlist&lt;br /&gt;
| htdocs\commande\list.php&lt;br /&gt;
htdocs\don\list.php &lt;br /&gt;
|-&lt;br /&gt;
| ordershipmentcard&lt;br /&gt;
| htdocs\expedition\shipment.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoice&lt;br /&gt;
| htdocs\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| orderstoinvoicesupplier&lt;br /&gt;
| htdocs\fourn\commande\orderstoinvoice.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersuppliercard&lt;br /&gt;
| htdocs\fourn\commande\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ordersupplierdispatch&lt;br /&gt;
| htdocs\fourn\commande\dispatch.php &lt;br /&gt;
|-&lt;br /&gt;
| paiementcard&lt;br /&gt;
| htdocs\stripe\payment.php&lt;br /&gt;
htdocs\compta\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| passwordforgottenpage&lt;br /&gt;
| htdocs\user\passwordforgotten.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentlist&lt;br /&gt;
| htdocs\compta\paiement\list.php &lt;br /&gt;
|-&lt;br /&gt;
| paymentsupplierlist&lt;br /&gt;
| htdocs\fourn\facture\paiement.php &lt;br /&gt;
|-&lt;br /&gt;
| pdfgeneration&lt;br /&gt;
| htdocs\core\modules\action\rapport.pdf.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_ban.modules.php&lt;br /&gt;
htdocs\core\modules\bank\doc\pdf_sepamandate.modules.php&lt;br /&gt;
htdocs\core\modules\cheque\doc\pdf_blochet.class.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_einstein.modules.php&lt;br /&gt;
htdocs\core\modules\commande\doc\pdf_eratosthene.modules.php&lt;br /&gt;
htdocs\core\modules\contract\doc\pdf_strato.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_espadon.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_merou.modules.php&lt;br /&gt;
htdocs\core\modules\expedition\doc\pdf_rouget.modules.php&lt;br /&gt;
htdocs\core\modules\expensereport\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_crabe.modules.php&lt;br /&gt;
htdocs\core\modules\facture\doc\pdf_sponge.modules.php&lt;br /&gt;
htdocs\core\modules\fichinter\doc\pdf_soleil.modules.php&lt;br /&gt;
htdocs\core\modules\livraison\doc\pdf_typhon.modules.php&lt;br /&gt;
htdocs\core\modules\product\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_baleine.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_beluga.modules.php&lt;br /&gt;
htdocs\core\modules\project\doc\pdf_timespent.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_azur.modules.php&lt;br /&gt;
htdocs\core\modules\propale\doc\pdf_cyan.modules.php&lt;br /&gt;
htdocs\core\modules\rapport\pdf_paiement.class.php&lt;br /&gt;
htdocs\core\modules\reception\doc\pdf_squille.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\stock\doc\pdf_stdmovement.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_invoice\pdf\pdf_canelle.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_cornas.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_order\pdf\pdf_muscadet.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_payment\doc\pdf_standard.modules.php&lt;br /&gt;
htdocs\core\modules\supplier_proposal\doc\pdf_aurore.modules.php&lt;br /&gt;
|-&lt;br /&gt;
| pricesuppliercard&lt;br /&gt;
| htdocs\product\fournisseurs.php &lt;br /&gt;
|-&lt;br /&gt;
| product_lotlist&lt;br /&gt;
| htdocs\product\stock\productlot_list.php &lt;br /&gt;
|-&lt;br /&gt;
| productcard&lt;br /&gt;
| htdocs\product\card.php &lt;br /&gt;
|-&lt;br /&gt;
| productdao&lt;br /&gt;
| htdocs\product\class\product.class.php&lt;br /&gt;
|-&lt;br /&gt;
| productdocuments&lt;br /&gt;
| htdocs\product\document.php &lt;br /&gt;
|-&lt;br /&gt;
| productindex&lt;br /&gt;
| htdocs\product\index.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotcard&lt;br /&gt;
| htdocs\product\stock\productlot_card.php &lt;br /&gt;
|-&lt;br /&gt;
| productlotdocuments&lt;br /&gt;
| htdocs\product\stock\productlot_document.php &lt;br /&gt;
|-&lt;br /&gt;
| productpricecard&lt;br /&gt;
| htdocs\product\price.php &lt;br /&gt;
|-&lt;br /&gt;
| productservicelist&lt;br /&gt;
| htdocs\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatscontract&lt;br /&gt;
| htdocs\product\stats\contrat.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatsinvoice&lt;br /&gt;
| htdocs\product\stats\facture.php&lt;br /&gt;
|-&lt;br /&gt;
| productstatsorder&lt;br /&gt;
| htdocs\product\stats\commande.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatspropal&lt;br /&gt;
| htdocs\product\stats\propal.php&lt;br /&gt;
htdocs\product\stats\supplier_proposal.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyinvoice&lt;br /&gt;
| htdocs\product\stats\facture_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| productstatssupplyorder&lt;br /&gt;
| htdocs\product\stats\commande_fournisseur.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcard&lt;br /&gt;
| htdocs\projet\card.php&lt;br /&gt;
htdocs\projet\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projectcontactcard&lt;br /&gt;
| htdocs\projet\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| projectdao&lt;br /&gt;
| htdocs\projet\class\project.class.php &lt;br /&gt;
|-&lt;br /&gt;
| projectlist&lt;br /&gt;
| htdocs\projet\list.php &lt;br /&gt;
|-&lt;br /&gt;
| projectOverview&lt;br /&gt;
| htdocs\projet\element.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcard&lt;br /&gt;
| htdocs\projet\tasks\task.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskcommentcard&lt;br /&gt;
| htdocs\projet\tasks\comment.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttaskscard&lt;br /&gt;
| htdocs\projet\tasks.php &lt;br /&gt;
|-&lt;br /&gt;
| projecttasktime&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| projectthirdparty&lt;br /&gt;
| htdocs\societe\project.php&lt;br /&gt;
|-&lt;br /&gt;
| projectticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| propalcard&lt;br /&gt;
| htdocs\comm\propal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| propallist&lt;br /&gt;
| htdocs\comm\propal\list.php&lt;br /&gt;
| &lt;br /&gt;
|-&lt;br /&gt;
| purchasesjournal&lt;br /&gt;
| htdocs\accountancy\journal\purchasesjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| recapcomptacard&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
|-&lt;br /&gt;
| receptioncard&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
|-&lt;br /&gt;
| receptiondao&lt;br /&gt;
| htdocs\reception\card.php&lt;br /&gt;
htdocs\reception\class\reception.class.php &lt;br /&gt;
|-&lt;br /&gt;
| receptionlist&lt;br /&gt;
| htdocs\reception\list.php &lt;br /&gt;
|-&lt;br /&gt;
| resource&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resource_card&lt;br /&gt;
| htdocs\resource\card.php &lt;br /&gt;
|-&lt;br /&gt;
| resourcelist&lt;br /&gt;
| htdocs\resource\list.php &lt;br /&gt;
|-&lt;br /&gt;
| salarycard&lt;br /&gt;
| htdocs\compta\salaries\card.php &lt;br /&gt;
|-&lt;br /&gt;
| salarypayment&lt;br /&gt;
| htdocs\compta\salaries\class\paymentsalary.class.php&lt;br /&gt;
|-&lt;br /&gt;
| searchform&lt;br /&gt;
| htdocs\core\ajax\selectsearchbox.php&lt;br /&gt;
htdocs\core\search_page.php&lt;br /&gt;
htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| sellsjournal&lt;br /&gt;
| htdocs\accountancy\journal\sellsjournal.php &lt;br /&gt;
|-&lt;br /&gt;
| shipmentlist&lt;br /&gt;
| htdocs\expedition\list.php &lt;br /&gt;
|-&lt;br /&gt;
| stockproductcard&lt;br /&gt;
| htdocs\product\stock\product.php &lt;br /&gt;
|-&lt;br /&gt;
| stockreplenishlist&lt;br /&gt;
| htdocs\product\stock\replenish.php &lt;br /&gt;
|-&lt;br /&gt;
| subscription&lt;br /&gt;
| htdocs\adherents\subscription.php &lt;br /&gt;
|-&lt;br /&gt;
| subscriptionlist&lt;br /&gt;
| htdocs\adherents\subscription\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposalcard&lt;br /&gt;
| htdocs\supplier_proposal\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplier_proposallist&lt;br /&gt;
| htdocs\supplier_proposal\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierbalencelist&lt;br /&gt;
| htdocs\compta\recap-compta.php&lt;br /&gt;
htdocs\fourn\recap-fourn.php &lt;br /&gt;
|-&lt;br /&gt;
| suppliercard&lt;br /&gt;
| htdocs\fourn\card.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierinvoicelist&lt;br /&gt;
| htdocs\fourn\facture\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierorderlist&lt;br /&gt;
| htdocs\fourn\commande\list.php &lt;br /&gt;
|-&lt;br /&gt;
| supplierpricelist&lt;br /&gt;
| htdocs\fourn\product\list.php &lt;br /&gt;
|-&lt;br /&gt;
| surveylist&lt;br /&gt;
| htdocs\opensurvey\list.php &lt;br /&gt;
|-&lt;br /&gt;
| takeposfrontend&lt;br /&gt;
| htdocs\takepos\takepos.php &lt;br /&gt;
|-&lt;br /&gt;
| tasklist&lt;br /&gt;
| htdocs\projet\tasks\list.php &lt;br /&gt;
|-&lt;br /&gt;
| tasktimelist&lt;br /&gt;
| htdocs\projet\tasks\time.php&lt;br /&gt;
|-&lt;br /&gt;
| taxvatcard&lt;br /&gt;
| htdocs\compta\tva\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartybancard&lt;br /&gt;
| htdocs\societe\paymentmodes.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycard&lt;br /&gt;
| htdocs\core\tpl\advtarget.tpl.php&lt;br /&gt;
htdocs\societe\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycomm&lt;br /&gt;
| htdocs\comm\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycontact&lt;br /&gt;
| htdocs\societe\contact.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartycustomerprice&lt;br /&gt;
| htdocs\societe\price.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydao&lt;br /&gt;
| htdocs\societe\class\societe.class.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartydocument&lt;br /&gt;
| htdocs\societe\document.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartylist&lt;br /&gt;
| htdocs\societe\list.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartymargins&lt;br /&gt;
| htdocs\margin\tabs\thirdpartyMargins.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynote&lt;br /&gt;
| htdocs\societe\note.php&lt;br /&gt;
|-&lt;br /&gt;
| thirdpartynotification&lt;br /&gt;
| htdocs\societe\notify\card.php &lt;br /&gt;
|-&lt;br /&gt;
| thirdpartyticket&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| ticketcard&lt;br /&gt;
| htdocs\ticket\card.php &lt;br /&gt;
|-&lt;br /&gt;
| ticketlist&lt;br /&gt;
| htdocs\ticket\list.php&lt;br /&gt;
|-&lt;br /&gt;
| timesheetperdaycard&lt;br /&gt;
| htdocs\projet\activity\perday.php &lt;br /&gt;
|-&lt;br /&gt;
| timesheetperweekcard&lt;br /&gt;
| htdocs\projet\activity\perweek.php &lt;br /&gt;
|-&lt;br /&gt;
| toprightmenu&lt;br /&gt;
| htdocs\main.inc.php&lt;br /&gt;
|-&lt;br /&gt;
| tripsandexpensescard&lt;br /&gt;
| htdocs\compta\deplacement\card.php &lt;br /&gt;
|-&lt;br /&gt;
| upgrade&lt;br /&gt;
| htdocs\install\upgrade2.php &lt;br /&gt;
|-&lt;br /&gt;
| useragenda&lt;br /&gt;
| htdocs\user\agenda_extsites.php &lt;br /&gt;
|-&lt;br /&gt;
| usercard&lt;br /&gt;
| htdocs\user\agenda_extsites.php&lt;br /&gt;
htdocs\user\card.php&lt;br /&gt;
htdocs\user\clicktodial.php&lt;br /&gt;
htdocs\user\document.php&lt;br /&gt;
htdocs\user\ldap.php&lt;br /&gt;
htdocs\user\note.php&lt;br /&gt;
htdocs\user\param_ihm.php&lt;br /&gt;
htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| userdao&lt;br /&gt;
| htdocs\user\class\user.class.php&lt;br /&gt;
|-&lt;br /&gt;
| userdoc&lt;br /&gt;
| htdocs\user\document.php &lt;br /&gt;
|-&lt;br /&gt;
| userhome&lt;br /&gt;
| htdocs\user\home.php&lt;br /&gt;
|-&lt;br /&gt;
| userihm&lt;br /&gt;
| htdocs\user\param_ihm.php &lt;br /&gt;
|-&lt;br /&gt;
| userldap&lt;br /&gt;
| htdocs\user\ldap.php &lt;br /&gt;
|-&lt;br /&gt;
| userlist&lt;br /&gt;
| htdocs\user\list.php&lt;br /&gt;
|-&lt;br /&gt;
| usernote&lt;br /&gt;
| htdocs\user\note.php &lt;br /&gt;
|-&lt;br /&gt;
| userperms&lt;br /&gt;
| htdocs\user\perms.php &lt;br /&gt;
|-&lt;br /&gt;
| variouscard&lt;br /&gt;
| htdocs\compta\bank\various_payment\card.php &lt;br /&gt;
|-&lt;br /&gt;
| variouspayment&lt;br /&gt;
| htdocs\compta\bank\class\paymentvarious.class.php&lt;br /&gt;
|-&lt;br /&gt;
| warehousecard&lt;br /&gt;
| htdocs\product\stock\card.php &lt;br /&gt;
|-&lt;br /&gt;
| website&lt;br /&gt;
| htdocs\admin\website.php &lt;br /&gt;
|-&lt;br /&gt;
| websiteaccountcard&lt;br /&gt;
| htdocs\website\websiteaccount_card.php &lt;br /&gt;
|-&lt;br /&gt;
| websitethirdpartylist&lt;br /&gt;
| htdocs\societe\website.php &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
= Voir aussi =&lt;br /&gt;
* [[Triggers]]&lt;br /&gt;
* [[Interfaces Dolibarr toward foreign systems]]&lt;br /&gt;
* [[Interfaces from foreign systems toward Dolibarr]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_du_module_Tiers&amp;diff=41558</id>
		<title>Paramétrage du module Tiers</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Param%C3%A9trage_du_module_Tiers&amp;diff=41558"/>
		<updated>2019-06-06T12:07:47Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* copies ecrans */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Aide de l&#039;écran:&#039;&#039;&#039; Paramétrage [[Module Tiers]]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu d&#039;accès:&#039;&#039;&#039; Accueil -&amp;gt; Configuration -&amp;gt; Modules -&amp;gt; Tiers -&amp;gt; Configuration (avec le gestionaire de menu &#039;eldy&#039;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Module de génération et contrôles des codes tiers =&lt;br /&gt;
Choisissez ici le module qui servira de compteur pour définir le code client et le code fournisseur aux nouveaux tiers créés.&lt;br /&gt;
&lt;br /&gt;
Placez la souris sur le picto &amp;quot;?&amp;quot; à la fin des lignes pour avoir des informations sur les règles amenées par le module.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Exemple de configuration :&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Configuration_CodeTiers_Dolibar.jpg]]&lt;br /&gt;
&lt;br /&gt;
Dans cet exemple c&#039;est le module Éléphant qui a été sélectionné. &lt;br /&gt;
Les masques indiquent comment les codes clients/fournisseurs seront générés par Dolibarr.&lt;br /&gt;
&lt;br /&gt;
= Module de génération des codes compta =&lt;br /&gt;
Choisissez ici le module qui servira à attribuer automatiquement un code compta aux nouveaux tiers créés.&lt;br /&gt;
&lt;br /&gt;
= Modèles de documents =&lt;br /&gt;
Activez ici les modèles de documents que vous voulez voir proposez pour générer les factures, propal ou autres dans les écrans.&lt;br /&gt;
== Module Generic ODT ==&lt;br /&gt;
Avec ce module, vous définissez une liste de répertoires contenant des modèles de document ODT (ces modèles doivent être des fichiers se termiant par .odt). Vous pouvez utiliser OpenOffice ou tout traitement de texte capable de sauvegarder des fichiers au format .odt.&lt;br /&gt;
&lt;br /&gt;
Ensuite, vous ajouter et editer vos fichiers modèles ODT avec le contenu qui vous intéresse.&lt;br /&gt;
&lt;br /&gt;
Placer à l&#039;intérieur de ces modèles les tags qui seront remplacés lors de la génération par la valeurs adéquates. Voici la liste complète des tasg disponibles:&lt;br /&gt;
{{TagsTemplatesMySoc}}&lt;br /&gt;
{{TagsTemplatesThirdParty}}&lt;br /&gt;
&lt;br /&gt;
= Id professionel unique  =&lt;br /&gt;
Des Id professionnels énumérés, vous devez indiquer qui doit être unique et qui peut être dupliqué.&lt;br /&gt;
&lt;br /&gt;
= Autre =&lt;br /&gt;
Définissez ou non les options supplémentaires.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
LISTE D OPTIONS&lt;br /&gt;
*Attendre que vous ayez appuyé sur une touche avant de charger le contenu de la liste déroulante des tiers &lt;br /&gt;
&lt;br /&gt;
*Attendre que vous ayez appuyé sur une touche avant de charger le contenu de la liste déroulante des contacts/adresses&lt;br /&gt;
&lt;br /&gt;
*Afficher les références client/fournisseur dans les listes&lt;br /&gt;
&lt;br /&gt;
*Demander la méthode d&#039;expédition préférée pour les tiers&lt;br /&gt;
&lt;br /&gt;
= Onglets &amp;quot;Attributs supplémentaires&amp;quot; =&lt;br /&gt;
A partir de ces deux onglets vous pouvez créer de nouveaux attributs pour les tiers et les contacts/adresses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=copies écrans=&lt;br /&gt;
&lt;br /&gt;
[[https://wiki.dolibarr.org/upload/thumb/d/d9/Configuration_du_module_Tiers_2018.jpg/565px-Configuration_du_module_Tiers_2018.jpg]]&lt;br /&gt;
&lt;br /&gt;
[[File:Screencapture-admin-societe-v9.png]]&lt;br /&gt;
[[Configuration_du_module_Tiers_2018.jpg]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:Screencapture-admin-societe-v9.png&amp;diff=41557</id>
		<title>File:Screencapture-admin-societe-v9.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:Screencapture-admin-societe-v9.png&amp;diff=41557"/>
		<updated>2019-06-06T12:06:28Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Screenshot of societe admin page in v9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of societe admin page in v9&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41556</id>
		<title>Module Produits</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41556"/>
		<updated>2019-06-06T12:01:59Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Produit]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Produits|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Produits (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Ce module permet de gérer un catalogue de produits. &lt;br /&gt;
&lt;br /&gt;
Voir aussi le [[Module Services]] pour gérer un catalogue de services, ou le [[Module Stock]] pour la gestion de stock.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{NoInstallModuleFr}}&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
{{ActivationModuleFr}}&lt;br /&gt;
&lt;br /&gt;
Voici une capture d&#039;écran du paramétrage du module&lt;br /&gt;
&lt;br /&gt;
[[File:screencapture-admin-product-v9.png]]&lt;br /&gt;
&lt;br /&gt;
= Définition =&lt;br /&gt;
== Produits ==&lt;br /&gt;
Un produit Dolibarr est un bien à gérer, soit parce qu&#039;il caractérise un objet proposé à des clients, soit parce qu&#039;il caractérise un objet obtenu auprès de fournisseurs.&lt;br /&gt;
Il s&#039;agit de biens matériels, contrairement aux [[Services]].&lt;br /&gt;
&lt;br /&gt;
Un produit répond, en résumé, aux règles suivantes:&lt;br /&gt;
* Un produit peut se stocker dans un entrepôt (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module_Stock|Stock]]. Les services n&#039;y apparaissent pas).&lt;br /&gt;
* Un produit peut se livrer (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module Expédition|Expedition]]. Les services n&#039;y apparaissent pas. Ces derniers sont réalisés ou non, mais pas livrés).&lt;br /&gt;
* Un produit est en général un bien matériel. Sa valeur souvent se déprécie avec le temps (Un produit d&#039;occasion vaut moins que le même produit neuf).&lt;br /&gt;
&lt;br /&gt;
Certains champs sont présent uniquement sur les produits et non disponibles sur les services comme:&lt;br /&gt;
* Weight&lt;br /&gt;
* Size&lt;br /&gt;
* Custom code = Commodity code = License code = HTS = Code SH (Un code sur 6 char pour définir la catégorie douanière internationale du produit)&lt;br /&gt;
&lt;br /&gt;
== Produits virtuels (aussi appelé Produits packs) ==&lt;br /&gt;
Un produit ou service virtuel est un produit père, constitué d&#039;autres produits. Cette fonction s&#039;active depuis la page de configuration du module Produits ou Service.&lt;br /&gt;
Elle a pour vocation à définir des &amp;quot;packages&amp;quot; ou &amp;quot;lots&amp;quot; de produits qui permettent de raisonner sur les commandes, factures et stocks avec un seul élément au lieu des n produits&lt;br /&gt;
constituant le lot.&lt;br /&gt;
&lt;br /&gt;
Un produit virtuel répond aux règles suivantes:&lt;br /&gt;
* Lors de l&#039;ajout d&#039;un produit dans un document (propositions, facture, commande), seule la ligne du produit virtuel père est affichée.&lt;br /&gt;
* Le stock des n produits composant le produit virtuel est incrémenté/décrémenté quand le produit virtuel est incrémenté/décrémenté. Par exemple, si vous avez configuré l&#039;augmentation de stock sur validation de commande fournisseur, en validant une commande fournisseur contenant un produit virtuel, vous incrémentez le stock de ce produit mais aussi de tous les sous-produit le constituant.&lt;br /&gt;
* Un produit virtuel peut lui même être constitué d&#039;autres produits virtuels qui eux contiennent de vrais produits.&lt;br /&gt;
&lt;br /&gt;
Remarque:&lt;br /&gt;
Il ne s&#039;agit pas d&#039;une fonction de &amp;quot;fabrication/production&amp;quot; où les produits fils composant le produit virtuel seraient consommés du stock pour obtenir un produit père supplémentaire en stock.&lt;br /&gt;
Ici, les sous-produits composants un produit virtuel ne sont décrémentés du stock qu&#039;au moment de la consommation du produit virtuel père et restent des sous-produits consommables de manière indépendantes des autres, contrairement à un de module de fabrication, où lorsque qu&#039;un sous-produit est utilisé pour fabriquer un module père, le sous produit est décrémenté du stock même si le produit père n&#039;est pas encore distribué, et souvent ce sous-produit ne peut plus faire le chemin inverse pour revenir en stock.&lt;br /&gt;
&lt;br /&gt;
= Cycle de vie / Règles de gestion =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
= Exemples de cas d&#039;utilisation =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
{{ExamplesCaseFr&lt;br /&gt;
|nom=UCMP01: &lt;br /&gt;
|situation=&lt;br /&gt;
|actions=&lt;br /&gt;
}}&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41555</id>
		<title>Module Produits</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41555"/>
		<updated>2019-06-06T08:36:40Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Configuration */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Produit]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Produits|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Produits (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Ce module permet de gérer un catalogue de produits. &lt;br /&gt;
&lt;br /&gt;
Voir aussi le [[Module Services]] pour gérer un catalogue de services, ou le [[Module Stock]] pour la gestion de stock.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{NoInstallModuleFr}}&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
{{ActivationModuleFr}}&lt;br /&gt;
&lt;br /&gt;
Voici une capture d&#039;écran du paramétrage du module&lt;br /&gt;
&lt;br /&gt;
[[File:screencapture-admin-product-v9.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Une barre de recherche des produits peut être utilisée à la place de la liste déroulante (pratique si grand nombre de produits).&lt;br /&gt;
&lt;br /&gt;
Il faut pour cela activer, dans le module produits, l&#039;option &amp;quot;Utiliser une barre de recherche ...&amp;quot; et laisser AJAX/Javascript activé dans les paramètres d&#039;interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
= Définition =&lt;br /&gt;
== Produits ==&lt;br /&gt;
Un produit Dolibarr est un bien à gérer, soit parce qu&#039;il caractérise un objet proposé à des clients, soit parce qu&#039;il caractérise un objet obtenu auprès de fournisseurs.&lt;br /&gt;
Il s&#039;agit de biens matériels, contrairement aux [[Services]].&lt;br /&gt;
&lt;br /&gt;
Un produit répond, en résumé, aux règles suivantes:&lt;br /&gt;
* Un produit peut se stocker dans un entrepôt (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module_Stock|Stock]]. Les services n&#039;y apparaissent pas).&lt;br /&gt;
* Un produit peut se livrer (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module Expédition|Expedition]]. Les services n&#039;y apparaissent pas. Ces derniers sont réalisés ou non, mais pas livrés).&lt;br /&gt;
* Un produit est en général un bien matériel. Sa valeur souvent se déprécie avec le temps (Un produit d&#039;occasion vaut moins que le même produit neuf).&lt;br /&gt;
&lt;br /&gt;
Certains champs sont présent uniquement sur les produits et non disponibles sur les services comme:&lt;br /&gt;
* Weight&lt;br /&gt;
* Size&lt;br /&gt;
* Custom code = Commodity code = License code = HTS = Code SH (Un code sur 6 char pour définir la catégorie douanière internationale du produit)&lt;br /&gt;
&lt;br /&gt;
== Produits virtuels (aussi appelé Produits packs) ==&lt;br /&gt;
Un produit ou service virtuel est un produit père, constitué d&#039;autres produits. Cette fonction s&#039;active depuis la page de configuration du module Produits ou Service.&lt;br /&gt;
Elle a pour vocation à définir des &amp;quot;packages&amp;quot; ou &amp;quot;lots&amp;quot; de produits qui permettent de raisonner sur les commandes, factures et stocks avec un seul élément au lieu des n produits&lt;br /&gt;
constituant le lot.&lt;br /&gt;
&lt;br /&gt;
Un produit virtuel répond aux règles suivantes:&lt;br /&gt;
* Lors de l&#039;ajout d&#039;un produit dans un document (propositions, facture, commande), seule la ligne du produit virtuel père est affichée.&lt;br /&gt;
* Le stock des n produits composant le produit virtuel est incrémenté/décrémenté quand le produit virtuel est incrémenté/décrémenté. Par exemple, si vous avez configuré l&#039;augmentation de stock sur validation de commande fournisseur, en validant une commande fournisseur contenant un produit virtuel, vous incrémentez le stock de ce produit mais aussi de tous les sous-produit le constituant.&lt;br /&gt;
* Un produit virtuel peut lui même être constitué d&#039;autres produits virtuels qui eux contiennent de vrais produits.&lt;br /&gt;
&lt;br /&gt;
Remarque:&lt;br /&gt;
Il ne s&#039;agit pas d&#039;une fonction de &amp;quot;fabrication/production&amp;quot; où les produits fils composant le produit virtuel seraient consommés du stock pour obtenir un produit père supplémentaire en stock.&lt;br /&gt;
Ici, les sous-produits composants un produit virtuel ne sont décrémentés du stock qu&#039;au moment de la consommation du produit virtuel père et restent des sous-produits consommables de manière indépendantes des autres, contrairement à un de module de fabrication, où lorsque qu&#039;un sous-produit est utilisé pour fabriquer un module père, le sous produit est décrémenté du stock même si le produit père n&#039;est pas encore distribué, et souvent ce sous-produit ne peut plus faire le chemin inverse pour revenir en stock.&lt;br /&gt;
&lt;br /&gt;
= Cycle de vie / Règles de gestion =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
= Exemples de cas d&#039;utilisation =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
{{ExamplesCaseFr&lt;br /&gt;
|nom=UCMP01: &lt;br /&gt;
|situation=&lt;br /&gt;
|actions=&lt;br /&gt;
}}&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41554</id>
		<title>Module Produits</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Produits&amp;diff=41554"/>
		<updated>2019-06-06T08:36:26Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* capture écran */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Produit]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Produits|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Produits (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
= Introduction =&lt;br /&gt;
Ce module permet de gérer un catalogue de produits. &lt;br /&gt;
&lt;br /&gt;
Voir aussi le [[Module Services]] pour gérer un catalogue de services, ou le [[Module Stock]] pour la gestion de stock.&lt;br /&gt;
&lt;br /&gt;
= Installation =&lt;br /&gt;
{{NoInstallModuleFr}}&lt;br /&gt;
&lt;br /&gt;
= Configuration =&lt;br /&gt;
{{ActivationModuleFr}}&lt;br /&gt;
&lt;br /&gt;
Voici une capture d&#039;écran du paramétrage du module&lt;br /&gt;
[[File:screencapture-admin-product-v9.png]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Remarque :&#039;&#039;&#039; Une barre de recherche des produits peut être utilisée à la place de la liste déroulante (pratique si grand nombre de produits).&lt;br /&gt;
&lt;br /&gt;
Il faut pour cela activer, dans le module produits, l&#039;option &amp;quot;Utiliser une barre de recherche ...&amp;quot; et laisser AJAX/Javascript activé dans les paramètres d&#039;interface utilisateur.&lt;br /&gt;
&lt;br /&gt;
= Définition =&lt;br /&gt;
== Produits ==&lt;br /&gt;
Un produit Dolibarr est un bien à gérer, soit parce qu&#039;il caractérise un objet proposé à des clients, soit parce qu&#039;il caractérise un objet obtenu auprès de fournisseurs.&lt;br /&gt;
Il s&#039;agit de biens matériels, contrairement aux [[Services]].&lt;br /&gt;
&lt;br /&gt;
Un produit répond, en résumé, aux règles suivantes:&lt;br /&gt;
* Un produit peut se stocker dans un entrepôt (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module_Stock|Stock]]. Les services n&#039;y apparaissent pas).&lt;br /&gt;
* Un produit peut se livrer (seuls les produits d&#039;ailleurs apparaissent dans le module [[Module Expédition|Expedition]]. Les services n&#039;y apparaissent pas. Ces derniers sont réalisés ou non, mais pas livrés).&lt;br /&gt;
* Un produit est en général un bien matériel. Sa valeur souvent se déprécie avec le temps (Un produit d&#039;occasion vaut moins que le même produit neuf).&lt;br /&gt;
&lt;br /&gt;
Certains champs sont présent uniquement sur les produits et non disponibles sur les services comme:&lt;br /&gt;
* Weight&lt;br /&gt;
* Size&lt;br /&gt;
* Custom code = Commodity code = License code = HTS = Code SH (Un code sur 6 char pour définir la catégorie douanière internationale du produit)&lt;br /&gt;
&lt;br /&gt;
== Produits virtuels (aussi appelé Produits packs) ==&lt;br /&gt;
Un produit ou service virtuel est un produit père, constitué d&#039;autres produits. Cette fonction s&#039;active depuis la page de configuration du module Produits ou Service.&lt;br /&gt;
Elle a pour vocation à définir des &amp;quot;packages&amp;quot; ou &amp;quot;lots&amp;quot; de produits qui permettent de raisonner sur les commandes, factures et stocks avec un seul élément au lieu des n produits&lt;br /&gt;
constituant le lot.&lt;br /&gt;
&lt;br /&gt;
Un produit virtuel répond aux règles suivantes:&lt;br /&gt;
* Lors de l&#039;ajout d&#039;un produit dans un document (propositions, facture, commande), seule la ligne du produit virtuel père est affichée.&lt;br /&gt;
* Le stock des n produits composant le produit virtuel est incrémenté/décrémenté quand le produit virtuel est incrémenté/décrémenté. Par exemple, si vous avez configuré l&#039;augmentation de stock sur validation de commande fournisseur, en validant une commande fournisseur contenant un produit virtuel, vous incrémentez le stock de ce produit mais aussi de tous les sous-produit le constituant.&lt;br /&gt;
* Un produit virtuel peut lui même être constitué d&#039;autres produits virtuels qui eux contiennent de vrais produits.&lt;br /&gt;
&lt;br /&gt;
Remarque:&lt;br /&gt;
Il ne s&#039;agit pas d&#039;une fonction de &amp;quot;fabrication/production&amp;quot; où les produits fils composant le produit virtuel seraient consommés du stock pour obtenir un produit père supplémentaire en stock.&lt;br /&gt;
Ici, les sous-produits composants un produit virtuel ne sont décrémentés du stock qu&#039;au moment de la consommation du produit virtuel père et restent des sous-produits consommables de manière indépendantes des autres, contrairement à un de module de fabrication, où lorsque qu&#039;un sous-produit est utilisé pour fabriquer un module père, le sous produit est décrémenté du stock même si le produit père n&#039;est pas encore distribué, et souvent ce sous-produit ne peut plus faire le chemin inverse pour revenir en stock.&lt;br /&gt;
&lt;br /&gt;
= Cycle de vie / Règles de gestion =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
= Exemples de cas d&#039;utilisation =&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
{{ExamplesCaseFr&lt;br /&gt;
|nom=UCMP01: &lt;br /&gt;
|situation=&lt;br /&gt;
|actions=&lt;br /&gt;
}}&amp;amp;nbsp;&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=File:Screencapture-admin-product-v9.png&amp;diff=41553</id>
		<title>File:Screencapture-admin-product-v9.png</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=File:Screencapture-admin-product-v9.png&amp;diff=41553"/>
		<updated>2019-06-06T08:32:46Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Screenshot of product admin page in v9&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Screenshot of product admin page in v9&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=41232</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=41232"/>
		<updated>2019-04-16T07:20:25Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* MAIN_DOC_USE_TIMING ODT */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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;
= &#039;&#039;&#039;Goal&#039;&#039;&#039; =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;Reading the List&#039;&#039;&#039; =&lt;br /&gt;
After Global Options, this list is sorted alphabetically.  The basic format of how the list is written is broken down in the example below:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;HIDDEN_CONFIG&#039;&#039;&#039; ► &#039;&#039;Description of config&#039;&#039; ► &#039;&#039;(specific version information) or values&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= &#039;&#039;&#039;List of Known Hidden Options&#039;&#039;&#039; =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; (unless otherwise stated) in &amp;lt;code&amp;gt;Home ► Setup -&amp;gt; Other Setup&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Global Options&#039;&#039;&#039; ==&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 ► (core)&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 ► (core)&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 ► (core)&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 UTF-8 if on Linux or OSX system, and ISO-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable &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_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_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_ONLY_LOGIN_ALLOWED&#039;&#039;&#039; ► Only the specified login is allowed to log in Dolibarr (maintenance mode).&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_SECURITY_CSRF_WITH_TOKEN&#039;&#039;&#039; ► Activate a second anti-CSRF protection on POST (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 less powerful. ► (v5.0+)&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]]&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_AUTOFILL_DATE&#039;&#039;&#039; ► If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports! However some users want it, so we provide it.&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 500 000 records).&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_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;amp;logtohtml=1 into URL.&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_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_OPTIMIZE_SPEED&#039;&#039;&#039; ► Use some speed enhancements. See page [[Increase_Performance]] for more information.&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_REPEATCONTACTONEACHTAB&#039;&#039;&#039; ► If added and set to &#039;&#039;&#039;1&#039;&#039;&#039;, this adds contacts on all tabs, not only main tab.&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_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_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_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_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_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;)&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 (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE&#039;&#039;&#039; ► Add signature of the first sale representative into documents (at end of public notes).&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 &#039;&#039;&#039;1&#039;&#039;&#039; ► (v3.6.0+)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_USE_CACHE_MANIFEST&#039;&#039;&#039; ► Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&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_VAT_DEFAULT_IF_AUTODETECT_FAILS&#039;&#039;&#039; ► Allow to define a default VAT rate&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_LANDING_PAGE&#039;&#039;&#039; ► Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param). ► (v3.9+)&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_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 (0=kg, -3=g, ...)&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 (0=kg, -3=g, ...)&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_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;
&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_VIEW_LINE_NUMBER&#039;&#039;&#039; ► Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&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_DISABLEDRAFTSTATUS&#039;&#039;&#039; ► Disable the status Draft for some objects (project, donation, ...)&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_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;UTC&#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_SEARCH_DIRECT_OPEN_IF_ONLY_ONE&#039;&#039;&#039; ► If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result ► (v5.0+)&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_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC&#039;&#039;&#039; ► Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community) ► (v7.0+)&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_DISABLE_MULTIPLE_FILEUPLOAD&#039;&#039;&#039; ► Disable users to upload multiple files at once.&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_FIRSTNAME_NAME_POSITION&#039;&#039;&#039; ► Position of firstname in full name (0/1).&lt;br /&gt;
&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Agenda Module&#039;&#039;&#039; ==&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 &#039;&#039;&#039;3&#039;&#039;&#039;. Value &#039;&#039;&#039;0&#039;&#039;&#039; 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 (deprecated).&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;MAIN_ADD_EVENT_ON_ELEMENT_CARD&#039;&#039;&#039; ► Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Bank Module&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;BlockedLog&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY&#039;&#039;&#039; ► Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Contracts&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;CONTRACT_SUPPORT_PRODUCTS&#039;&#039;&#039; ► Products are also suggested into module contract.&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Email and SMS&#039;&#039;&#039; ==&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 &#039;&#039;&#039;mail&#039;&#039;&#039; 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 &#039;&#039;&#039;-f&#039;&#039;&#039; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option asks PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;&amp;lt;code&amp;gt;php.ini&amp;lt;/code&amp;gt;&#039;&#039;&#039; 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;
&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 &#039;&#039;&#039;MAIN_EMAIL_USECCC&#039;&#039;&#039; (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 &#039;&#039;&#039;1&#039;&#039;&#039; (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 &#039;&#039;&#039;2&#039;&#039;&#039;: 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;
&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; ► Enter the public IP address of the server, so it appears in the help on the email setup page.&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Emailing Module&#039;&#039;&#039; ==&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 &#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS&#039;&#039;&#039; ► Contains an email to show in a message visible to 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 message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &amp;lt;code&amp;gt;MAILING_LIMIT_WARNING_PHPMAIL&amp;lt;/code&amp;gt; and enter translation key for each language for this key.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039;&#039;&#039; ► Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &amp;lt;code&amp;gt;MAILING_LIMIT_WARNING_NOPHPMAIL&amp;lt;/code&amp;gt; and enter translation key for each language for this key.&lt;br /&gt;
&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Expense Report&#039;&#039;&#039; ==&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_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 &#039;&#039;&#039;1&#039;&#039;&#039; ► (&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Export Module&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Foundation Module&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Interventions Module&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Invoice Module&#039;&#039;&#039; ==&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;FACTURE_SHOW_SEND_REMINDER&#039;&#039;&#039; ► Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; &#039;&#039;(obsolete feature)&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;INVOICE_CAN_ALWAYS_BE_EDITED&#039;&#039;&#039; ► Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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_CHANGE_THIRDPARTY&#039;&#039;&#039; ► Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FACTURE_USE_PROFORMAT&#039;&#039;&#039; ► Enable PROFORMAT invoices type.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;FACTURE_DEPOSITS_ARE_JUST_PAYMENTS&#039;&#039;&#039; ► Treats deposit invoices as a special case. 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. &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;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;INVOICE_CREDIT_NOTE_STANDALONE&#039;&#039;&#039; ► Can make a credit note without invoice. ► (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&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;
&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;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. ► (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;
&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Look or Theme&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;MAIN_OPTIMIZEFORTEXTBROWSER&#039;&#039;&#039; ► Optimize output rendering for usage of a text browser (useful for blind people)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;THEME_ELDY_DISABLE_IMAGE&#039;&#039;&#039; ► Disabled images of top menu for eldy theme. ► (v3.8+)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_MENU_HIDE_UNAUTHORIZED&#039;&#039;&#039; ► Hide menu if logged in user is not authorized rather than just grey them&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;THEME_TOPMENU_STICKY_POSITION&#039;&#039;&#039; ► Option to fix top menu with eldy theme ► (v7.0+)&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;MultiCurrency&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION&#039;&#039;&#039; ► Enable CurrencyLayer API synchronization&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Order Module&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;COMMANDE_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;COMMANDE_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;COMMANDE_CHANGE_THIRDPARTY&#039;&#039;&#039; =&amp;gt; Can change customer on orders&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;WAREHOUSE_ASK_WAREHOUSE_DURING_ORDER&#039;&#039;&#039; =&amp;gt; When an order is created, the warehouse can be defined&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;PDF Options&#039;&#039;&#039; ==&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_COMPRESSION&#039;&#039;&#039; ► Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_INVERT_SENDER_RECIPIENT&#039;&#039;&#039; ► Invert sender and recipient in some PDF.&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_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. Warning: This option make TCPDF library being crazy sometime and content on image disappeared!&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_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_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_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_ODT_AS_PDF&#039;&#039;&#039; ► Activate PDF conversion from ODT document. If value is &#039;&amp;lt;code&amp;gt;jodconverter&amp;lt;/code&amp;gt;&#039;, java and jodconverter command line tool must be available. If value is &#039;&amp;lt;code&amp;gt;/pathto/jodconverter.jar&amp;lt;/code&amp;gt;&#039; then java and the jodconvertar jar must exist. Soffice must also be available. &amp;lt;code&amp;gt;MAIN_DOL_SCRIPTS_ROOT&amp;lt;/code&amp;gt; Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example &amp;lt;code&amp;gt;/var/www/mydolibarr&amp;lt;/code&amp;gt;).&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_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;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_DOCUMENTS_LOGO_HEIGHT&#039;&#039;&#039; ► Can force height of the logo on PDF.&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_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;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_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_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;
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;MAIN_PDF_ADDALSOTARGETDETAILS&#039;&#039;&#039; ► Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&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;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_TVAINTRA_IN_SOURCE_ADDRESS&#039;&#039;&#039; ► Show VAT N° 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_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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Point of Sale&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;CASHDESK_SHOW_KEYPAD&#039;&#039;&#039; ► Show a mouse key pad into Point of Sale.&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 us to define the invoice ref 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 &#039;&#039;&#039;POS_NUMBERING_TERRE_FORCE_PREFIX&#039;&#039;&#039; and &#039;&#039;&#039;POS_NUMBERING_MARS_FORCE_PREFIX&#039;&#039;&#039; variable to change the prefix used).&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Products Module&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE&#039;&#039;&#039; ► Avoid Custom 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;PRODUIT_DESC_IN_LIST&#039;&#039;&#039; ► Show long description of product/service into lists.&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; ► Enable units from dictionary in product/service card.&lt;br /&gt;
&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;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;PRODUCT_CHARGES&#039;&#039;&#039; ► Adds an extra field for adhoc charges at the product buying price stage. The cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product. ► (&amp;lt;= v7.0)&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;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;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;CATEGORY_GRAPHSTATS_ON_PRODUCTS&#039;&#039;&#039; ► Show graph of products with categories and totals in Products Area screen&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Projects Module&#039;&#039;&#039; ==&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;= 8.0.1)&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_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_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_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 ► (4.0)&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 ► (4.0)&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;
&lt;br /&gt;
* &#039;&#039;&#039;PROJECT_ALLOW_COMMENT_ON_TASK&#039;&#039;&#039; ► Add comment feature on project task&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Proposals Module&#039;&#039;&#039; ==&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;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_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;PROPAL_DISABLE_SIGNATURE&#039;&#039;&#039; ► Do no show the box for signature.&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;
&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;MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING&#039;&#039;&#039; ► add optional esign field in pdf propal ► (v8.0+)&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Services Module&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;SERVICE_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ► If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Shipments&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Stocks&#039;&#039;&#039; ==&lt;br /&gt;
* &#039;&#039;&#039;MAIN_SERVICES_ARE_ECOMMERCE_200238EC&#039;&#039;&#039; ► (&amp;lt; 8)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;CASHDESK_FORCE_STOCK_ON_BILL&#039;&#039;&#039; =&amp;gt; Option to force decrease of stock whatever is user setup. ► (&amp;gt;= 8.0.1)&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Suppliers Module&#039;&#039;&#039; ==&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_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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;Third Parties Module&#039;&#039;&#039; ==&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_FORCE_DEFAULT_STATE_ID&#039;&#039;&#039; ►  &amp;lt;code&amp;gt;rowid (integer)&amp;lt;/code&amp;gt; of a state/province as defined in &amp;lt;code&amp;gt;llx_c_departements&amp;lt;/code&amp;gt;. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list. ► (&amp;gt;= 8.0.1)&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;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_NOTSUPPLIER_BY_DEFAULT&#039;&#039;&#039; ► Do not set status &amp;quot;Supplier&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;SOCIETE_SORT_ON_TYPEENT&#039;&#039;&#039; ► The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;THIRDPARTY_DEFAULT_CREATE_CONTACT&#039;&#039;&#039; ► With this setting as &#039;&#039;&#039;1&#039;&#039;&#039; the option is set for third parties to be created WITH the child contact ► (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;MAIN_THIRDPARTY_CREATION_INDIVIDUAL&#039;&#039;&#039; ► With this setting as &#039;&#039;&#039;1&#039;&#039;&#039; the option is set for third parties to be created WITH the child contact ► (v&amp;lt;5.0)&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;THIRDPARTY_DEFAULT_USEVAT&#039;&#039;&#039; ► When creating a new third party, the field &amp;quot;Use vat&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_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_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;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;
&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;MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL&#039;&#039;&#039; ► External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;VAT Report&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== &#039;&#039;&#039;WYSIWYG Editor&#039;&#039;&#039; ==&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;
[[#Top|(back to top)]]&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=40378</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=40378"/>
		<updated>2018-11-21T07:51:05Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: COMPANY_AQUARIUM_CLEAN_REGEX&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_NOTES_TAB (core) =&amp;gt; Show or hide notes tab in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_CONTACTS_TAB (core) =&amp;gt; Show or hide contacts tab in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful. (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param). (v3.9+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; 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;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS =&amp;gt; show public note in address block (v4.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents (v8.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC =&amp;gt; Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community) (v7.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOWDATABASENAMEINHELPPAGESLINK =&amp;gt; Show database name in upper help menu (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme. (v3.8.0+)&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf) (v7.0+)&lt;br /&gt;
* MAIN_EASTER_EGG_COMMITSTRIP =&amp;gt; Show a comic image from the CommitStrip website. Images are refreshed daily. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names. It apply 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 exemple if COMPANY_AQUARIUM_CLEAN_REGEX = &#039;^..(..)..(.*)&#039;&lt;br /&gt;
the first char and second char are removed and the char 5 and 6 too&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  rowid (integer) of a state/province as defined in llx_c_departements. On the creation of a third party/contact, the state/province corresponding to this rowid is preselected in the dropdown list.&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
* THIRDPARTY_CAN_HAVE_CATEGORY_EVEN_IF_NOT_CUSTOMER_PROSPECT_SUPPLIER =&amp;gt; Possible to add Categories to third parties that are not customer, prospect or supplier.&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
* EXPENSEREPORT_USE_OLD_NUMBERING_RULE =&amp;gt; The module ExpenseReport 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 6.0 set this constant to &#039;1&#039; (&amp;gt;=v7.0+)&lt;br /&gt;
&lt;br /&gt;
==VAT Report==&lt;br /&gt;
* MAIN_INCLUDE_ZERO_VAT_IN_REPORTS =&amp;gt; Include lines with VAT to 0% (for &amp;quot;auto-liquidation&amp;quot; in EEC) (V8.0.3+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product. (&amp;lt;= v7.0)&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (&amp;lt; 8) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* RELOAD_PAGE_ON_SUPPLIER_CHANGE =&amp;gt; On creation of a supplier order/invoice, reload form with supplier-specific details when supplier is selected from drop-down list.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_DEFAULT_PAYMENT_MODE_ID =&amp;gt; Set the default payment method for suppliers (rowid in table llx_c_paiement).&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_LOGO_HEIGHT =&amp;gt; Can force height of Logo on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurrency ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Liste_de_classes_et_objets&amp;diff=40089</id>
		<title>Liste de classes et objets</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Liste_de_classes_et_objets&amp;diff=40089"/>
		<updated>2018-10-15T14:21:09Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page a pour but d aider l utilisateur a appeler un objet ds dolibarr &lt;br /&gt;
(avec extrafields par exemple avec le &amp;quot;lien vers objet&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE TIERS&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|Contact&lt;br /&gt;
|Contact:contact/class/contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|societe&lt;br /&gt;
|societe&lt;br /&gt;
|Société:societe/class/societe.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE PRODUIT&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Produit&lt;br /&gt;
|Product&lt;br /&gt;
|Product:Product/class/Product.class.php&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Service&lt;br /&gt;
|Service&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE ADHERENT&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|adherent&lt;br /&gt;
|adherent&lt;br /&gt;
|adherent:adherent/class/adherent.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE PROJET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|PROJET&lt;br /&gt;
|project&lt;br /&gt;
|project:project/class/project.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE TICKET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|TICKET&lt;br /&gt;
|ticket&lt;br /&gt;
|ticket/class/ticket.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE AGENDA&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Evenement&lt;br /&gt;
|Event&lt;br /&gt;
|ActionComm:comm/action/class/actioncomm.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE INTERVENTION&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|fichinter&lt;br /&gt;
|fichinter&lt;br /&gt;
|fichinter/class/fichinter.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE RESSOURCE&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|resource&lt;br /&gt;
|resource&lt;br /&gt;
|resource/class/resource.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE INFOEXTRANET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Equipement&lt;br /&gt;
|device&lt;br /&gt;
|class/device.class.php&lt;br /&gt;
|-&lt;br /&gt;
|address&lt;br /&gt;
|address&lt;br /&gt;
|class/address.class.php&lt;br /&gt;
|-&lt;br /&gt;
|application&lt;br /&gt;
|application&lt;br /&gt;
|class/application.class.php&lt;br /&gt;
|-&lt;br /&gt;
|role&lt;br /&gt;
|role&lt;br /&gt;
|class/role.class.php&lt;br /&gt;
|-&lt;br /&gt;
|Equipement Reseau&lt;br /&gt;
|networkdevice&lt;br /&gt;
|networkdevice.class.php&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Liste_de_classes_et_objets&amp;diff=40077</id>
		<title>Liste de classes et objets</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Liste_de_classes_et_objets&amp;diff=40077"/>
		<updated>2018-10-15T07:00:48Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page a pour but d aider l utilisateur a appeler un objet ds dolibarr &lt;br /&gt;
(avec extrafields par exemple avec le &amp;quot;lien vers objet&amp;quot;)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE TIERS&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Contact&lt;br /&gt;
|Contact&lt;br /&gt;
|Contact:contact/class/contact.class.php&lt;br /&gt;
|-&lt;br /&gt;
|societe&lt;br /&gt;
|societe&lt;br /&gt;
|Société:societe/class/societe.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE PRODUIT&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Produit&lt;br /&gt;
|Product&lt;br /&gt;
|Product:Product/class/Product.class.php&lt;br /&gt;
|&lt;br /&gt;
|-&lt;br /&gt;
|Service&lt;br /&gt;
|Service&lt;br /&gt;
|?&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE ADHERENT&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|adherent&lt;br /&gt;
|adherent&lt;br /&gt;
|adherent:adherent/class/adherent.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE PROJET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|PROJET&lt;br /&gt;
|project&lt;br /&gt;
|project:project/class/project.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE TICKET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|TICKET&lt;br /&gt;
|ticket&lt;br /&gt;
|ticket/class/ticket.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE AGENDA&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Evenement&lt;br /&gt;
|Event&lt;br /&gt;
|comm/action/class/actioncomm.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE INTERVENTION&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|fichinter&lt;br /&gt;
|fichinter&lt;br /&gt;
|fichinter/class/fichinter.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE RESSOURCE&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|resource&lt;br /&gt;
|resource&lt;br /&gt;
|resource/class/resource.class.php&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
|+MODULE INFOEXTRANET&lt;br /&gt;
|-&lt;br /&gt;
|NOM DE L OBJET&lt;br /&gt;
|NOM DE L OBJET DS LA CLASSE&lt;br /&gt;
|CLASSE&lt;br /&gt;
|-&lt;br /&gt;
|Equipement&lt;br /&gt;
|device&lt;br /&gt;
|class/device.class.php&lt;br /&gt;
|-&lt;br /&gt;
|address&lt;br /&gt;
|address&lt;br /&gt;
|class/address.class.php&lt;br /&gt;
|-&lt;br /&gt;
|application&lt;br /&gt;
|application&lt;br /&gt;
|class/application.class.php&lt;br /&gt;
|-&lt;br /&gt;
|role&lt;br /&gt;
|role&lt;br /&gt;
|class/role.class.php&lt;br /&gt;
|-&lt;br /&gt;
|Equipement Reseau&lt;br /&gt;
|networkdevice&lt;br /&gt;
|networkdevice.class.php&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Dictionnary&amp;diff=40056</id>
		<title>Setup Dictionnary</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Dictionnary&amp;diff=40056"/>
		<updated>2018-10-12T15:01:10Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Function */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Help about screen:&#039;&#039;&#039; Setup Dictionnary&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Menu path:&#039;&#039;&#039; Home -&amp;gt; Setup -&amp;gt; Dictionary Setup&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Function =&lt;br /&gt;
&lt;br /&gt;
This page can be used to edit lists of values used in some Dolibarr comboboxes.&lt;br /&gt;
The lists available for editing depend on the modules activated.&lt;br /&gt;
&lt;br /&gt;
This is the list you should get if all modules are activated. &lt;br /&gt;
&lt;br /&gt;
* Currencies&lt;br /&gt;
* Countries&lt;br /&gt;
* Regions&lt;br /&gt;
* State/Cantons &lt;br /&gt;
* Juridical kinds of company&lt;br /&gt;
* Company types&lt;br /&gt;
* Staff&lt;br /&gt;
* Prospect potential level&lt;br /&gt;
* Civility title&lt;br /&gt;
* Contact/Address types&lt;br /&gt;
* Type of agenda events&lt;br /&gt;
* VAT Rates&lt;br /&gt;
* Payment terms&lt;br /&gt;
* Payment modes&lt;br /&gt;
* Origin of proposals/orders&lt;br /&gt;
* Ordering methods&lt;br /&gt;
* Shipping methods&lt;br /&gt;
* Types of fees&lt;br /&gt;
* Delivery delay 	 &lt;br /&gt;
* Paper formats&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Note:&#039;&#039; External modules can add extra specific dictionaries.&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39950</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39950"/>
		<updated>2018-10-05T07:25:26Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: can not upload file&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ_EN]]&lt;br /&gt;
This page will list all the common technical problems you can run into.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at &#039;&#039;&#039;/documents/dolibarr.log&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Dolibarr ask my login or password each time I click on a new link =&lt;br /&gt;
You PHP system to store Dolibarr session is probably no more working.&lt;br /&gt;
&lt;br /&gt;
Go into &#039;&#039;&#039;home - system info - php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What value do you have for parameter &amp;quot;session.save_handler&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
If it is &#039;&#039;&#039;files&#039;&#039;&#039;, take a look at parameter &amp;quot;session.save_path&amp;quot;. Its value is a directory path.&lt;br /&gt;
Check your web server can read and write into this directory. Check also there is enough free space onto disk.&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t approve a proposal/invoice/order/any other module =&lt;br /&gt;
&lt;br /&gt;
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.&lt;br /&gt;
&lt;br /&gt;
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:&lt;br /&gt;
&lt;br /&gt;
* A wrong permission for the /documents/ folder, so that Dolibarr can&#039;t rename the folder. If that&#039;s the case, you should have in your syslog something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1&lt;br /&gt;
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid &lt;br /&gt;
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like &amp;quot;/&amp;quot;), this will crash whenever you&#039;ll try to validate your document since it won&#039;t be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.&lt;br /&gt;
&lt;br /&gt;
= I encounter a DB_ERROR message =&lt;br /&gt;
Run the /install/repair.php page. This page can takes several minutes to run. Don&#039;t forget to run a [[Backups|backup]] first.&lt;br /&gt;
&lt;br /&gt;
What repair can do :&lt;br /&gt;
* Run repair SQL file.&lt;br /&gt;
* Search list of fields declared and list of fields created into databases, then create fields missing&lt;br /&gt;
* Clean data into ecm_directories table&lt;br /&gt;
* Move logos to correct new directory&lt;br /&gt;
* Rebuild thumbs for product files&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Check orphelins menus&lt;br /&gt;
* Run purge of directory&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Clean data into const when files of module were removed without being&lt;br /&gt;
&lt;br /&gt;
To operate, the page should be opened with at least one command:&lt;br /&gt;
* /install/repair.php?standard=confirmed&lt;br /&gt;
* /install/repair.php?clean_linked_elements=confirmed&lt;br /&gt;
* /install/repair.php?restore_thirdparties_logos=confirmed&lt;br /&gt;
* /install/repair.php?clean_menus=confirmed&lt;br /&gt;
* /install/repair.php?clean_orphelin_dir=confirmed&lt;br /&gt;
* /install/repair.php?clean_product_stock_batch=confirmed&lt;br /&gt;
* /install/repair.php?set_empty_time_spent_amount=confirmed&lt;br /&gt;
* /install/repair.php?rebuild_product_thumbs=confirmed&lt;br /&gt;
* /install/repair.php?force_disable_of_modules_not_found=confirmed&lt;br /&gt;
* /install/repair.php?clean_perm_table=confirmed&lt;br /&gt;
* /install/repair.php?force_utf8_on_tables=confirmed for Mysql only, when &#039;&#039;Illegal mix of collations (utf8_general_ci,IMPLICIT) and (utf8_unicode_ci,IMPLICIT) for operation &#039;=&#039; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t upload files  = &lt;br /&gt;
&lt;br /&gt;
&amp;lt;span style=&amp;quot;color: #FF0000;&amp;quot;&amp;gt;This section needs more informations.&amp;lt;/span&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Depending of your configuration, if you encounter the error&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
Warning: tempnam(): open_basedir restriction in effect. File(C:\WINDOWS\TEMP) is not within the allowed path(s): (c:/dolibarr) in C:\dolibarr\www\dolibarr\htdocs\core\modules\import\import_xlsx.modules.php on line 182&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
You will have to edit the php.ini&lt;br /&gt;
Find the directive upload_tmp_dir: uncomment the line and change its value to a required path. In this example it is &amp;quot;/var/tmp&amp;quot;:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
; Temporary directory for HTTP uploaded files (will use system default if not&lt;br /&gt;
; specified).&lt;br /&gt;
; http://php.net/upload-tmp-dir&lt;br /&gt;
upload_tmp_dir = /var/tmp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
Additionally for PHP versions 5.5 and greater, find the directive sys_temp_dir: uncomment the line and change its value to a required path. In this example, it is &amp;quot;/var/tmp&amp;quot;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
; Directory where the temporary files should be placed.&lt;br /&gt;
; Defaults to the system default (see sys_get_temp_dir)&lt;br /&gt;
sys_temp_dir = &amp;quot;/var/tmp&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
And in Vhosts &lt;br /&gt;
&amp;lt;source lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
open_basedir = {WEBSPACEROOT}{/}{:}{TMP}{/}:/var/tmp&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= My problem is not in the list =&lt;br /&gt;
&lt;br /&gt;
If the solution for your problem couldn&#039;t be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr&#039;s version, Apache&#039;s log...), and seek help at the following organisms:&lt;br /&gt;
&lt;br /&gt;
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39901</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39901"/>
		<updated>2018-10-02T07:01:07Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* I encounter a DB_ERROR message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ_EN]]&lt;br /&gt;
This page will list all the common technical problems you can run into.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at &#039;&#039;&#039;/documents/dolibarr.log&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Dolibarr ask my login or password each time I click on a new link =&lt;br /&gt;
You PHP system to store Dolibarr session is probably no more working.&lt;br /&gt;
&lt;br /&gt;
Go into &#039;&#039;&#039;home - system info - php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What value do you have for parameter &amp;quot;session.save_handler&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
If it is &#039;&#039;&#039;files&#039;&#039;&#039;, take a look at parameter &amp;quot;session.save_path&amp;quot;. Its value is a directory path.&lt;br /&gt;
Check your web server can read and write into this directory. Check also there is enough free space onto disk.&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t approve a proposal/invoice/order/any other module =&lt;br /&gt;
&lt;br /&gt;
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.&lt;br /&gt;
&lt;br /&gt;
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:&lt;br /&gt;
&lt;br /&gt;
* A wrong permission for the /documents/ folder, so that Dolibarr can&#039;t rename the folder. If that&#039;s the case, you should have in your syslog something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1&lt;br /&gt;
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid &lt;br /&gt;
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like &amp;quot;/&amp;quot;), this will crash whenever you&#039;ll try to validate your document since it won&#039;t be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.&lt;br /&gt;
&lt;br /&gt;
= I encounter a DB_ERROR message =&lt;br /&gt;
Run the /install/repair.php page. This page can takes several minutes to run. Don&#039;t forget to run a [[Backups|backup]] first.&lt;br /&gt;
&lt;br /&gt;
What repair can do :&lt;br /&gt;
* Run repair SQL file&lt;br /&gt;
* Search list of fields declared and list of fields created into databases, then create fields missing&lt;br /&gt;
* Clean data into ecm_directories table&lt;br /&gt;
* Move logos to correct new directory&lt;br /&gt;
* Rebuild thumbs for product files&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Check orphelins menus&lt;br /&gt;
* Run purge of directory&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Clean data into const when files of module were removed without being&lt;br /&gt;
&lt;br /&gt;
= My problem is not in the list =&lt;br /&gt;
&lt;br /&gt;
If the solution for your problem couldn&#039;t be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr&#039;s version, Apache&#039;s log...), and seek help at the following organisms:&lt;br /&gt;
&lt;br /&gt;
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39900</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39900"/>
		<updated>2018-10-02T07:00:44Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* I encounter a DB_ERROR message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ_EN]]&lt;br /&gt;
This page will list all the common technical problems you can run into.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at &#039;&#039;&#039;/documents/dolibarr.log&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Dolibarr ask my login or password each time I click on a new link =&lt;br /&gt;
You PHP system to store Dolibarr session is probably no more working.&lt;br /&gt;
&lt;br /&gt;
Go into &#039;&#039;&#039;home - system info - php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What value do you have for parameter &amp;quot;session.save_handler&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
If it is &#039;&#039;&#039;files&#039;&#039;&#039;, take a look at parameter &amp;quot;session.save_path&amp;quot;. Its value is a directory path.&lt;br /&gt;
Check your web server can read and write into this directory. Check also there is enough free space onto disk.&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t approve a proposal/invoice/order/any other module =&lt;br /&gt;
&lt;br /&gt;
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.&lt;br /&gt;
&lt;br /&gt;
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:&lt;br /&gt;
&lt;br /&gt;
* A wrong permission for the /documents/ folder, so that Dolibarr can&#039;t rename the folder. If that&#039;s the case, you should have in your syslog something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1&lt;br /&gt;
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid &lt;br /&gt;
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like &amp;quot;/&amp;quot;), this will crash whenever you&#039;ll try to validate your document since it won&#039;t be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.&lt;br /&gt;
&lt;br /&gt;
= I encounter a DB_ERROR message =&lt;br /&gt;
Run the /install/repair.php page. This page can takes several minutes to run. Don&#039;t forget to run a [[Backups|backup]] first.&lt;br /&gt;
&lt;br /&gt;
What repair can do :&lt;br /&gt;
* Run repair SQL file&lt;br /&gt;
* Search list of fields declared and list of fields created into databases, then create fields missing&lt;br /&gt;
* Clean data into ecm_directories table&lt;br /&gt;
* Move logos to correct new directory.&lt;br /&gt;
* Rebuild thumbs for product files&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Check orphelins menus&lt;br /&gt;
* Run purge of directory&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Clean data into const when files of module were removed without being&lt;br /&gt;
&lt;br /&gt;
= My problem is not in the list =&lt;br /&gt;
&lt;br /&gt;
If the solution for your problem couldn&#039;t be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr&#039;s version, Apache&#039;s log...), and seek help at the following organisms:&lt;br /&gt;
&lt;br /&gt;
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39899</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39899"/>
		<updated>2018-10-02T06:56:04Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* I encounter a DB_ERROR message */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ_EN]]&lt;br /&gt;
This page will list all the common technical problems you can run into.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at &#039;&#039;&#039;/documents/dolibarr.log&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Dolibarr ask my login or password each time I click on a new link =&lt;br /&gt;
You PHP system to store Dolibarr session is probably no more working.&lt;br /&gt;
&lt;br /&gt;
Go into &#039;&#039;&#039;home - system info - php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What value do you have for parameter &amp;quot;session.save_handler&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
If it is &#039;&#039;&#039;files&#039;&#039;&#039;, take a look at parameter &amp;quot;session.save_path&amp;quot;. Its value is a directory path.&lt;br /&gt;
Check your web server can read and write into this directory. Check also there is enough free space onto disk.&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t approve a proposal/invoice/order/any other module =&lt;br /&gt;
&lt;br /&gt;
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.&lt;br /&gt;
&lt;br /&gt;
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:&lt;br /&gt;
&lt;br /&gt;
* A wrong permission for the /documents/ folder, so that Dolibarr can&#039;t rename the folder. If that&#039;s the case, you should have in your syslog something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1&lt;br /&gt;
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid &lt;br /&gt;
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like &amp;quot;/&amp;quot;), this will crash whenever you&#039;ll try to validate your document since it won&#039;t be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.&lt;br /&gt;
&lt;br /&gt;
= I encounter a DB_ERROR message =&lt;br /&gt;
Run the /install/repair.php page. This page can takes several minutes to run. Don&#039;t forget to run a backup first.&lt;br /&gt;
&lt;br /&gt;
What repair can do :&lt;br /&gt;
* Run repair SQL file&lt;br /&gt;
* Search list of fields declared and list of fields created into databases, then create fields missing&lt;br /&gt;
* Clean data into ecm_directories table&lt;br /&gt;
* Move logos to correct new directory.&lt;br /&gt;
* Rebuild thumbs for product files&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Check orphelins menus&lt;br /&gt;
* Run purge of directory&lt;br /&gt;
* Check and clean linked elements&lt;br /&gt;
* Clean data into const when files of module were removed without being&lt;br /&gt;
&lt;br /&gt;
= My problem is not in the list =&lt;br /&gt;
&lt;br /&gt;
If the solution for your problem couldn&#039;t be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr&#039;s version, Apache&#039;s log...), and seek help at the following organisms:&lt;br /&gt;
&lt;br /&gt;
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39898</id>
		<title>Troubleshooting</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Troubleshooting&amp;diff=39898"/>
		<updated>2018-10-02T06:44:02Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: repair.php&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:FAQ_EN]]&lt;br /&gt;
This page will list all the common technical problems you can run into.&lt;br /&gt;
&lt;br /&gt;
If you run into a problem, the first step is to activate the Syslog module, then to redo the steps that leads you to a bug, and then check the log file residing at &#039;&#039;&#039;/documents/dolibarr.log&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
= Dolibarr ask my login or password each time I click on a new link =&lt;br /&gt;
You PHP system to store Dolibarr session is probably no more working.&lt;br /&gt;
&lt;br /&gt;
Go into &#039;&#039;&#039;home - system info - php&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
What value do you have for parameter &amp;quot;session.save_handler&amp;quot; ?&lt;br /&gt;
&lt;br /&gt;
If it is &#039;&#039;&#039;files&#039;&#039;&#039;, take a look at parameter &amp;quot;session.save_path&amp;quot;. Its value is a directory path.&lt;br /&gt;
Check your web server can read and write into this directory. Check also there is enough free space onto disk.&lt;br /&gt;
&lt;br /&gt;
= I can&#039;t approve a proposal/invoice/order/any other module =&lt;br /&gt;
&lt;br /&gt;
When you approve a document, Dolibarr will rename the folders and all the documents that belonged to the temporary document into the final one.&lt;br /&gt;
&lt;br /&gt;
In most cases, the validation problems arise when Dolibarr tries to rename, and can be caused by:&lt;br /&gt;
&lt;br /&gt;
* A wrong permission for the /documents/ folder, so that Dolibarr can&#039;t rename the folder. If that&#039;s the case, you should have in your syslog something like:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=text&amp;gt;&lt;br /&gt;
ERROR 127.0.0.1 user fiche Interfaces::run_triggers action=ORDER_SUPPLIER_VALIDATE Files found: 6, Files launched: 5, Done: 0, Failed: 1&lt;br /&gt;
ERROR 127.0.0.1 user fiche CommandeFournisseur::valid &lt;br /&gt;
DEBUG 127.0.0.1 user fiche ROLLBACK Transaction&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
* A wrong custom numerotation system: if you use illegal characters for the filesystem (like &amp;quot;/&amp;quot;), this will crash whenever you&#039;ll try to validate your document since it won&#039;t be able to use this illegal character in the renaming. Try to disable your current custom numerotation system and enable the default one temporarily to see if this fixes the issue.&lt;br /&gt;
&lt;br /&gt;
= I encounter a DB_ERROR message =&lt;br /&gt;
Run the /install/repair.php page. This page can takes several minutes to run. Don&#039;t forget to run a backup first.&lt;br /&gt;
&lt;br /&gt;
= My problem is not in the list =&lt;br /&gt;
&lt;br /&gt;
If the solution for your problem couldn&#039;t be found in this page, please keep in a safe place a maximum of detailed informations (like the dolibarr log, php version, database type and version, dolibarr&#039;s version, Apache&#039;s log...), and seek help at the following organisms:&lt;br /&gt;
&lt;br /&gt;
http://wiki.dolibarr.org/index.php/Dolibarr_help_and_support&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39849</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39849"/>
		<updated>2018-09-25T12:29:17Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Global Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_NOTES_TAB (core) =&amp;gt; Display total of notes in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_CONTACTS_TAB (core) =&amp;gt; Display total of contacts in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) =&amp;gt; Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (&amp;lt; 8) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39841</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39841"/>
		<updated>2018-09-25T12:19:39Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: /* Global Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_NOTES_TAB =&amp;gt; Display total of notes in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_CONTACTS_TAB =&amp;gt; Display total of contacts in the card page&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) =&amp;gt; Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (&amp;lt; 8) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39840</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39840"/>
		<updated>2018-09-25T12:14:51Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: add constant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_NOTES_TAB =&amp;gt; informations needed&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_CONTACTS_TAB =&amp;gt; informations needed&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_VAT_OF_PRODUCT_FOR_INDIVIDUAL_CUSTOMER_OUT_OF_EEC (dolibarr 7.0) =&amp;gt; Allow using product VAT if customer is individual and out of E.E.C. (European Economic Community)&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (&amp;lt; 8) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Security_information&amp;diff=39822</id>
		<title>Security information</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Security_information&amp;diff=39822"/>
		<updated>2018-09-25T07:14:55Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Add table for $dolibarr_main_force_https&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin]]&lt;br /&gt;
[[Category:Admin_en]]&lt;br /&gt;
&lt;br /&gt;
= [[File:securite.png]] Alerts =&lt;br /&gt;
Last update: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}&lt;br /&gt;
&lt;br /&gt;
Some SQL injections vulnerabilities have been reported. They are a small risk as they are in page that need to be logged to be used. Fix is available into 7.0.&lt;br /&gt;
&lt;br /&gt;
= [[File:art.png]] Features =&lt;br /&gt;
Dolibarr implements several security features. Among them :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Encryption&#039;&#039;&#039;&lt;br /&gt;
* User passwords can be encrypted in database &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Database technical password can be obfuscated into the [[Configuration_file|Dolibarr configuration file]] (conf.php) &amp;lt;sup&amp;gt;[*8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Possibility to force HTTPS &amp;lt;sup&amp;gt;[*9]&amp;lt;/sup&amp;gt;. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//conf/conf.php file&lt;br /&gt;
//example of $dolibarr_main_force_https  configuration&lt;br /&gt;
$dolibarr_main_force_https = &#039;1&#039;;//to force https&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{| class=wikitable style=&amp;quot;width:100%;&amp;quot;&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Values&lt;br /&gt;
! scope=&amp;quot;col&amp;quot;| Description&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
0&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
No forced redirect&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
1&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
Force redirect to https, until SCRIPT_URI start with https into response&lt;br /&gt;
&lt;br /&gt;
|-&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
2&lt;br /&gt;
| style=&amp;quot;width:50%;&amp;quot; |&lt;br /&gt;
Force redirect to https, until SERVER[&amp;quot;HTTPS&amp;quot;] is &#039;on&#039; into response&lt;br /&gt;
&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hacks and cracks&#039;&#039;&#039;&lt;br /&gt;
* Works with register_globals on or off (off highly recommended) &amp;lt;sup&amp;gt;[*2]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Works with PHP safe_mode on or off (on recommended) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Production option to disable any technical information leakage like debug, error stacktrace, version informations (See [[Configuration_file|configuration file]]) &amp;lt;sup&amp;gt;[*6]&amp;lt;/sup&amp;gt;. &lt;br /&gt;
* Protection against SQL injection &amp;lt;sup&amp;gt;[*2]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Protection against XSS injection (Cross Site Scripting) &amp;lt;sup&amp;gt;[*1]&amp;lt;/sup&amp;gt;. Note that it is better to also protect your web server by disabled Apache option&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
AcceptPathInfo Off&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Protection against CSRF (Cross Site Request Forgery) &amp;lt;sup&amp;gt;[*5]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pages and files access&#039;&#039;&#039;&lt;br /&gt;
* Pages and contents are protected by centralized entry code to check permissions (granted on groups or users for each functional module) &amp;lt;sup&amp;gt;[*4]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Files saved by Dolibarr are stored in a different root directory than web application (so they can&#039;t be downloaded without passing by the Dolibarr wrapper) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Dolibarr directories content can&#039;t be accessed even if Apache option Indexes has be forgotten to on (should not) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login protection&#039;&#039;&#039;&lt;br /&gt;
* Delay anti brute force cracking on login page &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Option for graphical code (CAPTCHA) against robots on login page &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* No passwords in logs, even in technical logs &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Internal logger to save permanently all Dolibarr events about user&#039;s administration and successful or failed logins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viruses&#039;&#039;&#039;&lt;br /&gt;
* Possibility to run an external anti-virus on every uploaded files &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;sup&amp;gt;(*X)&amp;lt;/sup&amp;gt; This solution is part of protection used to solve vulnerabilities classified by the [http://www.owasp.org/index.php/Top_10_2007 OWASP Top Ten] at range number X.&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Configuration_file&amp;diff=39811</id>
		<title>Configuration file</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Configuration_file&amp;diff=39811"/>
		<updated>2018-09-24T08:53:00Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: dolibarr_main_force_https&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin]]&lt;br /&gt;
[[Category:Admin_en]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
The Dolibarr configuration file is &#039;&#039;&#039;conf/conf.php&#039;&#039;&#039;. It is created by the automatic install process.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
= Content =&lt;br /&gt;
Content of this file is :&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$dolibarr_main_document_root=&amp;quot;/home/www/dolibarr/htdocs&amp;quot;;&lt;br /&gt;
$dolibarr_main_url_root=&amp;quot;http://mydomain.com/dolibarr&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_type=&amp;quot;mysql&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_host=&amp;quot;localhost&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_port=&amp;quot;3306&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_name=&amp;quot;dolibarr&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_user=&amp;quot;dolibarr&amp;quot;;&lt;br /&gt;
$dolibarr_main_db_pass=&amp;quot;&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039; Other options&#039;&#039;&#039;:&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$dolibarr_main_demo=&amp;quot;demologin,demopass&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-&amp;gt; Disable some features to limit software when used as a demo software. This is to avoid that everybody make everything with a demo instance of Dolibarr.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$dolibarr_main_prod=&amp;quot;1&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-&amp;gt; When this option is added in conf file, no information will be reported by Dolibarr when an internal error occurs. This is to use in a production environment to hide any information to hackers.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$dolibarr_main_authentication=&amp;quot;dolibarr&amp;quot;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-&amp;gt; Allows to change the way the password is checked when a user ty to login to Dolibarr:&lt;br /&gt;
* Value &amp;quot;dolibarr&amp;quot; means check is done with the password stored in database.&lt;br /&gt;
* &amp;quot;ldap&amp;quot; ask to use a LDAP server (in this case, you must also define other LDAP parameters (See file conf.php.example)&lt;br /&gt;
* &amp;quot;http&amp;quot; use basic http protocol (need to configure your web server to set dolibarr inside a basic authentication area)&lt;br /&gt;
&lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
$dolibarr_main_force_https = &amp;quot;1&amp;quot;;&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
-&amp;gt; Force url to https.&lt;br /&gt;
&lt;br /&gt;
Dolibarr provide a model of file named &#039;&#039;&#039;conf/conf.php.example&#039;&#039;&#039; where each parameter is commented.&lt;br /&gt;
&lt;br /&gt;
= Read/Write file =&lt;br /&gt;
This file must never be modified, never read directly by any Dolibarr feature.&lt;br /&gt;
&lt;br /&gt;
It is created by the install or update process of Dolibarr (install/index.php) that is the only process allowed to make actions on this file.&lt;br /&gt;
&lt;br /&gt;
= Usage in coding =&lt;br /&gt;
Content of file must be used by developers by using predefined loaded constants or the object &#039;&#039;&#039;$conf&#039;&#039;&#039; created by the code into files &#039;&#039;&#039;master.inc.php&#039;&#039;&#039; or &#039;&#039;&#039;main.inc.php&#039;&#039;&#039; (that must be included at beginning of every PHP program: master.inc.php for scripts or main.inc.php for pages).&lt;br /&gt;
Your code must never open the config file and read it directly. This is not necessarly.&lt;br /&gt;
&lt;br /&gt;
* $dolibarr_main_data_root is known in code in constant: DOL_DATA_ROOT (that indicate physical path of directory with data files uploaded or created by Dolibarr).&lt;br /&gt;
* $dolibarr_main_document_root is known in code in constant: DOL_DOCUMENT_ROOT (that indicate physical path of Dolibarr directory programs).&lt;br /&gt;
* $dolibarr_main_url_root is known in code in constant: DOL_URL_ROOT (that indicate relative URL that is Dolibarr root).&lt;br /&gt;
* $dolibarr_main_db_type is known in code on variable $conf-&amp;gt;db-&amp;gt;type&lt;br /&gt;
* $dolibarr_main_db_host is known in code on variable $conf-&amp;gt;db-&amp;gt;host&lt;br /&gt;
* $dolibarr_main_db_port is known in code on variable $conf-&amp;gt;db-&amp;gt;port&lt;br /&gt;
* $dolibarr_main_db_name is known in code on variable $conf-&amp;gt;db-&amp;gt;name&lt;br /&gt;
* $dolibarr_main_db_user is known in code on variable $conf-&amp;gt;db-&amp;gt;login&lt;br /&gt;
* $dolibarr_main_db_pass is not known by code. It is read by script &#039;&#039;&#039;master.inc.php&#039;&#039;&#039; that created a connexion object &#039;&#039;&#039;$db&#039;&#039;&#039; then variable $dolibarr_main_db_pass is erased.&lt;br /&gt;
&lt;br /&gt;
See tutorial on page [[Module development|Module development]] or [[Script development]] for more information.&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Security_information&amp;diff=39809</id>
		<title>Security information</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Security_information&amp;diff=39809"/>
		<updated>2018-09-24T06:45:37Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: how to force https in conf.php&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category:Admin]]&lt;br /&gt;
[[Category:Admin_en]]&lt;br /&gt;
&lt;br /&gt;
= [[File:securite.png]] Alerts =&lt;br /&gt;
Last update: {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY}}&lt;br /&gt;
&lt;br /&gt;
Some SQL injections vulnerabilities have been reported. They are a small risk as they are in page that need to be logged to be used. Fix is available into 7.0.&lt;br /&gt;
&lt;br /&gt;
= [[File:art.png]] Features =&lt;br /&gt;
Dolibarr implements several security features. Among them :&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Encryption&#039;&#039;&#039;&lt;br /&gt;
* User passwords can be encrypted in database &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Database technical password can be obfuscated into the [[Configuration_file|Dolibarr configuration file]] (conf.php) &amp;lt;sup&amp;gt;[*8]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Possibility to force HTTPS &amp;lt;sup&amp;gt;[*9]&amp;lt;/sup&amp;gt;. &lt;br /&gt;
&amp;lt;source lang=&amp;quot;php&amp;quot;&amp;gt;&lt;br /&gt;
//conf/conf.php file&lt;br /&gt;
//$dolibarr_main_force_https = &#039;0&#039;;&lt;br /&gt;
$dolibarr_main_force_https = &#039;1&#039;;//to force https&lt;br /&gt;
&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Hacks and cracks&#039;&#039;&#039;&lt;br /&gt;
* Works with register_globals on or off (off highly recommended) &amp;lt;sup&amp;gt;[*2]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Works with PHP safe_mode on or off (on recommended) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Production option to disable any technical information leakage like debug, error stacktrace, version informations (See [[Configuration_file|configuration file]]) &amp;lt;sup&amp;gt;[*6]&amp;lt;/sup&amp;gt;. &lt;br /&gt;
* Protection against SQL injection &amp;lt;sup&amp;gt;[*2]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Protection against XSS injection (Cross Site Scripting) &amp;lt;sup&amp;gt;[*1]&amp;lt;/sup&amp;gt;. Note that it is better to also protect your web server by disabled Apache option&lt;br /&gt;
&amp;lt;source lang=&amp;quot;ini&amp;quot;&amp;gt;&lt;br /&gt;
AcceptPathInfo Off&lt;br /&gt;
&amp;lt;/source&amp;gt;&lt;br /&gt;
* Protection against CSRF (Cross Site Request Forgery) &amp;lt;sup&amp;gt;[*5]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Pages and files access&#039;&#039;&#039;&lt;br /&gt;
* Pages and contents are protected by centralized entry code to check permissions (granted on groups or users for each functional module) &amp;lt;sup&amp;gt;[*4]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Files saved by Dolibarr are stored in a different root directory than web application (so they can&#039;t be downloaded without passing by the Dolibarr wrapper) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt; &amp;lt;sup&amp;gt;[*10]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Dolibarr directories content can&#039;t be accessed even if Apache option Indexes has be forgotten to on (should not) &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Login protection&#039;&#039;&#039;&lt;br /&gt;
* Delay anti brute force cracking on login page &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Option for graphical code (CAPTCHA) against robots on login page &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* No passwords in logs, even in technical logs &amp;lt;sup&amp;gt;[*7]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
* Internal logger to save permanently all Dolibarr events about user&#039;s administration and successful or failed logins.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Viruses&#039;&#039;&#039;&lt;br /&gt;
* Possibility to run an external anti-virus on every uploaded files &amp;lt;sup&amp;gt;[*3]&amp;lt;/sup&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
----&lt;br /&gt;
&amp;lt;sup&amp;gt;(*X)&amp;lt;/sup&amp;gt; This solution is part of protection used to solve vulnerabilities classified by the [http://www.owasp.org/index.php/Top_10_2007 OWASP Top Ten] at range number X.&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39749</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39749"/>
		<updated>2018-09-20T08:16:35Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Add MAIN_SERVICES_ARE_ECOMMERCE_200238EC constant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* MAIN_SERVICES_ARE_ECOMMERCE_200238EC (&amp;lt; 8) =&amp;gt; &lt;br /&gt;
&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39748</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39748"/>
		<updated>2018-09-20T08:15:28Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Add CASHDESK_FORCE_STOCK_ON_BILL constant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
* CASHDESK_FORCE_STOCK_ON_BILL (&amp;gt;= 8.0.1) =&amp;gt; Option to force decrease of stock whatever is user setup.&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39747</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39747"/>
		<updated>2018-09-20T08:14:15Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Add  STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS constant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* STOCK_WAREHOUSE_NOT_REQUIRED_FOR_SHIPMENTS (&amp;gt;= 8.0.1) =&amp;gt; If set, you can add a shipment line, with no stock source defined.&lt;br /&gt;
&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39746</id>
		<title>Setup Other</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Setup_Other&amp;diff=39746"/>
		<updated>2018-09-20T08:13:42Z</updated>

		<summary type="html">&lt;p&gt;Dolibarr95: Wrong place for the constant&lt;/p&gt;
&lt;hr /&gt;
&lt;div&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 -&amp;gt; Setup -&amp;gt; Other&lt;br /&gt;
&lt;br /&gt;
= Goal =&lt;br /&gt;
This page is built to add/edit new parameters without a dedicated page to edit them. In most cases, it is parameters for your own development, external modules, or hidden features which can allow some tweaking to your own Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
For standard usage of Dolibarr, this screen must be kept empty and not be used.&lt;br /&gt;
&lt;br /&gt;
= List of Known Hidden Options =&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;
To enable/override a parameter you have to define the constant name and set it to &#039;&#039;&#039;1&#039;&#039;&#039; in &#039;&#039;&#039;Home -&amp;gt; Setup -&amp;gt; Other Setup&#039;&#039;&#039;: &lt;br /&gt;
&lt;br /&gt;
== Global Options ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_LOGOUT_GOTO_URL =&amp;gt; (core) url to which the user will be redirected after LOGOUT.&lt;br /&gt;
&lt;br /&gt;
* MAIN_FILESYSTEM_ENCODING =&amp;gt; With some PHP versions, PHP is not able to detect the page code for filesystem of the server OS. To solve this, Dolibarr assumes your OS filesystem is UTF-8 if on linux or osx system, and iso-8859-1 if on Windows. If not, for example on a Windows server with a NTFS UTF-8 pagecode, you can set the variable MAIN_FILESYSTEM_ENCODING to &amp;quot;utf-8&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TECHNICAL_ID =&amp;gt; Show also technical IDs on elements cards or some lists (not supported everywhere).&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAXTABS_IN_CARD =&amp;gt; Max number of tabs visible. Others are grouped into a combo list.&lt;br /&gt;
&lt;br /&gt;
* MAIN_ONLY_LOGIN_ALLOWED =&amp;gt; Only the specified login is allowed to log in Dolibarr (maintenance mode).&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PUBLIC_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;public&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTO_TIMESTAMP_IN_PRIVATE_NOTES =&amp;gt; Add a timestamp and user automatically when editing the &#039;&#039;private&#039;&#039; note.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SECURITY_CSRF_WITH_TOKEN (&amp;gt;= 5.0) =&amp;gt; Activate a second anti CSRF protection on POST (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 less powerful.&lt;br /&gt;
&lt;br /&gt;
* MAIN_APPLICATION_TITLE =&amp;gt; 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]]&lt;br /&gt;
&lt;br /&gt;
* MAIN_AUTOFILL_DATE =&amp;gt; If this constant is defined (to something other than 0), the date of invoice, proposal, order or payment are auto-filled with the current date. It is highly recommended to NOT ENABLE this feature. This can create a lot of input errors with data not validated by users. This leads to incorrect values saved in the database causing confusion when you have to do your accountancy reports ! However some users want it, so we provide it.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_FULL_SCANLIST =&amp;gt; Disables the complete scan of tables to allow the pagination to show total number of pages. May be useful to activate on systems with a very high quantity of data (tables with more than 500 000 records).&lt;br /&gt;
&lt;br /&gt;
* MAIN_FIRST_TO_UPPER =&amp;gt; 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;
* MAIN_ENABLE_LOG_TO_HTML (MAIN_LOGTOHTML before 3.9) =&amp;gt; If this constant is defined, it is possible to have logs inside pages by adding the parameter &amp;amp;logtohtml=1 into URL.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_HOURMIN_IN_DATE_RANGE =&amp;gt; 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;
* MAIN_REMOVE_INSTALL_WARNING =&amp;gt; Remove all security warnings that appear to administrator users if URL /install is public. You should solve the problem if warning occurs, instead of removing the warning! For this, put a file called install.lock into Dolibarr root directory. This will stop the warning but also make the page /install not possible to use, to protect your installation.&lt;br /&gt;
&lt;br /&gt;
* MAIN_OPTIMIZE_SPEED =&amp;gt; Use some speed enhancements. See page [[Increase_Performance]] for more information.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPLACE_TRANS_xx_XX =&amp;gt; Where xx_XX is language code. If value is string1:newstring1;string2:newstring2 then replace string1 with newstring1 in all translation done for language xx_XX.&lt;br /&gt;
&lt;br /&gt;
* MAIN_REPEATCONTACTONEACHTAB =&amp;gt; If added and set to 1, this adds contacts on all tabs, not only main tab.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_JQUERY_JNOTIFY =&amp;gt; Disable usage of JNotify to show confirm or error messages&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_JEDITABLE =&amp;gt; Allow to update from screen, directly into database, some properties of elements (invoices, proposals, ...) using Ajax. This make response time faster, but avoid using this features, because, it bypasses some business actions (updates on other data that should be done consistently) and ignores business controls on data you saved. So this feature breaks consistency of data and possibly the stability of the software.&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_JQUERY_MULTISELECT =&amp;gt; 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;
* MAIN_HELPCENTER_LINKTOUSE  =&amp;gt; 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;
* MAIN_MODULES_FOR_EXTERNAL =&amp;gt; Limit available modules for external users. By default value is &#039;facture,commande,contact,propal,projet,contrat,societe,ficheinter,expedition,agenda&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_SHOW_TUNING_INFO =&amp;gt; Add tuning information into javascript console. Better when xdebug is enabled.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOL_SCRIPTS_ROOT =&amp;gt; Define directory who contains &#039;scripts&#039; directory (e.g /var/www/dolibarr)&lt;br /&gt;
&lt;br /&gt;
* MAIN_MIN_NB_ENABLED_MODULE_FOR_WARNING =&amp;gt; A warning saying setup of modules is not complete is shown if the number of enabled modules is lower or equal than this value (1 if not defined)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_SALE_REP_SIGNATURE_IN_NOTE =&amp;gt; Add signature of the first sale representative into documents (at end of public notes).&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_AJAX_COMBOX =&amp;gt; If you have a large number of third parties or products, you can disable the autocomplete feature on the third parties list by setting constant MAIN_DISABLE_AJAX_COMBOX to 1 into Home-Setup-Other (with Dolibarr v3.6.0+).&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_CACHE_MANIFEST =&amp;gt; Add an HTML5 cache manifest to the page - Attention, this functionality is obsolete and removed from web standards&lt;br /&gt;
&lt;br /&gt;
* MAIN_FORCELANGDIR =&amp;gt; relative path of the directory holding your custom langs folder.&lt;br /&gt;
&lt;br /&gt;
* MAIN_VAT_DEFAULT_IF_AUTODETECT_FAILS =&amp;gt; allow to define a default VAT rate&lt;br /&gt;
&lt;br /&gt;
* MAIN_HTML_TITLE =&amp;gt; can be used to control how the html page title is formatted. If value contains key &#039;noapp&#039;, application name will not be output. If value contains &#039;thirdpartynameonly&#039;, on tab for thirdparties, only name of thirdparties are output. Value can be list of tags: &#039;noapp;thirdpartynameonly&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_LANDING_PAGE =&amp;gt; (&amp;gt;= 3.9). Can choose the first page to show after login (the landing page). This option works as a global option (llx_const) and per user option (llx_user_param).&lt;br /&gt;
&lt;br /&gt;
* MAIN_PROPAGATE_CONTACTS_FROM_ORIGIN =&amp;gt; (&amp;gt;= 4.0) When creating an order, contract, invoice from another object, specific contacts of objects are set as specific contact of the new object when possible.&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_ROUND =&amp;gt; Accuracy of weight (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_WEIGHT_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_ROUND =&amp;gt; Accuracy of volume (number of decimals)&lt;br /&gt;
&lt;br /&gt;
* MAIN_VOLUME_DEFAULT_UNIT =&amp;gt; Default unit for weight (0=kg, -3=g, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_PUBLIC_NOTE_IN_ADDRESS &amp;gt;=4.0 =&amp;gt; show public note in address block&lt;br /&gt;
&lt;br /&gt;
* MAIN_DEFAULT_PAYMENT_TERM_ID =&amp;gt; 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;
&lt;br /&gt;
* MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND =&amp;gt; Change way of rounding total TTC lines, rounding first of after&lt;br /&gt;
&lt;br /&gt;
* MAIN_VIEW_LINE_NUMBER =&amp;gt; Shows a line number against each line in the order/invoice for products/services.  On screen only, not on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_OBJECT_THIRDPARTY_NAME =&amp;gt; Add name of thirdparty at begin of generated document&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOC_USE_TIMING =&amp;gt; Add a timestamp at end of generated document. Value must be format of timestamp. For example: %Y%m%d%H%M&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLEDRAFTSTATUS =&amp;gt; Disable the status Draft for some objects (project, donation, ...)&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_OLD_SEARCH_FORM =&amp;gt; Display the old search form in left menu.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SERVER_TZ =&amp;gt; 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;UTC&#039; so PHP server timezone will not have effect anymore. Examples : Europe/Paris, auto.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SEARCH_FORM_ON_HOME_AREAS =&amp;gt; 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;
* MAIN_SEARCH_DIRECT_OPEN_IF_ONLY_ONE =&amp;gt; If only one result is found, then setting this value to &#039;&#039;&#039;1&#039;&#039;&#039; will take you direct to the item (default method).  Setting the value to &#039;&#039;&#039;0&#039;&#039;&#039; will show the result in the list as a single result (v5.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_ENABLE_IMPORT_LINKED_OBJECT_LINES (dolibarr 8.0) =&amp;gt; Allow to import lines into current document from &amp;quot;linked&amp;quot; compatible documents&lt;br /&gt;
&lt;br /&gt;
== Look or Theme ==&lt;br /&gt;
* MAIN_OPTIMIZEFORTEXTBROWSER =&amp;gt; Optimize output rendering for usage of a text browser (usefull for blind people)&lt;br /&gt;
* THEME_ELDY_DISABLE_IMAGE =&amp;gt; Disabled images of top menu for eldy theme.&lt;br /&gt;
* MAIN_MENU_HIDE_UNAUTHORIZED =&amp;gt; Hide menu if logged in user is not autorized rather than just grey them&lt;br /&gt;
* THEME_TOPMENU_STICKY_POSITION =&amp;gt; Option to fix top menu with eldy theme (hidden conf)(v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Email and SMS ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAILFORM_DISABLE_ENTERKEY (&amp;gt;= 8.0.1) =&amp;gt;  Activate javascript code to disable the enter key in the MAIL form.&lt;br /&gt;
&lt;br /&gt;
* MAIL_PREFIX_FOR_EMAIL_ID (&amp;gt;= 8.0.1) =&amp;gt;  Prefix for the mails ID. Default value is $_SERVER[&amp;quot;SERVER_NAME&amp;quot;]&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DEBUG =&amp;gt; Write content with header of last mail into file dolibarr_mail.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_SMS_DEBUG =&amp;gt; Write content of SMS sent into file dolibarr_sms.log into directory dolibarr_main_data_root.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ALLOW_SENDMAIL_F =&amp;gt; On Linux or BSD system, PHP email function use the command sendmail local to server. In some cases, the sender email must be provided on command line of sendmail with option -f. This option is here to ask Dolibarr to call the function &#039;&#039;&#039;mail&#039;&#039;&#039; of PHP by adding value for the option -f. Note that in most cases, even with sendmail, sender email is correctly managed as it is added in the email technical header. This option is here only for rare setup of sendmail that ask the &#039;&#039;&#039;-f&#039;&#039;&#039; 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;
* MAIN_MAIL_SENDMAIL_FORCE_BA =&amp;gt; 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 &#039;&#039;&#039;-ba&#039;&#039;&#039; parameter to sendmail. This option ask PHP to provide this parameter when sending a mail. Note that another solution is to edit the &#039;&#039;&#039;mail.force_extra_parameters=-ba&#039;&#039;&#039; into &#039;&#039;&#039;php.ini&#039;&#039;&#039; file.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_NO_FULL_EMAIL =&amp;gt; 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;
* MAIN_FIX_FOR_BUGGED_MTA =&amp;gt; Some MTA agent are bugged and add some CR chars each time they saw a LF. Because Dolibarr emails are forged to be already cleaned, if MTA agent do that, you will send an email with two CR chars. This may result in having recipient not able to read your email. To fix this, add this constant to 1. Dolibarr will then create an email that is not RFC compliant but because the MTA agent is bugged, the email will be modified and become correct during sending, solving the problem of bad email received. Add this constant if your recipient experience problems when opening email for example users using webmail of orange.fr or hotmail.com&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_DO_NOT_USE_SIGN =&amp;gt; Do not add user signature at end of suggested pre-defined email&lt;br /&gt;
&lt;br /&gt;
* MAIL_FORCE_DELIVERY_RECEIPT_INVOICE =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_ORDER =&amp;gt; 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;
* MAIL_FORCE_DELIVERY_RECEIPT_PROPAL =&amp;gt; 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;
&lt;br /&gt;
* MAIN_EMAIL_USECCC =&amp;gt; 1 = Show field BCC into email forms, If email = Show BCC prefilled with email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_AUTOCOPY_PROPOSAL_TO, MAIN_MAIL_AUTOCOPY_ORDER_TO, MAIN_MAIL_AUTOCOPY_INVOICE_TO =&amp;gt; Email to use as a BCC recipients when sending email for proposal, order or invoice. You can make this value visible by setting MAIN_EMAIL_USECCC (to 1 or to another email, see previous point)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EMAIL_ADD_TRACK_ID =&amp;gt; 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;
* MAIL_MAX_NB_OF_RECIPIENTS_IN_SAME_EMAIL =&amp;gt; Restrict sending of 1 email message to x recipients for same email message (x for To: + CC: + BCC:). If not defined, value is 10. Required to fight against spamming that include 1000 recipients in 1 message. Note that MAIL_MAX_NB_OF_RECIPIENTS_TO_IN_SAME_EMAIL, MAIL_MAX_NB_OF_RECIPIENTS_CC_IN_SAME_EMAIL and MAIL_MAX_NB_OF_RECIPIENTS_BCC_IN_SAME_EMAIL are also available.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_FORCE_CONTENT_TYPE_TO_HTML =&amp;gt; Force to send all email (event with text only content) as HTML formatted email.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_USE_MULTI_PART =&amp;gt; Forge email content using an alternate text part (for 5.0.2+). By default with 6.0+&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ADD_INLINE_IMAGES_IF_IN_MEDIAS =&amp;gt; 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;
* MAIN_COPY_FILE_IN_EVENT_AUTO =&amp;gt; Add attachement document on event auto generated by sending email from dolibarr. (v6.0+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_EXTERNAL_SMTP_CLIENT_IP_ADDRESS =&amp;gt; Enter the public ip address of the server, so it will appears into the help on the email setup page.&lt;br /&gt;
&lt;br /&gt;
* MAIN_MAIL_ENABLED_USER_DEST_SELECT =&amp;gt; Show also internal users into list of recipients of email in email sending form (v8.0+)&lt;br /&gt;
&lt;br /&gt;
== Third Parties module ==&lt;br /&gt;
&lt;br /&gt;
* COMPANY_AQUARIUM_CLEAN_REGEX (&amp;gt;= 8.0.1) =&amp;gt; Add a REGEX rule on the third parties names.&lt;br /&gt;
* MAIN_FORCE_DEFAULT_STATE_ID (&amp;gt;= 8.0.1) =&amp;gt;  Enables to force the selection of a country / province / county from a country specifying IDs&lt;br /&gt;
* SOCIETE_DISABLE_CUSTOMERS =&amp;gt; Remove all menu and features related to customers&lt;br /&gt;
* SOCIETE_DISABLE_PROSPECTS =&amp;gt; Remove all menu and features related to prospects&lt;br /&gt;
* SOCIETE_DISABLE_STATE =&amp;gt; Do not use field &amp;quot;state/province&amp;quot;&lt;br /&gt;
* THIRDPARTY_NOTCUSTOMERPROSPECT_BY_DEFAULT =&amp;gt; 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;
* THIRDPARTY_NOTSUPPLIER_BY_DEFAULT =&amp;gt; Do not set status &amp;quot;Supplier&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;
* SOCIETE_SORT_ON_TYPEENT = The combo list of &amp;quot;type of third party&amp;quot; is sorted on a field &amp;quot;position&amp;quot; that appears into dictionary instead of alphabetical order.&lt;br /&gt;
* THIRDPARTY_DEFAULT_CREATE_CONTACT (Dolibarr 5.0+) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* MAIN_THIRDPARTY_CREATION_INDIVIDUAL (Dolibarr &amp;lt;5.0) =&amp;gt; Default Third party create are individual&lt;br /&gt;
* THIRDPARTY_DEFAULT_USEVAT =&amp;gt; When creating a new third party, the field &amp;quot;Use vat&amp;quot; is set to on or off depending on value of this parameter.&lt;br /&gt;
* THIRDPARTY_DEFAULT_USELOCALTAX1 =&amp;gt; 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;
* THIRDPARTY_DEFAULT_USELOCALTAX2 =&amp;gt; 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;
* THIRDPARTY_INCLUDE_PARENT_IN_LINKTO =&amp;gt; Search also for elements on parent third party when using the &amp;quot;link to&amp;quot; object feature.&lt;br /&gt;
* THIRDPARTY_INCLUDE_PROJECT_THIRDPARY_IN_LINKTO =&amp;gt; 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;
* SOCIETE_ASK_FOR_SHIPPING_METHOD =&amp;gt; Shipping method can be predefined on customer card and will be used as default on order creation&lt;br /&gt;
* THIRDPARTY_LOGO_ALLOW_EXTERNAL_DOWNLOAD =&amp;gt; When a logo is uploaded, a share key is automatically set so the file can be downloaded using the share key.&lt;br /&gt;
* MAIN_DISABLE_RESTRICTION_ON_THIRDPARTY_FOR_EXTERNAL =&amp;gt; External users are always restricted on the thirdparty of their contact record. With this option, permission &amp;quot;see all thirdparty&amp;quot; may works also for external user. Not implemented yet...&lt;br /&gt;
&lt;br /&gt;
== Proposals module ==&lt;br /&gt;
* PROPAL_CLONE_ON_CREATE_PAGE =&amp;gt; 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;
* MAIN_PROPAL_CHOOSE_ODT_DOCUMENT =&amp;gt; On setup page, you&#039;ll be able to select which ODT document to use when close or cancel proposals.&lt;br /&gt;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; 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;
* PROPAL_DISABLE_SIGNATURE =&amp;gt; Do no show the box for signature.&lt;br /&gt;
* WORKFLOW_PROPAL_CAN_CLASSIFY_BILLED_WITHOUT_INVOICES =&amp;gt; Button &amp;quot;Classified Billed&amp;quot; is visible on proposal even if there is no invoice linked to proposal.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; When generating the proposal PDF, all PDFs linked to products linked to proposal are also included into final PDF&lt;br /&gt;
* PROPOSAL_ALLOW_EXTERNAL_DOWNLOAD =&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;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== Order module ==&lt;br /&gt;
* COMMANDE_REQUIRE_SOURCE =&amp;gt; Make the input field &amp;quot;Source of order&amp;quot; mandatory.&lt;br /&gt;
* COMMANDE_VALID_AFTER_CLOSE_PROPAL =&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;
* COMMANDE_CHANGE_THIRDPARTY =&amp;gt; Can change customer on orders&lt;br /&gt;
* ORDER_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Invoice module ==&lt;br /&gt;
* MAIN_DEPOSIT_MULTI_TVA =&amp;gt; In deposits invoice, creates one line per VAT rate from the origin document (6.0)&lt;br /&gt;
* FACTURE_SHOW_SEND_REMINDER =&amp;gt; Show link &amp;quot;Send reminder by mail&amp;quot;, same feature than &amp;quot;Send by mail&amp;quot; (obsolete feature).&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_EDITED =&amp;gt; Allow to edit invoices even if payment was started. Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_ALWAYS_BE_REMOVED =&amp;gt; Allow to always delete invoices (even if invoice is not last one). Note: If the module &amp;quot;&#039;&#039;&#039;BlockedLog&#039;&#039;&#039;&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 non reversible archive log.&lt;br /&gt;
* INVOICE_CAN_NEVER_BE_REMOVED =&amp;gt; Never allow to delete invoices (except draft invoices).&lt;br /&gt;
* INVOICE_POSITIVE_CREDIT_NOTE =&amp;gt; All amounts on PDF credit notes are positive.&lt;br /&gt;
* FACTURE_CHANGE_THIRDPARTY =&amp;gt; Allow to change the third party in the draft invoices. If a discount was set from the original thirdparty, then discount remain, making data not coherent.&lt;br /&gt;
* FACTURE_USE_PROFORMAT =&amp;gt; Enable PROFORMAT invoices type.&lt;br /&gt;
* FACTURE_DEPOSITS_ARE_JUST_PAYMENTS =&amp;gt; Treats deposit invoices as a special case. 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. &lt;br /&gt;
* FACTURE_SENDBYEMAIL_FOR_ALL_STATUS =&amp;gt; Can send invoice by email to customer even if invoice has status &amp;quot;draft&amp;quot;.&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT =&amp;gt; Disable VAT on genrated documents. like for an association. (it&#039;s work with crabe template)&lt;br /&gt;
* INVOICE_CREDIT_NOTE_STANDALONE (dolibarr 3.9) =&amp;gt; Can make a credit note without invoice.&lt;br /&gt;
* INVOICE_USE_SITUATION = Enable the &amp;quot;situation invoice&amp;quot; feature&lt;br /&gt;
* INVOICE_USE_SITUATION_CREDIT_NOTE (dolibarr 8.0) = Enable the &amp;quot;situation credit note&amp;quot; feature (need INVOICE_USE_SITUATION)&lt;br /&gt;
* INVOICE_DISABLE_DEPOSIT = Disable deposit invoices&lt;br /&gt;
* INVOICE_DISABLE_REPLACEMENT = Disable replacement invoices&lt;br /&gt;
* INVOICE_DISABLE_CREDIT_NOTE = Disable credit notes&lt;br /&gt;
* WORKFLOW_BILL_ON_SHIPMENT = Change label of button with suitable label when you need to create invoice on shipments&lt;br /&gt;
* INVOICE_ALLOW_EXTERNAL_DOWNLOAD =&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;
== Expense Report ==&lt;br /&gt;
* EXPENSEREPORT_ALLOW_OVERLAPPING_PERIODS =&amp;gt; Can enter several expense reports on same or overlapping date periods. (v7.0+)&lt;br /&gt;
&lt;br /&gt;
== Export module ==&lt;br /&gt;
* EXPORT_CSV_SEPARATOR_TO_USE =&amp;gt; String value to use as default separator to delimit fields of exported files (by default Dolibarr uses &amp;quot;,&amp;quot;). Example: EXPORT_CSV_SEPARATOR_TO_USE=;&lt;br /&gt;
* EXPORT_CSV_FORCE_CHARSET =&amp;gt; Choose the charset used in the output file built by the CSV exporter. By default it is ISO-8859-1. Example: EXPORT_CSV_FORCE_CHARSET= utf-8&lt;br /&gt;
* EXPORTTOOL_CATEGORIES =&amp;gt; Can export categories (several lines) into one column with the &amp;quot;product export profile&amp;quot;&lt;br /&gt;
* USE_STRICT_CSV_RULES =&amp;gt; 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;quot;).&lt;br /&gt;
&lt;br /&gt;
== Agenda module ==&lt;br /&gt;
* AGENDA_MAX_EVENTS_DAY_VIEW =&amp;gt; Define the maximum number of visible entries for each day in agenda. Default value is 3. Value 0 means no limit.&lt;br /&gt;
* AGENDA_USE_EVENT_TYPE =&amp;gt; Add a mandatory field &amp;quot;Type&amp;quot; when creating an event (deprecated).&lt;br /&gt;
* AGENDA_AUTOSET_END_DATE_WITH_DELTA_HOURS =&amp;gt; To automatically set end date of event to start date + delta on event creation page.&lt;br /&gt;
* MAIN_ADD_EVENT_ON_ELEMENT_CARD =&amp;gt; Allow to create an event from a document (proposal, order, invoice)&lt;br /&gt;
&lt;br /&gt;
== Products module ==&lt;br /&gt;
* MAIN_PRODUCT_DISABLE_CUSTOMCOUNTRYCODE =&amp;gt; Avoid Custom code and country of origin to be set as product description when added to Propal/Order/Invoice&lt;br /&gt;
* PRODUCT_ADD_TYPE_IN_DOCUMENTS =&amp;gt; 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;
* PRODUCT_DONOTSEARCH_ANYWHERE =&amp;gt; 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;
* PRODUIT_DESC_IN_LIST =&amp;gt; Show long description of product/service into lists.&lt;br /&gt;
* PRODUIT_PDF_MERGE_PROPAL =&amp;gt; Enable module Propal merge product PDF&lt;br /&gt;
* PRODUCT_USE_OLD_PATH_FOR_PHOTO =&amp;gt; Ask dolibarr to check also old path (before 3.7) where photos were stored.&lt;br /&gt;
* PRODUCT_USE_UNITS =&amp;gt; Enable units from dictionary in product/service card.&lt;br /&gt;
* PRODUIT_MULTIPRICES_USE_VAT_PER_LEVEL =&amp;gt; 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;
* MAIN_DIRECT_STATUS_UPDATE =&amp;gt; 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;
* PRODUCT_CHARGES =&amp;gt; Adds an extra field for adhoc charges at the product buying price stage. The Cost price is then calculated with supplier price + charges if defined. Useful for extra costs for a product or certain delivery charges to the product.&lt;br /&gt;
&lt;br /&gt;
* PRODUCT_MAX_VISIBLE_PHOTO =&amp;gt; Show a maximum number of product photos (as thumbnails) on the product main card. Example, setting this constant to &#039;5&#039; will show the first five product photos found on the product card.&lt;br /&gt;
* PRODUCT_MAX_LENGTH_COMBO =&amp;gt; limit the length of the label displayed when adding lines in proposals/invoices/orders&lt;br /&gt;
* MAIN_DISABLE_FREE_LINES (&amp;gt;= 8.0) =&amp;gt; Disallow using free lines to add line in documents&lt;br /&gt;
&lt;br /&gt;
== Services module ==&lt;br /&gt;
* SERVICE_ARE_ECOMMERCE_200238EC =&amp;gt; If this option is enabled, services are processed like eServices according to directive of EU Council Directive 2002/38/EC (http://ec.europa.eu/taxation_customs/taxation/vat/traders/e-commerce/article_1610_en.htm). Default VAT rate are based on buying country instead of selling country for BtoC sells.&lt;br /&gt;
&lt;br /&gt;
== Stocks ==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* SUPPLIER_ORDER_DISABLE_STOCK_DISPATCH_WHEN_TOTAL_REACHED =&amp;gt; Disable stock dispatch when total expected was already received.&lt;br /&gt;
&lt;br /&gt;
== Shipments ==&lt;br /&gt;
* SHIPMENT_GETS_ALL_ORDER_PRODUCTS =&amp;gt; Add all order lines in shipment, including the one with 0 in quantity&lt;br /&gt;
&lt;br /&gt;
== Point of Sale ==&lt;br /&gt;
* CASHDESK_SHOW_KEYPAD =&amp;gt; Show a mouse key pad into Point Of Sale.&lt;br /&gt;
* POS_ADDON = Set this value to an existing numbering module rule (for example &#039;mod_facture_terre&#039;, &#039;mod_facture_mars&#039;, ...) to force the numbering module to us to define the invoice ref when invoice is created by the POS. For example setting value POS_ADDON to &#039;mod_facture_terre&#039; will use the numbering module &#039;terre&#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;
== Contracts ==&lt;br /&gt;
* CONTRACT_SUPPORT_PRODUCTS =&amp;gt; Products are also suggested into module contract.&lt;br /&gt;
&lt;br /&gt;
== Projects module ==&lt;br /&gt;
* PROJECT_DISABLE_UNLINK_FROM_OVERVIEW (&amp;gt;= 8.0.1) =&amp;gt; Enable removing the button from a link in the project overview.&lt;br /&gt;
* PROJECT_CAN_ALWAYS_LINK_TO_ALL_SUPPLIERS =&amp;gt; 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;
* PROJECT_TIME_ON_ALL_TASKS_MY_PROJECTS =&amp;gt; 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;
* PROJECT_SHOW_REF_INTO_LISTS =&amp;gt; Add column with project ref into list (with 3.7 list of supplier invoices only, will be expanded to other lists)&lt;br /&gt;
* PROJECT_HIDE_UNSELECTABLES =&amp;gt; Hide into select list, all project that we can&#039;t select (closed or draft)&lt;br /&gt;
* PROJECT_HIDE_TASKS =&amp;gt; Hide tasks. For user using project only as an analytics key and not using tasks.&lt;br /&gt;
* PROJECT_LIST_SHOW_STARTDATE =&amp;gt; Shows start date of projects in project lists.&lt;br /&gt;
* PROJECT_LINK_ON_OVERWIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;link to&amp;quot; form on the overview page&lt;br /&gt;
* PROJECT_CREATE_ON_OVERVIEW_DISABLED (4.0) =&amp;gt; Hide the &amp;quot;create ...&amp;quot; button on the overview page&lt;br /&gt;
* PROJECT_ALLOW_TO_LINK_FROM_OTHER_COMPANY =&amp;gt; Can link an object to a project of another thirdparty&lt;br /&gt;
* PROJECT_ALLOW_COMMENT_ON_TASK =&amp;gt; Add comment feature on project task&lt;br /&gt;
&lt;br /&gt;
== Foundation module ==&lt;br /&gt;
* MEMBER_URL_REDIRECT_SUBSCRIPTION =&amp;gt; Link called and shown when a member account is autocreated in member module by a guest user.&lt;br /&gt;
* MEMBER_EXT_URL_SUBSCRIPTION_INFO =&amp;gt; Link of external page pointed by the &amp;quot;Show here&amp;quot; link added in front off payment cell, into the page to make online subscription.&lt;br /&gt;
&lt;br /&gt;
== Interventions module ==&lt;br /&gt;
* FICHINTER_CLASSIFY_BILLED =&amp;gt; Allow to classify an intervention card as &amp;quot;Billed&amp;quot;. This add also trigger FICHINTER_CLASSIFY_BILLED into list of possible automatic event into agenda.&lt;br /&gt;
* FICHINTER_DISABLE_DETAILS =&amp;gt; Disable entry of details line on intervention. Can validate with no line.&lt;br /&gt;
&lt;br /&gt;
== Suppliers module ==&lt;br /&gt;
* FOURN_PRODUCT_AVAILABILITY =&amp;gt; On the Suppliers price page of the products, activate the supplier product availability. This is duplicate feature with delivery_delay introduced with 3.8.&lt;br /&gt;
* SUPPLIER_ORDER_AUTOADD_USER_CONTACT =&amp;gt; Add user approving supplier order as a contact automatically.&lt;br /&gt;
* SUPPLIER_ORDER_USE_DISPATCH_STATUS =&amp;gt; Add a status on each dispatch order line when receiving products from suppliers (v4.0+)&lt;br /&gt;
* SUPPLIER_ORDER_NO_DIRECT_APPROVE =&amp;gt; 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;
* SUPPLIER_ORDER_WITH_NOPRICEDEFINED =&amp;gt; Can enter a product even if no supplier price defined. (v6.0+)&lt;br /&gt;
* SUPPLIER_ORDER_EDIT_BUYINGPRICE_DURING_RECEIPT =&amp;gt; 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;
== Bank module ==&lt;br /&gt;
* BANK_CAN_RECONCILIATE_CASHACCOUNT (3.8) =&amp;gt; Can reconciliate cash accounts&lt;br /&gt;
* BANK_DISABLE_CHECK_DEPOSIT =&amp;gt; Disable check deposit feature&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_ORDER =&amp;gt; Ask bank account during creation of an order&lt;br /&gt;
* BANK_ASK_PAYMENT_BANK_DURING_PROPOSAL =&amp;gt; Ask bank account during creation of a proposal&lt;br /&gt;
&lt;br /&gt;
== Emailing module ==&lt;br /&gt;
* MAILING_PREFIX_FOR_EMAIL_ID =&amp;gt; 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;SERVER_NAME&#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;
* MAILING_NO_USING_PHPMAIL =&amp;gt; If set, the module emailing can&#039;t be use 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 MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS.&lt;br /&gt;
* MAILING_SMTP_SETUP_EMAILS_FOR_QUESTIONS =&amp;gt; Contains an email to show in a message visible to user when he try to use emailing module without SMTP server and if option MAILING_NO_USING_PHPMAIL is set to on.&lt;br /&gt;
* MAILING_LIMIT_WARNING_PHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is on &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_PHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* MAILING_LIMIT_WARNING_NOPHPMAIL =&amp;gt; Show a warning message (var contains the message to show or translation key) on emailing send form if setup is something else than &amp;quot;phpmail&amp;quot;. For example, you can set this parameter to &#039;MAILING_LIMIT_WARNING_NOPHPMAIL&#039; and enter translation key for each language for this key.&lt;br /&gt;
* EMAILING_USE_ADVANCED_SELECTOR =&amp;gt; Enable the advanced selector for destinaries&lt;br /&gt;
&lt;br /&gt;
* MAILING_LIMIT_SENDBYWEB =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from GUI. The value &amp;quot;dolibarr_mailing_limit_sendbyweb&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;
* MAILING_LIMIT_SENDBYCLI =&amp;gt; Restrict number of emails you can send in same sending session with emailing module from CLI script. The value &amp;quot;dolibarr_mailing_limit_sendbycli&amp;quot; if defined into config file is used in priority for this limit.&lt;br /&gt;
&lt;br /&gt;
== PDF options ==&lt;br /&gt;
* MAIN_DISABLE_FORCE_SAVEAS =&amp;gt; If your browser ask always to save downloaded files on disk (like PDF), try to add this option. File might appears directly into your browser.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_COMPRESSION =&amp;gt; Disable PDF compression.&lt;br /&gt;
&lt;br /&gt;
* MAIN_INVERT_SENDER_RECIPIENT =&amp;gt;  Invert sender and recipient in some PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_DISABLE_PDF_AUTOUPDATE =&amp;gt; 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;
* MAIN_USE_BACKGROUND_ON_PDF =&amp;gt; Define this constant with short name of an image (example &amp;quot;myimage.jpg&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany/logos&amp;quot;. This will add this background image into your generated PDF files. Warning: This option make TCPDF library beeing crazy sometime and content on image disappeared !&lt;br /&gt;
&lt;br /&gt;
* MAIN_ADD_PDF_BACKGROUND =&amp;gt; Define this constant with short name of a PDF file (example &amp;quot;mypdf.pdf&amp;quot;) that must be saved into directory &amp;quot;documents/mycompany&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;
* MAIN_PDF_FORCE_FONT =&amp;gt; To ignore font defined into language file and force usage of a particular font. For example &amp;quot;DejaVuSans&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_FREETEXT_HEIGHT =&amp;gt; Change height of space reserved to output the free text.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_TITLE_BACKGROUND_COLOR =&amp;gt; Can define a background color onto title line. Example: &#039;220,220,200&#039;&lt;br /&gt;
&lt;br /&gt;
* MAIN_USE_COMPANY_NAME_OF_CONTACT =&amp;gt; Use contact name and information rather than company&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF =&amp;gt; Activate PDF conversion from ODT document. If value is &#039;jodconverter&#039;, java and jodconverter command line tool must be available. If value is &#039;/pathto/jodconverter.jar&#039;, then java and the jodconvertar jar must exists. soffice must also be available. MAIN_DOL_SCRIPTS_ROOT Must also be defined to path where the &amp;quot;scripts&amp;quot; directory is stored (for example /var/www/mydolibarr).&lt;br /&gt;
&lt;br /&gt;
* MAIN_ODT_AS_PDF_DEL_SOURCE =&amp;gt; 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;
* MAIN_GENERATE_PROPOSALS_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer proposals.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_INVOICES_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for customer invoices.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_SUPPLIER_PROPOSAL_WITH_PICTURE =&amp;gt; Include the first image of the product into the line of the generated PDF for supplier proposals (v5.0.3+)&lt;br /&gt;
&lt;br /&gt;
* MAIN_DOCUMENTS_WITH_PICTURE_WIDTH =&amp;gt; Can change size of picture when hidden option MAIN_GENERATE_PROPOSALS_WITH_PICTURE is used. By default value is 20.&lt;br /&gt;
&lt;br /&gt;
* MAIN_GENERATE_DOCUMENTS_WITHOUT_VAT_COLUMN =&amp;gt; Hide column with VAT information but only column not total.&lt;br /&gt;
&lt;br /&gt;
* PDF_SHOW_PROJECT =&amp;gt; Show project onto PDF (supported on supplier order only for the moment)&lt;br /&gt;
&lt;br /&gt;
* PDF_BANK_HIDE_NUMBER_SHOW_ONLY_BICIBAN =&amp;gt; Hide bank number (&amp;quot;code banque/guichet/compte&amp;quot; for france, &amp;quot;sort number/account&amp;quot; for GB, ...) and keep only BIC/IBAN on PDF.&lt;br /&gt;
&lt;br /&gt;
* PDF_HIDE_PRODUCT_REF_IN_SUPPLIER_LINES =&amp;gt; Value 1 or 2 change the way product ref is show (1 = show supplier ref only and not internal ref, 2 = show supplier then internal). Without, internal ref then supplier is shown.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_ADDALSOTARGETDETAILS =&amp;gt; Add particular details like the telephone number on generated PDFs. Can be useful in cases where a printed order/invoice etc is given to a delivery driver/courier etc.&lt;br /&gt;
&lt;br /&gt;
* PDF_INCLUDE_ALIAS_IN_THIRDPARTY_NAME =&amp;gt; Include alternative/alias name into name on PDF.&lt;br /&gt;
&lt;br /&gt;
* MAIN_PDF_PROPAL_USE_ELECTRONIC_SIGNING =&amp;gt; add optional esign field in pdf propal&lt;br /&gt;
&lt;br /&gt;
== WYSIWYG Editor ==&lt;br /&gt;
&lt;br /&gt;
* FCKEDITOR_ENABLE_DETAILS_FULL =&amp;gt; Can cut and paste external images (hosted on external server) into description of proposal, orders or invoices. WARNING: PDF generation is not guaranted with this. Also if the image is removed or renamed by the image hoster, your proposal, order or invoice will be broken.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== BlockedLog ==&lt;br /&gt;
&lt;br /&gt;
* BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY =&amp;gt; Make disable of module &amp;quot;blockedlog&amp;quot; not possible for countries code defined into value. Example: &#039;FR,...&#039;&lt;br /&gt;
&lt;br /&gt;
== MultiCurreny ==&lt;br /&gt;
&lt;br /&gt;
* MAIN_MULTICURRENCY_ALLOW_SYNCHRONIZATION =&amp;gt; Enable CurrencyLayer API synchronization&lt;/div&gt;</summary>
		<author><name>Dolibarr95</name></author>
	</entry>
</feed>