<?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=Christof</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=Christof"/>
	<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php/Special:Contributions/Christof"/>
	<updated>2026-10-22T10:47:10Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.39.17</generator>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_EInvoicing_(Generic,_FR,_...)&amp;diff=66930</id>
		<title>Module EInvoicing (Generic, FR, ...)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_EInvoicing_(Generic,_FR,_...)&amp;diff=66930"/>
		<updated>2026-08-16T21:50:23Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Production directory */ directory instead of annuary&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;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
=Information=&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=EInvoicing (Formerly PDPConnectFR)&lt;br /&gt;
|editor=Dolibarr community&lt;br /&gt;
|web=&lt;br /&gt;
|webbuy=From your Dolibarr v24+, menu Home - Setup - Modules - Find external modules, search on &amp;quot;einvoice&amp;quot;&lt;br /&gt;
|status=experimental&lt;br /&gt;
|prerequisites=&lt;br /&gt;
|minversion=&lt;br /&gt;
|maxversion=&lt;br /&gt;
|note=Recommended version: 24.0+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
This module adds support of EInvoice in Dolibarr for some countries. Generating, Sending and Receiving EInvoice is mandatory in some countries, this module deals initialy with the case of France (even if it was designed to support other countries).&lt;br /&gt;
&lt;br /&gt;
For a solution dedicated to other countries, take a look at the page [[Electronic Billing]]. &lt;br /&gt;
&lt;br /&gt;
The module allows your Dolibarr to generate EInvoice and to connect to some official Access Point (Plateforme Agréées) to send and retrieve your invoice documents. The supported EInvoice format are:&lt;br /&gt;
&lt;br /&gt;
*CII       (recommended, Dolibarr v21+)&lt;br /&gt;
*Factur-X  (only Dolibarr v24+)&lt;br /&gt;
*More format like UBL could be added by contributing (see Development chapter)&lt;br /&gt;
&lt;br /&gt;
Warning: Using the Factur-X format is not recommended. It works with few Access Point only and even if accepted by your own AP, it may be refused by the AP of your customer due to hidden problems inside the format itself and library conflicts when using Dolibarr &amp;lt; 24.0. Also, it consumes a high amount of disk per invoice (an Einvoice may be 1 Mb if you have large images inside !) and make analysis very difficult when there is a trouble. It is highly recommended to use the CII format that is standard and supported by all Access Points, is easier to produce, analyse and process (an Einvoice is a text xml file of 10Kb only) and is not sentitive to PHP or Dolibarr versions.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
Install the electronic invoicing module in your Dolibarr &#039;&#039;&#039;/custom&#039;&#039;&#039; directory (in a future, an installation link will be available directly in your Dolibarr admin pages).&lt;br /&gt;
&lt;br /&gt;
In the meantime, install the module in the &#039;&#039;&#039;/custom&#039;&#039;&#039; directory of your dolibarr. For this, go into the /custom directory:&lt;br /&gt;
 cd mydolibarrdir/htdocs/custom&lt;br /&gt;
Then download the module directory &#039;&#039;&#039;einvoicing&#039;&#039;&#039;&lt;br /&gt;
 git clone https://github.com/Dolibarr/dolibarr-community-modules; mkdir einvoicing; cp -pr dolibarr-community-modules/einvoicing/* einvoicing; rm -fr dolibarr-community-modules;&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
Go onto the setup of the modulefrom menu &amp;quot;Home - Setup - Modules - Module EInvoice - Wheel configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first step is to choose, from the combo list, which Access Point you want to use to send your EInvoice. You can select between one in the following list:&lt;br /&gt;
&lt;br /&gt;
*SuperPDP&lt;br /&gt;
*EsaLink (hubtimize)&lt;br /&gt;
*More providers are coming (See chapter Development to know how to contibute to add your own Provider)&lt;br /&gt;
&lt;br /&gt;
All access point provided by the module are official Access Points (Plateforme Agréée).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup with SuperPDP Access Point==&lt;br /&gt;
If you choose [https://www.superpdp.tech SuperPDP] as your official Production Access Point (or as a Test Access Point), you must create an account by clicking on the link suggested by the setup page of the module (link should be https://www.superpdp.tech/app/users/create).&lt;br /&gt;
&lt;br /&gt;
Note that for a production usage, you may need to provide a scan of an identity card. The process of creating an account may last few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once your account is created, you must generate credentials to allow Dolibarr to connect to SuperPDP: For this, go into your SuperPDP dashboard, and from the left menu &amp;quot;&#039;&#039;&#039;Applications&#039;&#039;&#039;&amp;quot;, click on &amp;quot;&#039;&#039;&#039;New Application&#039;&#039;&#039;&amp;quot; to create a new setup for the application Dolibarr. Choose if you want a setup for Production (Real usage) or for Test (Sandbox). Then select the company and the type of application &amp;quot;&#039;&#039;&#039;Confidential&#039;&#039;&#039;&amp;quot; and click &amp;quot;&#039;&#039;&#039;Create&#039;&#039;&#039;&amp;quot; (you can keep the field &amp;quot;URLs of redirection&amp;quot; to empty or paste the value provided by Dolibarr setup page).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The page to get credentials for an application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice superpdp setup.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your credential (&#039;&#039;&#039;client_id&#039;&#039;&#039; and &#039;&#039;&#039;client_secret&#039;&#039;&#039;) are created and are shown on the next screen.&lt;br /&gt;
&lt;br /&gt;
Go into Dolibarr, into the page to setup the module EInvoice and enter these 2 values, click on Save to save the data and click on &amp;quot;Connect&amp;quot; to get the security key to exchange with SuperPDP. &lt;br /&gt;
&lt;br /&gt;
That&#039;s all, you are connected with SuperPDP (For Production usage or for Test depending on the choice you made). To be sure, you can try the link &amp;quot;Test of connection (healthcheck)&amp;quot; to verify the connection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example of setup for sandbox use with an account of SuperPDP&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice setup example.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] By default, you can enter only one set of credentials for the Production mode and one set of credentials for the Test mode, so if your Dolibarr instance is a test instance, enter test credentials and set the switch to Test, and if your Dolibarr instance is a production instance, enter credentials of production and set the switch to Production. Even if you can switch from one environment to another one, it is seriously not recommended to save and use both Test and Production credentials in the same Dolibarr instance; Only the Access Point environment is different but your Dolibarr is the same. So if you mix two Access Point environments (Test and Prod) in the same Dolibarr, you may get or send tests invoices on your production instance (and the opposite), so the best thing to avoid this is to enter credentials only for one environment and never for the other. See chapter &amp;quot;Usage in sandbox for test&amp;quot; for more information on how to use the module in a sandbox context.&lt;br /&gt;
&lt;br /&gt;
==Setup VAT exemptions (VATEX), if applicable==&lt;br /&gt;
If your business is exempted of VAT, tell Dolibarr the default reason of exemption that will be exported in the EInvoice.&lt;br /&gt;
&lt;br /&gt;
Take note of the VATEX-xxxx code that matches your business and save it into Dolibarr:&lt;br /&gt;
&lt;br /&gt;
*In Dolibarr &amp;lt;= 23, go to &amp;quot;Configuration - Misc&amp;quot; and add a new variable &#039;&#039;&#039;MAIN_VAT_EXEMPTION_CODE_FOR_0&#039;&#039;&#039; with the VATEX-xx-xxxx matching your situation.&lt;br /&gt;
*In Dolibarr &amp;gt;24, save it to the VAT dictionary&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example: French companies concerned with Art 293B of CGI will type &amp;lt;code&amp;gt;VATEX-FR-FRANCHISE&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Setup with Esalink/Hubtimize Access point==&lt;br /&gt;
 L&#039;utilisation de la Plateforme Agréée ESALINK ne se souscrit pas en direct&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: elle passe obligatoirement par un &#039;&#039;&#039;membre distributeur&#039;&#039;&#039; de l&#039;association PDP Libre, référencé sur la page [https://pdplibre.org/solutions/ Solutions].&lt;br /&gt;
 &lt;br /&gt;
=Usage for production=&lt;br /&gt;
==Send a customer invoice==&lt;br /&gt;
Once a Dolibarr invoice is generated (and validated), you can use a new button &amp;quot;&#039;&#039;&#039;Generate the Einvoice&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Note: you can have this action done automatically if you enable the option from menu Home - Setup - Modules - Module Einvoice - Configuration - Tab &amp;quot;other options&amp;quot; and switch &amp;quot;Generate automatically Einvoice&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once an EInvoice has been generated, you can use the button to &amp;quot;&#039;&#039;&#039;Send the invoice&#039;&#039;&#039;&amp;quot; to the access point. Wait a minute while the access point answers and observe the returned status code:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Code 200&#039;&#039;&#039;: the access point has successfully sent the invoice to the client and is waiting for an answer from the customer&#039;s approval&lt;br /&gt;
*&#039;&#039;&#039;Code 213&#039;&#039;&#039;: rejected: the access point has detected an anomaly on the invoice. Review all invoice data and VAT fields. Download the &#039;&#039;FA-xxxxx_cii.xml&#039;&#039; file from Dolibarr and send it to [https://www.superpdp.tech/outils/validateur-facture-electronique/ a CII validator] to get more information about the anomaly. If you need help, ask [https://www.dolibarr.fr/forum/ on the forum].&lt;br /&gt;
*&#039;&#039;&#039;Code 210&#039;&#039;&#039;: the customer explicitly refused the invoice, get it touch with the customer to know why they did not accept the invoice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note about invoices generated by the POS Module TakePOS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, any invoice generated by the POS has status &amp;quot;Do not manage Einvoice&amp;quot;. For such sales, it is not expected that you send an EInvoice. Instead you will have to send a &amp;quot;report&amp;quot; for all sales done by the point of sale (this will be supported by the module, later as this requirement is expected only for the 1st of september 2027).&lt;br /&gt;
&lt;br /&gt;
==Retrieve vendor invoices==&lt;br /&gt;
Go into menu Home - Invoice - EInvoice synchronization.&lt;br /&gt;
&lt;br /&gt;
Click on the button to launch synchronization.&lt;br /&gt;
&lt;br /&gt;
If you experience an error, follow the instruction. for example:&lt;br /&gt;
&lt;br /&gt;
*If you try to import a vendor invoice and the vendor can not be found in your Dolibarr database of suppliers, a link will be suggested to create it.&lt;br /&gt;
*If you try to import a vendor invoice and a product line can not be found in your Dolibarr database of products, a link will be suggested to create the product (You may also prefer to edit the vendor card to define a default Product Ref to use when doing an import of a product that is unknown, so each time a product is unknown for this vendor, Dolibarr will use the same default product instead of creating a new one each time).&lt;br /&gt;
&lt;br /&gt;
=Usage in the sandbox env for test=&lt;br /&gt;
Using the module in sandbox environment is the same than using it in production mode. Only the credentials to connect to your Access Point differ.&lt;br /&gt;
&lt;br /&gt;
If you are a developper, you can enable the option EINVOICING_ALLOW_DEV_TOOLS to 1 into menu &amp;quot;Home - Setup - Other&amp;quot;. This will add more features for developers into an additional tab &amp;quot;Dev tools&amp;quot;. &lt;br /&gt;
You can also switch the Test / Production mode from the main tab of the setup section of the module. WARNING: Using the switch is dangerous as it allows mixing invoices from different networks in the same Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
==Using the sandbox and Peppol test Network for tests using several Access Points==&lt;br /&gt;
If you are using credentials to use the sandbox mode of SuperPDP, you may need to modify the setup of your company (Menu Home - Setup - Company/Organization) to record the same SIREN than the one of the test company provided by SuperPDP sandbox (So &amp;quot;000000001&amp;quot; for Tricatel or &amp;quot;000000002&amp;quot; for Burger Queen).&lt;br /&gt;
&lt;br /&gt;
However the &#039;&#039;&#039;EInvoice address&#039;&#039;&#039; is NOT the same than the &#039;&#039;&#039;SIREN&#039;&#039;&#039; (it is the same in production mode only), so you must also force the Einvoice address of the company into the setup of the module Einvoice: To know your EInvoice address of your test company, go into the SuperPDP dashboard, in sandbox mode, and click on the label of the test company (for example Tricatel), you should see a list of the addresses of this test company in the annuary (the address to find you on the shared test Access Point network). The invoice address to use is the value after the &amp;quot;225:&amp;quot;, the one starting with 315143296_XXX with XXX that depends on your account.&lt;br /&gt;
Once both are saved, a warning may appear to say that SIREN and Einvoice address ID are not the same. You can ignore it in test environment.&lt;br /&gt;
&lt;br /&gt;
If your SIREN (menu Home - Setup - Company/Organisation) and your EInvoice address (menu Setup - Modules - Einvoice - Configuration) are correctly filled (Example: SIREN: 00000001 and EInvoice address 315143296_XXX), then you can send and retreive invoices from or to any other Access Points working on the Peppol Test network (The SuperPDP sandbox is automatically linked to the Peppol Test network when you use the sandbox credential).&lt;br /&gt;
&lt;br /&gt;
To send an invoice to a test customer available onto another Access Point, as the Peppol network are using addresses that are different from SIREN, you can force the customer EInvoice address from the thirdparty card by editing the field EInvoice address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example of the thirdparty card to send an einvoice from SuperPDP to the customer Test with SIREN 145678239 available at Esalink&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice setup customer address.png|border]]&lt;br /&gt;
&lt;br /&gt;
=Tools=&lt;br /&gt;
==E-Invoicing directory==&lt;br /&gt;
&lt;br /&gt;
===Test directory===&lt;br /&gt;
To check or see companies/Einvoice ID in a directory, you can use one of these tools&lt;br /&gt;
&lt;br /&gt;
*[https://test-directory.peppol.eu/public/locale-en_US/ Test Peppol directory]&lt;br /&gt;
*[https://www.superpdp.tech/outils/info-annuaire/?query=493861496&amp;amp;mode=fr&amp;amp;env=sandbox SuperPDP tool]&lt;br /&gt;
&lt;br /&gt;
===Production directory===&lt;br /&gt;
You can use one of these tools to check if a company is in the production directory.&lt;br /&gt;
&lt;br /&gt;
*[https://directory.peppol.eu/public/locale-en_US/ Peppol directory]&lt;br /&gt;
*[https://facturation.chorus-pro.gouv.fr/annuaire/#/ French governement directory]&lt;br /&gt;
*[https://www.superpdp.tech/outils/info-annuaire/?query=493861496&amp;amp;mode=fr&amp;amp;env=production SuperPDP directory]&lt;br /&gt;
&lt;br /&gt;
==Validation of an EInvoice==&lt;br /&gt;
To validate an existing einvoice, you can use one of these tools:&lt;br /&gt;
&lt;br /&gt;
*[https://www.superpdp.tech/outils/validateur-facture-electronique From SuperPDP (CII or Factur-X einvoices)]&lt;br /&gt;
*[https://services.fnfe-mpe.org/account/home From FNFE (Factur-X only, need an account)]&lt;br /&gt;
*[https://www.itb.ec.europa.eu/invoice/upload From Europa.eu (CII or UBL)]&lt;br /&gt;
*[https://ecosio.com/en/peppol-e-invoice-xml-document-validator/ From Ecosi (CII choose CrossIndustryInvoice D16B)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Life cycle and error codes for French EInvoicing==&lt;br /&gt;
[[File:Le cycle de vie d’une facture électronique.png|border|1200x1200px|Lifecycle of an electronic invoice]]&lt;br /&gt;
&lt;br /&gt;
==Current error cases==&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Error &amp;quot;The company fr_siren:123456789 is not subject to the e-invoicing reform&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For France:&lt;br /&gt;
&lt;br /&gt;
*Check that your company can be found from this annuary: https://annuaire-entreprises.data.gouv.fr/&lt;br /&gt;
*Then check inside this one:  https://facturation.chorus-pro.gouv.fr/annuaire/#/&lt;br /&gt;
&lt;br /&gt;
If you have this error, it probably means you CAN be found in the first one but NOT in the second one. This is a problem known by the DGFIP. What to do? You can&#039;t do nothing on your own. You must wait that the french governement add your SIREN record in the second annuary too. You can try to contact import.gouv.fr asking them to &amp;quot;appear in the second annuary to activate the einvoicing&amp;quot; to make things faster, but this works only in few cases only. For all others cases you must wait you appear in the second annuary before retrying to register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Error: HTTP 400 - CREATE_ERROR - pre-check: receiver address does not accept this document.&lt;br /&gt;
&lt;br /&gt;
Check the SIREN and the Einvoice address of the customer. If you set only a SIREN with no specific Einvoice addess (the most common case), check that this SIREN exists that an Einvoice address in the network annuary exists with for this SIREN value. If you used a specific Einvoice address in addition to the SIREN, check that the couple SIREN/Einvoice address is a valid existing couple in the annuary.&lt;br /&gt;
&lt;br /&gt;
=Development=&lt;br /&gt;
&lt;br /&gt;
==Still to do==&lt;br /&gt;
&lt;br /&gt;
*Management of discounts on lines (sending and reception). In progress.&lt;br /&gt;
*The E-reporting (mandatory in France the 1st september 2027), to report sales done by the Point of Sale module for example. Planned for begin of 2027.&lt;br /&gt;
*More tests&lt;br /&gt;
*More documentation&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
{{TemplateModCommunityEn}}&lt;br /&gt;
&lt;br /&gt;
==Einvoice Specifications==&lt;br /&gt;
&lt;br /&gt;
Specification for France are available on https://www.boutique.afnor.org/en-gb/ and search on &amp;quot;XP Z12-012&amp;quot;, &amp;quot;XP Z12-013&amp;quot;, &amp;quot;XP Z12-014&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field code (Business Term)&lt;br /&gt;
!Desc&lt;br /&gt;
!Field in Dolibarr&lt;br /&gt;
|-&lt;br /&gt;
|BT-1&lt;br /&gt;
|Numéro de facture&lt;br /&gt;
|ref&lt;br /&gt;
|-&lt;br /&gt;
|BT-2&lt;br /&gt;
|Date de facture&lt;br /&gt;
|date&lt;br /&gt;
|-&lt;br /&gt;
|BT-3&lt;br /&gt;
|Type de document&lt;br /&gt;
|type (380 facture, 381 avoir, 384 rectificative, 386 acompte)&lt;br /&gt;
|-&lt;br /&gt;
|BT-8&lt;br /&gt;
|Exigibilité de la TVA&lt;br /&gt;
|TAX_MODE (5 débits / 72 encaissements)&lt;br /&gt;
|-&lt;br /&gt;
|BT-9&lt;br /&gt;
|Date d&#039;échéance&lt;br /&gt;
|date_lim_reglement&lt;br /&gt;
|-&lt;br /&gt;
|BT-10&lt;br /&gt;
|Référence acheteur (code service)&lt;br /&gt;
|onglet Chorus Pro, sinon ref_client — Chorus Pro uniquement&lt;br /&gt;
|-&lt;br /&gt;
|BT-13&lt;br /&gt;
|Bon de commande du client&lt;br /&gt;
|ref_client de la facture, sinon ref_client de la commande liée&lt;br /&gt;
|-&lt;br /&gt;
|BT-14&lt;br /&gt;
|Notre numéro de commande&lt;br /&gt;
|ref de la commande liée&lt;br /&gt;
|-&lt;br /&gt;
|BT-23&lt;br /&gt;
|Cadre de facturation&lt;br /&gt;
|onglet Chorus Pro (facture ou fiche client)&lt;br /&gt;
|-&lt;br /&gt;
|BT-25&lt;br /&gt;
|Facture d&#039;origine (avoir, acompte)&lt;br /&gt;
|fk_facture_source&lt;br /&gt;
|-&lt;br /&gt;
|BT-29&lt;br /&gt;
|SIRET vendeur / acheteur&lt;br /&gt;
|Id. prof. 2 (societe / tiers)&lt;br /&gt;
|-&lt;br /&gt;
|BT-30&lt;br /&gt;
|SIREN vendeur&lt;br /&gt;
|Id. prof. 1 de votre société&lt;br /&gt;
|-&lt;br /&gt;
|BT-31&lt;br /&gt;
|N° TVA vendeur&lt;br /&gt;
|TVA intracom. de votre société&lt;br /&gt;
|-&lt;br /&gt;
|BT-34&lt;br /&gt;
|Adresse électronique vendeur&lt;br /&gt;
|SIREN de votre société, schéma 0225&lt;br /&gt;
|-&lt;br /&gt;
|BT-46&lt;br /&gt;
|SIRET acheteur&lt;br /&gt;
|Id. prof. 2 du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-47&lt;br /&gt;
|SIREN acheteur&lt;br /&gt;
|Id. prof. 1 du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-48&lt;br /&gt;
|N° TVA acheteur&lt;br /&gt;
|TVA intracom. du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-49&lt;br /&gt;
|Adresse électronique acheteur&lt;br /&gt;
|Id. prof. 5 du tiers, sinon son SIREN&lt;br /&gt;
|-&lt;br /&gt;
|BT-72&lt;br /&gt;
|Date de livraison&lt;br /&gt;
|delivery_date&lt;br /&gt;
|-&lt;br /&gt;
|BT-73/74&lt;br /&gt;
|Période de service&lt;br /&gt;
|dates de service des lignes&lt;br /&gt;
|-&lt;br /&gt;
|BT-89/90/91&lt;br /&gt;
|Prélèvement SEPA (RUM, ICS)&lt;br /&gt;
|RIB par défaut du tiers, PRELEVEMENT_ICS&lt;br /&gt;
|-&lt;br /&gt;
|BT-113&lt;br /&gt;
|Acomptes déjà réglés&lt;br /&gt;
|acomptes imputés sur la facture&lt;br /&gt;
|-&lt;br /&gt;
|BT-121&lt;br /&gt;
|Motif d&#039;exonération de TVA&lt;br /&gt;
|calculé (franchise 293 B, intracom., autoliquidation, export)&lt;br /&gt;
|-&lt;br /&gt;
|BT-129&lt;br /&gt;
|Unité de la ligne&lt;br /&gt;
|unité du produit (fk_unit)&lt;br /&gt;
|-&lt;br /&gt;
|BT-146&lt;br /&gt;
|Prix unitaire&lt;br /&gt;
|total HT / quantité de la ligne&lt;br /&gt;
|-&lt;br /&gt;
|BT-151&lt;br /&gt;
|Catégorie de TVA&lt;br /&gt;
|calculée d&#039;après le taux et le contexte&lt;br /&gt;
|-&lt;br /&gt;
|BT-84&lt;br /&gt;
|IBAN / BIC&lt;br /&gt;
|compte bancaire choisi dans la configuration&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_EInvoicing_(Generic,_FR,_...)&amp;diff=66929</id>
		<title>Module EInvoicing (Generic, FR, ...)</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_EInvoicing_(Generic,_FR,_...)&amp;diff=66929"/>
		<updated>2026-08-16T21:48:32Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* E-Invoicing annuaries */ &amp;quot;annuary&amp;quot; replaced with more common &amp;quot;directory&amp;quot;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
[[Category:Complementary modules]]&lt;br /&gt;
{{TemplateDocDevEn}}&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
=Information=&lt;br /&gt;
{{TemplateModuleInfo&lt;br /&gt;
|modulename=EInvoicing (Formerly PDPConnectFR)&lt;br /&gt;
|editor=Dolibarr community&lt;br /&gt;
|web=&lt;br /&gt;
|webbuy=From your Dolibarr v24+, menu Home - Setup - Modules - Find external modules, search on &amp;quot;einvoice&amp;quot;&lt;br /&gt;
|status=experimental&lt;br /&gt;
|prerequisites=&lt;br /&gt;
|minversion=&lt;br /&gt;
|maxversion=&lt;br /&gt;
|note=Recommended version: 24.0+&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Features=&lt;br /&gt;
This module adds support of EInvoice in Dolibarr for some countries. Generating, Sending and Receiving EInvoice is mandatory in some countries, this module deals initialy with the case of France (even if it was designed to support other countries).&lt;br /&gt;
&lt;br /&gt;
For a solution dedicated to other countries, take a look at the page [[Electronic Billing]]. &lt;br /&gt;
&lt;br /&gt;
The module allows your Dolibarr to generate EInvoice and to connect to some official Access Point (Plateforme Agréées) to send and retrieve your invoice documents. The supported EInvoice format are:&lt;br /&gt;
&lt;br /&gt;
*CII       (recommended, Dolibarr v21+)&lt;br /&gt;
*Factur-X  (only Dolibarr v24+)&lt;br /&gt;
*More format like UBL could be added by contributing (see Development chapter)&lt;br /&gt;
&lt;br /&gt;
Warning: Using the Factur-X format is not recommended. It works with few Access Point only and even if accepted by your own AP, it may be refused by the AP of your customer due to hidden problems inside the format itself and library conflicts when using Dolibarr &amp;lt; 24.0. Also, it consumes a high amount of disk per invoice (an Einvoice may be 1 Mb if you have large images inside !) and make analysis very difficult when there is a trouble. It is highly recommended to use the CII format that is standard and supported by all Access Points, is easier to produce, analyse and process (an Einvoice is a text xml file of 10Kb only) and is not sentitive to PHP or Dolibarr versions.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
Install the electronic invoicing module in your Dolibarr &#039;&#039;&#039;/custom&#039;&#039;&#039; directory (in a future, an installation link will be available directly in your Dolibarr admin pages).&lt;br /&gt;
&lt;br /&gt;
In the meantime, install the module in the &#039;&#039;&#039;/custom&#039;&#039;&#039; directory of your dolibarr. For this, go into the /custom directory:&lt;br /&gt;
 cd mydolibarrdir/htdocs/custom&lt;br /&gt;
Then download the module directory &#039;&#039;&#039;einvoicing&#039;&#039;&#039;&lt;br /&gt;
 git clone https://github.com/Dolibarr/dolibarr-community-modules; mkdir einvoicing; cp -pr dolibarr-community-modules/einvoicing/* einvoicing; rm -fr dolibarr-community-modules;&lt;br /&gt;
&lt;br /&gt;
=Setup=&lt;br /&gt;
Go onto the setup of the modulefrom menu &amp;quot;Home - Setup - Modules - Module EInvoice - Wheel configuration&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
The first step is to choose, from the combo list, which Access Point you want to use to send your EInvoice. You can select between one in the following list:&lt;br /&gt;
&lt;br /&gt;
*SuperPDP&lt;br /&gt;
*EsaLink (hubtimize)&lt;br /&gt;
*More providers are coming (See chapter Development to know how to contibute to add your own Provider)&lt;br /&gt;
&lt;br /&gt;
All access point provided by the module are official Access Points (Plateforme Agréée).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Setup with SuperPDP Access Point==&lt;br /&gt;
If you choose [https://www.superpdp.tech SuperPDP] as your official Production Access Point (or as a Test Access Point), you must create an account by clicking on the link suggested by the setup page of the module (link should be https://www.superpdp.tech/app/users/create).&lt;br /&gt;
&lt;br /&gt;
Note that for a production usage, you may need to provide a scan of an identity card. The process of creating an account may last few minutes.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Once your account is created, you must generate credentials to allow Dolibarr to connect to SuperPDP: For this, go into your SuperPDP dashboard, and from the left menu &amp;quot;&#039;&#039;&#039;Applications&#039;&#039;&#039;&amp;quot;, click on &amp;quot;&#039;&#039;&#039;New Application&#039;&#039;&#039;&amp;quot; to create a new setup for the application Dolibarr. Choose if you want a setup for Production (Real usage) or for Test (Sandbox). Then select the company and the type of application &amp;quot;&#039;&#039;&#039;Confidential&#039;&#039;&#039;&amp;quot; and click &amp;quot;&#039;&#039;&#039;Create&#039;&#039;&#039;&amp;quot; (you can keep the field &amp;quot;URLs of redirection&amp;quot; to empty or paste the value provided by Dolibarr setup page).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;The page to get credentials for an application&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice superpdp setup.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Your credential (&#039;&#039;&#039;client_id&#039;&#039;&#039; and &#039;&#039;&#039;client_secret&#039;&#039;&#039;) are created and are shown on the next screen.&lt;br /&gt;
&lt;br /&gt;
Go into Dolibarr, into the page to setup the module EInvoice and enter these 2 values, click on Save to save the data and click on &amp;quot;Connect&amp;quot; to get the security key to exchange with SuperPDP. &lt;br /&gt;
&lt;br /&gt;
That&#039;s all, you are connected with SuperPDP (For Production usage or for Test depending on the choice you made). To be sure, you can try the link &amp;quot;Test of connection (healthcheck)&amp;quot; to verify the connection.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example of setup for sandbox use with an account of SuperPDP&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice setup example.png|border]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] By default, you can enter only one set of credentials for the Production mode and one set of credentials for the Test mode, so if your Dolibarr instance is a test instance, enter test credentials and set the switch to Test, and if your Dolibarr instance is a production instance, enter credentials of production and set the switch to Production. Even if you can switch from one environment to another one, it is seriously not recommended to save and use both Test and Production credentials in the same Dolibarr instance; Only the Access Point environment is different but your Dolibarr is the same. So if you mix two Access Point environments (Test and Prod) in the same Dolibarr, you may get or send tests invoices on your production instance (and the opposite), so the best thing to avoid this is to enter credentials only for one environment and never for the other. See chapter &amp;quot;Usage in sandbox for test&amp;quot; for more information on how to use the module in a sandbox context.&lt;br /&gt;
&lt;br /&gt;
==Setup VAT exemptions (VATEX), if applicable==&lt;br /&gt;
If your business is exempted of VAT, tell Dolibarr the default reason of exemption that will be exported in the EInvoice.&lt;br /&gt;
&lt;br /&gt;
Take note of the VATEX-xxxx code that matches your business and save it into Dolibarr:&lt;br /&gt;
&lt;br /&gt;
*In Dolibarr &amp;lt;= 23, go to &amp;quot;Configuration - Misc&amp;quot; and add a new variable &#039;&#039;&#039;MAIN_VAT_EXEMPTION_CODE_FOR_0&#039;&#039;&#039; with the VATEX-xx-xxxx matching your situation.&lt;br /&gt;
*In Dolibarr &amp;gt;24, save it to the VAT dictionary&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example: French companies concerned with Art 293B of CGI will type &amp;lt;code&amp;gt;VATEX-FR-FRANCHISE&amp;lt;/code&amp;gt;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
==Setup with Esalink/Hubtimize Access point==&lt;br /&gt;
 L&#039;utilisation de la Plateforme Agréée ESALINK ne se souscrit pas en direct&amp;lt;span&amp;gt; &amp;lt;/span&amp;gt;: elle passe obligatoirement par un &#039;&#039;&#039;membre distributeur&#039;&#039;&#039; de l&#039;association PDP Libre, référencé sur la page [https://pdplibre.org/solutions/ Solutions].&lt;br /&gt;
 &lt;br /&gt;
=Usage for production=&lt;br /&gt;
==Send a customer invoice==&lt;br /&gt;
Once a Dolibarr invoice is generated (and validated), you can use a new button &amp;quot;&#039;&#039;&#039;Generate the Einvoice&#039;&#039;&#039;&amp;quot;. &lt;br /&gt;
&lt;br /&gt;
Note: you can have this action done automatically if you enable the option from menu Home - Setup - Modules - Module Einvoice - Configuration - Tab &amp;quot;other options&amp;quot; and switch &amp;quot;Generate automatically Einvoice&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Once an EInvoice has been generated, you can use the button to &amp;quot;&#039;&#039;&#039;Send the invoice&#039;&#039;&#039;&amp;quot; to the access point. Wait a minute while the access point answers and observe the returned status code:&lt;br /&gt;
&lt;br /&gt;
*&#039;&#039;&#039;Code 200&#039;&#039;&#039;: the access point has successfully sent the invoice to the client and is waiting for an answer from the customer&#039;s approval&lt;br /&gt;
*&#039;&#039;&#039;Code 213&#039;&#039;&#039;: rejected: the access point has detected an anomaly on the invoice. Review all invoice data and VAT fields. Download the &#039;&#039;FA-xxxxx_cii.xml&#039;&#039; file from Dolibarr and send it to [https://www.superpdp.tech/outils/validateur-facture-electronique/ a CII validator] to get more information about the anomaly. If you need help, ask [https://www.dolibarr.fr/forum/ on the forum].&lt;br /&gt;
*&#039;&#039;&#039;Code 210&#039;&#039;&#039;: the customer explicitly refused the invoice, get it touch with the customer to know why they did not accept the invoice.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Note about invoices generated by the POS Module TakePOS&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
By default, any invoice generated by the POS has status &amp;quot;Do not manage Einvoice&amp;quot;. For such sales, it is not expected that you send an EInvoice. Instead you will have to send a &amp;quot;report&amp;quot; for all sales done by the point of sale (this will be supported by the module, later as this requirement is expected only for the 1st of september 2027).&lt;br /&gt;
&lt;br /&gt;
==Retrieve vendor invoices==&lt;br /&gt;
Go into menu Home - Invoice - EInvoice synchronization.&lt;br /&gt;
&lt;br /&gt;
Click on the button to launch synchronization.&lt;br /&gt;
&lt;br /&gt;
If you experience an error, follow the instruction. for example:&lt;br /&gt;
&lt;br /&gt;
*If you try to import a vendor invoice and the vendor can not be found in your Dolibarr database of suppliers, a link will be suggested to create it.&lt;br /&gt;
*If you try to import a vendor invoice and a product line can not be found in your Dolibarr database of products, a link will be suggested to create the product (You may also prefer to edit the vendor card to define a default Product Ref to use when doing an import of a product that is unknown, so each time a product is unknown for this vendor, Dolibarr will use the same default product instead of creating a new one each time).&lt;br /&gt;
&lt;br /&gt;
=Usage in the sandbox env for test=&lt;br /&gt;
Using the module in sandbox environment is the same than using it in production mode. Only the credentials to connect to your Access Point differ.&lt;br /&gt;
&lt;br /&gt;
If you are a developper, you can enable the option EINVOICING_ALLOW_DEV_TOOLS to 1 into menu &amp;quot;Home - Setup - Other&amp;quot;. This will add more features for developers into an additional tab &amp;quot;Dev tools&amp;quot;. &lt;br /&gt;
You can also switch the Test / Production mode from the main tab of the setup section of the module. WARNING: Using the switch is dangerous as it allows mixing invoices from different networks in the same Dolibarr instance.&lt;br /&gt;
&lt;br /&gt;
==Using the sandbox and Peppol test Network for tests using several Access Points==&lt;br /&gt;
If you are using credentials to use the sandbox mode of SuperPDP, you may need to modify the setup of your company (Menu Home - Setup - Company/Organization) to record the same SIREN than the one of the test company provided by SuperPDP sandbox (So &amp;quot;000000001&amp;quot; for Tricatel or &amp;quot;000000002&amp;quot; for Burger Queen).&lt;br /&gt;
&lt;br /&gt;
However the &#039;&#039;&#039;EInvoice address&#039;&#039;&#039; is NOT the same than the &#039;&#039;&#039;SIREN&#039;&#039;&#039; (it is the same in production mode only), so you must also force the Einvoice address of the company into the setup of the module Einvoice: To know your EInvoice address of your test company, go into the SuperPDP dashboard, in sandbox mode, and click on the label of the test company (for example Tricatel), you should see a list of the addresses of this test company in the annuary (the address to find you on the shared test Access Point network). The invoice address to use is the value after the &amp;quot;225:&amp;quot;, the one starting with 315143296_XXX with XXX that depends on your account.&lt;br /&gt;
Once both are saved, a warning may appear to say that SIREN and Einvoice address ID are not the same. You can ignore it in test environment.&lt;br /&gt;
&lt;br /&gt;
If your SIREN (menu Home - Setup - Company/Organisation) and your EInvoice address (menu Setup - Modules - Einvoice - Configuration) are correctly filled (Example: SIREN: 00000001 and EInvoice address 315143296_XXX), then you can send and retreive invoices from or to any other Access Points working on the Peppol Test network (The SuperPDP sandbox is automatically linked to the Peppol Test network when you use the sandbox credential).&lt;br /&gt;
&lt;br /&gt;
To send an invoice to a test customer available onto another Access Point, as the Peppol network are using addresses that are different from SIREN, you can force the customer EInvoice address from the thirdparty card by editing the field EInvoice address.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Example of the thirdparty card to send an einvoice from SuperPDP to the customer Test with SIREN 145678239 available at Esalink&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
[[File:Einvoice setup customer address.png|border]]&lt;br /&gt;
&lt;br /&gt;
=Tools=&lt;br /&gt;
==E-Invoicing directory==&lt;br /&gt;
&lt;br /&gt;
===Test directory===&lt;br /&gt;
To check or see companies/Einvoice ID in a directory, you can use one of these tools&lt;br /&gt;
&lt;br /&gt;
*[https://test-directory.peppol.eu/public/locale-en_US/ Test Peppol directory]&lt;br /&gt;
*[https://www.superpdp.tech/outils/info-annuaire/?query=493861496&amp;amp;mode=fr&amp;amp;env=sandbox SuperPDP tool]&lt;br /&gt;
&lt;br /&gt;
===Production directory===&lt;br /&gt;
You can use one of this tool to check if a company is in the production annuary.&lt;br /&gt;
&lt;br /&gt;
*[https://directory.peppol.eu/public/locale-en_US/ Peppol directory]&lt;br /&gt;
*[https://facturation.chorus-pro.gouv.fr/annuaire/#/ French governement annuary]&lt;br /&gt;
*[https://www.superpdp.tech/outils/info-annuaire/?query=493861496&amp;amp;mode=fr&amp;amp;env=production SuperPDP annuary]&lt;br /&gt;
&lt;br /&gt;
==Validation of an EInvoice==&lt;br /&gt;
To validate an existing einvoice, you can use one of this tool:&lt;br /&gt;
&lt;br /&gt;
*[https://www.superpdp.tech/outils/validateur-facture-electronique From SuperPDP (CII or Factur-X einvoices)]&lt;br /&gt;
*[https://services.fnfe-mpe.org/account/home From FNFE (Factur-X only, need an account)]&lt;br /&gt;
*[https://www.itb.ec.europa.eu/invoice/upload From Europa.eu (CII or UBL)]&lt;br /&gt;
*[https://ecosio.com/en/peppol-e-invoice-xml-document-validator/ From Ecosi (CII choose CrossIndustryInvoice D16B)]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Troubleshooting=&lt;br /&gt;
&lt;br /&gt;
==Life cycle and error codes for French EInvoicing==&lt;br /&gt;
[[File:Le cycle de vie d’une facture électronique.png|border|1200x1200px|Lifecycle of an electronic invoice]]&lt;br /&gt;
&lt;br /&gt;
==Current error cases==&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Error &amp;quot;The company fr_siren:123456789 is not subject to the e-invoicing reform&amp;quot;&lt;br /&gt;
&lt;br /&gt;
For France:&lt;br /&gt;
&lt;br /&gt;
*Check that your company can be found from this annuary: https://annuaire-entreprises.data.gouv.fr/&lt;br /&gt;
*Then check inside this one:  https://facturation.chorus-pro.gouv.fr/annuaire/#/&lt;br /&gt;
&lt;br /&gt;
If you have this error, it probably means you CAN be found in the first one but NOT in the second one. This is a problem known by the DGFIP. What to do? You can&#039;t do nothing on your own. You must wait that the french governement add your SIREN record in the second annuary too. You can try to contact import.gouv.fr asking them to &amp;quot;appear in the second annuary to activate the einvoicing&amp;quot; to make things faster, but this works only in few cases only. For all others cases you must wait you appear in the second annuary before retrying to register.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Error: HTTP 400 - CREATE_ERROR - pre-check: receiver address does not accept this document.&lt;br /&gt;
&lt;br /&gt;
Check the SIREN and the Einvoice address of the customer. If you set only a SIREN with no specific Einvoice addess (the most common case), check that this SIREN exists that an Einvoice address in the network annuary exists with for this SIREN value. If you used a specific Einvoice address in addition to the SIREN, check that the couple SIREN/Einvoice address is a valid existing couple in the annuary.&lt;br /&gt;
&lt;br /&gt;
=Development=&lt;br /&gt;
&lt;br /&gt;
==Still to do==&lt;br /&gt;
&lt;br /&gt;
*Management of discounts on lines (sending and reception). In progress.&lt;br /&gt;
*The E-reporting (mandatory in France the 1st september 2027), to report sales done by the Point of Sale module for example. Planned for begin of 2027.&lt;br /&gt;
*More tests&lt;br /&gt;
*More documentation&lt;br /&gt;
&lt;br /&gt;
==Sources==&lt;br /&gt;
{{TemplateModCommunityEn}}&lt;br /&gt;
&lt;br /&gt;
==Einvoice Specifications==&lt;br /&gt;
&lt;br /&gt;
Specification for France are available on https://www.boutique.afnor.org/en-gb/ and search on &amp;quot;XP Z12-012&amp;quot;, &amp;quot;XP Z12-013&amp;quot;, &amp;quot;XP Z12-014&amp;quot;&lt;br /&gt;
&amp;lt;br /&amp;gt;&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Field code (Business Term)&lt;br /&gt;
!Desc&lt;br /&gt;
!Field in Dolibarr&lt;br /&gt;
|-&lt;br /&gt;
|BT-1&lt;br /&gt;
|Numéro de facture&lt;br /&gt;
|ref&lt;br /&gt;
|-&lt;br /&gt;
|BT-2&lt;br /&gt;
|Date de facture&lt;br /&gt;
|date&lt;br /&gt;
|-&lt;br /&gt;
|BT-3&lt;br /&gt;
|Type de document&lt;br /&gt;
|type (380 facture, 381 avoir, 384 rectificative, 386 acompte)&lt;br /&gt;
|-&lt;br /&gt;
|BT-8&lt;br /&gt;
|Exigibilité de la TVA&lt;br /&gt;
|TAX_MODE (5 débits / 72 encaissements)&lt;br /&gt;
|-&lt;br /&gt;
|BT-9&lt;br /&gt;
|Date d&#039;échéance&lt;br /&gt;
|date_lim_reglement&lt;br /&gt;
|-&lt;br /&gt;
|BT-10&lt;br /&gt;
|Référence acheteur (code service)&lt;br /&gt;
|onglet Chorus Pro, sinon ref_client — Chorus Pro uniquement&lt;br /&gt;
|-&lt;br /&gt;
|BT-13&lt;br /&gt;
|Bon de commande du client&lt;br /&gt;
|ref_client de la facture, sinon ref_client de la commande liée&lt;br /&gt;
|-&lt;br /&gt;
|BT-14&lt;br /&gt;
|Notre numéro de commande&lt;br /&gt;
|ref de la commande liée&lt;br /&gt;
|-&lt;br /&gt;
|BT-23&lt;br /&gt;
|Cadre de facturation&lt;br /&gt;
|onglet Chorus Pro (facture ou fiche client)&lt;br /&gt;
|-&lt;br /&gt;
|BT-25&lt;br /&gt;
|Facture d&#039;origine (avoir, acompte)&lt;br /&gt;
|fk_facture_source&lt;br /&gt;
|-&lt;br /&gt;
|BT-29&lt;br /&gt;
|SIRET vendeur / acheteur&lt;br /&gt;
|Id. prof. 2 (societe / tiers)&lt;br /&gt;
|-&lt;br /&gt;
|BT-30&lt;br /&gt;
|SIREN vendeur&lt;br /&gt;
|Id. prof. 1 de votre société&lt;br /&gt;
|-&lt;br /&gt;
|BT-31&lt;br /&gt;
|N° TVA vendeur&lt;br /&gt;
|TVA intracom. de votre société&lt;br /&gt;
|-&lt;br /&gt;
|BT-34&lt;br /&gt;
|Adresse électronique vendeur&lt;br /&gt;
|SIREN de votre société, schéma 0225&lt;br /&gt;
|-&lt;br /&gt;
|BT-46&lt;br /&gt;
|SIRET acheteur&lt;br /&gt;
|Id. prof. 2 du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-47&lt;br /&gt;
|SIREN acheteur&lt;br /&gt;
|Id. prof. 1 du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-48&lt;br /&gt;
|N° TVA acheteur&lt;br /&gt;
|TVA intracom. du tiers&lt;br /&gt;
|-&lt;br /&gt;
|BT-49&lt;br /&gt;
|Adresse électronique acheteur&lt;br /&gt;
|Id. prof. 5 du tiers, sinon son SIREN&lt;br /&gt;
|-&lt;br /&gt;
|BT-72&lt;br /&gt;
|Date de livraison&lt;br /&gt;
|delivery_date&lt;br /&gt;
|-&lt;br /&gt;
|BT-73/74&lt;br /&gt;
|Période de service&lt;br /&gt;
|dates de service des lignes&lt;br /&gt;
|-&lt;br /&gt;
|BT-89/90/91&lt;br /&gt;
|Prélèvement SEPA (RUM, ICS)&lt;br /&gt;
|RIB par défaut du tiers, PRELEVEMENT_ICS&lt;br /&gt;
|-&lt;br /&gt;
|BT-113&lt;br /&gt;
|Acomptes déjà réglés&lt;br /&gt;
|acomptes imputés sur la facture&lt;br /&gt;
|-&lt;br /&gt;
|BT-121&lt;br /&gt;
|Motif d&#039;exonération de TVA&lt;br /&gt;
|calculé (franchise 293 B, intracom., autoliquidation, export)&lt;br /&gt;
|-&lt;br /&gt;
|BT-129&lt;br /&gt;
|Unité de la ligne&lt;br /&gt;
|unité du produit (fk_unit)&lt;br /&gt;
|-&lt;br /&gt;
|BT-146&lt;br /&gt;
|Prix unitaire&lt;br /&gt;
|total HT / quantité de la ligne&lt;br /&gt;
|-&lt;br /&gt;
|BT-151&lt;br /&gt;
|Catégorie de TVA&lt;br /&gt;
|calculée d&#039;après le taux et le contexte&lt;br /&gt;
|-&lt;br /&gt;
|BT-84&lt;br /&gt;
|IBAN / BIC&lt;br /&gt;
|compte bancaire choisi dans la configuration&amp;lt;br /&amp;gt;&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62247</id>
		<title>Module Projets</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62247"/>
		<updated>2025-01-22T15:36:28Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Supprimer un projet */&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 : Module_Projects --&amp;gt;&lt;br /&gt;
[[en:Module_Projects]]&lt;br /&gt;
[[es:Módulo_Proyectos]]&lt;br /&gt;
[[de:Modul_Projekte]]&lt;br /&gt;
[[pt:Modulo_Projetos]]&lt;br /&gt;
[[zh:项目模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Projet]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Projet|&lt;br /&gt;
num=400|&lt;br /&gt;
devdoc=[[Module Projets (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Les projets peuvent être utilisés pour différents usage:&lt;br /&gt;
&lt;br /&gt;
*Pour suivre des opportunités&lt;br /&gt;
*Pour suivre des tâches à réaliser et éventuellement saisir du temos passé&lt;br /&gt;
*Pour suivre l&#039;organisation d&#039;un événement.&lt;br /&gt;
*Ou toute combinaison des points précédents.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les projets regroupent aussi des éléments de Dolibarr ensemble, comme des [[Module Propositions commerciales|propositions commerciales]], des [[Module Commandes Clients|commandes]] ou des [[Module Factures Clients|factures]], etc.&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;
Vous pouvez ainsi déclarer si vous avez besoin de suivre des opportunités et/ou si vous avez besoin de suivre le détail de taches (requis pour la saisie de temos).&lt;br /&gt;
Pour ce qui est de l&#039;utilisation des projets pour l&#039;organisation d&#039;événements, il faut par contre activer le module &amp;quot;Organisation d&#039;événements&amp;quot; en plus pour le permettre.&lt;br /&gt;
&lt;br /&gt;
=Définitions=&lt;br /&gt;
Avant d&#039;aller plus loin sur l&#039;utilisation du module Projet, vous pouvez vous familiariser avec les termes de : Événements / Tâches / Journaux. Ces notions, souvent confondues, ont des vocations différentes, aussi il est important de se familiariser avec ces termes admis dans la plupart des logiciels. Pour cela, leur définition est donnée sur la page [[EvenementTacheJournal|Événements Tâches Journaux]]&lt;br /&gt;
&lt;br /&gt;
=Règles métiers et Workflow=&lt;br /&gt;
&lt;br /&gt;
==Permissions - Visibilité projet et actions utilisateurs autorisées==&lt;br /&gt;
Voir le fichier [[File:Project.odg]] qui décrit les conditions pour pouvoir réaliser les différentes actions du module ou sa traduction [[File:ProjetPermissions.odg]].&lt;br /&gt;
&lt;br /&gt;
[[File:ProjetPermissions.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant résume les actions possibles en fonction des éléments suivants : &lt;br /&gt;
&lt;br /&gt;
*des permissions définies pour l&#039;utilisateur&lt;br /&gt;
*de la visibilité du projet (Contact assignés = Privé / Tout le monde = Public)&lt;br /&gt;
*l&#039;utilisateur est ou non contact déclaré sur le projet et les tâches&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; |Utilisateur&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Project&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Privé (Visible par les contacts projets uniquement)&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Public (Visible par tout le monde)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Statut&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Permission&lt;br /&gt;
|Consultation&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Suppression&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|-&lt;br /&gt;
|Lire tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut consulter les projets et tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Supprimer tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut supprimer projets et tâches&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Créer un projet==&lt;br /&gt;
La création d&#039;un nouveau projet se fait depuis le menu &amp;quot;Nouveau projet&amp;quot; visible dans le menu principal &amp;quot;Projet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Un projet peut être privé ou public. Les projets publics (et leurs tches) peuvent être lus/édités par toute personne qui a les permissions Projet. Les projets privés (et leurs tâches) peuvent être lus/édités uniquement par les utilisateurs qui ont les permissions Projet et qui en plus sont définis comme contact du projet, ainsi que par le créateur du projet. Si tous les contacts du projet sont retirés, il faut conserver au moins un utilisateur apte à éditer le projet, ne serait-ce que pour ajouter des contacts. C&#039;est le créateur.&lt;br /&gt;
&lt;br /&gt;
Lors de la création du projet, selon les choix initiaux fait dans l&#039;étape de configuration du module, vous pouvez décidez pour quelle utilisation vous avez besoin du projet (suivi d&#039;opportunités commercial, suivi de taches et saisie de temps, organisation d&#039;un événement comme un salon, congrès...).&lt;br /&gt;
&lt;br /&gt;
==Créer une tâche==&lt;br /&gt;
Si le projet a été défini à sa création pour un usage de suivi de tâches et saisie de temps, la création d&#039;une tâche se fait via le bouton &amp;quot;Créer Tâche&amp;quot; depuis l&#039;onglet &amp;quot;Tâches&amp;quot; d&#039;un projet ou bien depuis le menu Projets -&amp;gt; Nouvelle tâche.&lt;br /&gt;
&lt;br /&gt;
*On ne peut créer une tâche que sur un projet public (sans responsable attitré) ou sur un projet dont on est membre.&lt;br /&gt;
*Une tâche peut être créée sous le projet ou sous une autre tâche du projet.&lt;br /&gt;
&lt;br /&gt;
=====&#039;&#039;&#039;Tâche et contact&#039;&#039;&#039;=====&lt;br /&gt;
&lt;br /&gt;
*l&#039;assignation d&#039;une ou plusieurs tache(s) à un contact se fait par choix sur un tableau pop-up au moment d&#039;ajouter les contacts au projet, c&#039;est pourquoi il est nécessaire de définir les taches avant d&#039;intégrer des contacts au projet (v15)&lt;br /&gt;
*les contacts assignés à un projet doivent être définis au préalable dans l&#039;onglet respectif d&#039;un tiers (un tiers sans contact ne peut être assignataire d&#039;une tache)  (v15)&lt;br /&gt;
*une attribution de tache à un contact &amp;quot;externe&amp;quot; au projet est impossible (v15)&lt;br /&gt;
&lt;br /&gt;
==Supprimer un projet==&lt;br /&gt;
Pour supprimer une tâche, se rendre sur l&#039;onglet projet et cliquer sur le bouton SUPPRIMER.&lt;br /&gt;
&lt;br /&gt;
==Supprimer une tache==&lt;br /&gt;
Pour supprimer une tâche, se rendre sur la tâche et cliquer sur le bouton SUPPRIMER.&lt;br /&gt;
&lt;br /&gt;
La tâche ne peut pas être supprimée si elle a des filles tâches.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit avoir les droits &amp;quot;Supprimer les projets et tâches&amp;quot; pour pouvoir supprimer les tâches.&lt;br /&gt;
&lt;br /&gt;
==Saisir son activité/temps passé==&lt;br /&gt;
Les activités sont le temps passé à travailler sur une tâche.&lt;br /&gt;
&lt;br /&gt;
La saisie du temps passé peut se faire depuis le menu Projet - Temps consommé. Mais il peut se faire aussi depuis le projet même ou depuis une tâche en particulier.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62246</id>
		<title>Module Projets</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62246"/>
		<updated>2025-01-22T15:34:58Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Supprimer un projet */&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 : Module_Projects --&amp;gt;&lt;br /&gt;
[[en:Module_Projects]]&lt;br /&gt;
[[es:Módulo_Proyectos]]&lt;br /&gt;
[[de:Modul_Projekte]]&lt;br /&gt;
[[pt:Modulo_Projetos]]&lt;br /&gt;
[[zh:项目模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Projet]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Projet|&lt;br /&gt;
num=400|&lt;br /&gt;
devdoc=[[Module Projets (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Les projets peuvent être utilisés pour différents usage:&lt;br /&gt;
&lt;br /&gt;
*Pour suivre des opportunités&lt;br /&gt;
*Pour suivre des tâches à réaliser et éventuellement saisir du temos passé&lt;br /&gt;
*Pour suivre l&#039;organisation d&#039;un événement.&lt;br /&gt;
*Ou toute combinaison des points précédents.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les projets regroupent aussi des éléments de Dolibarr ensemble, comme des [[Module Propositions commerciales|propositions commerciales]], des [[Module Commandes Clients|commandes]] ou des [[Module Factures Clients|factures]], etc.&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;
Vous pouvez ainsi déclarer si vous avez besoin de suivre des opportunités et/ou si vous avez besoin de suivre le détail de taches (requis pour la saisie de temos).&lt;br /&gt;
Pour ce qui est de l&#039;utilisation des projets pour l&#039;organisation d&#039;événements, il faut par contre activer le module &amp;quot;Organisation d&#039;événements&amp;quot; en plus pour le permettre.&lt;br /&gt;
&lt;br /&gt;
=Définitions=&lt;br /&gt;
Avant d&#039;aller plus loin sur l&#039;utilisation du module Projet, vous pouvez vous familiariser avec les termes de : Événements / Tâches / Journaux. Ces notions, souvent confondues, ont des vocations différentes, aussi il est important de se familiariser avec ces termes admis dans la plupart des logiciels. Pour cela, leur définition est donnée sur la page [[EvenementTacheJournal|Événements Tâches Journaux]]&lt;br /&gt;
&lt;br /&gt;
=Règles métiers et Workflow=&lt;br /&gt;
&lt;br /&gt;
==Permissions - Visibilité projet et actions utilisateurs autorisées==&lt;br /&gt;
Voir le fichier [[File:Project.odg]] qui décrit les conditions pour pouvoir réaliser les différentes actions du module ou sa traduction [[File:ProjetPermissions.odg]].&lt;br /&gt;
&lt;br /&gt;
[[File:ProjetPermissions.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant résume les actions possibles en fonction des éléments suivants : &lt;br /&gt;
&lt;br /&gt;
*des permissions définies pour l&#039;utilisateur&lt;br /&gt;
*de la visibilité du projet (Contact assignés = Privé / Tout le monde = Public)&lt;br /&gt;
*l&#039;utilisateur est ou non contact déclaré sur le projet et les tâches&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; |Utilisateur&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Project&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Privé (Visible par les contacts projets uniquement)&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Public (Visible par tout le monde)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Statut&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Permission&lt;br /&gt;
|Consultation&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Suppression&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|-&lt;br /&gt;
|Lire tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut consulter les projets et tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Supprimer tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut supprimer projets et tâches&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Créer un projet==&lt;br /&gt;
La création d&#039;un nouveau projet se fait depuis le menu &amp;quot;Nouveau projet&amp;quot; visible dans le menu principal &amp;quot;Projet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Un projet peut être privé ou public. Les projets publics (et leurs tches) peuvent être lus/édités par toute personne qui a les permissions Projet. Les projets privés (et leurs tâches) peuvent être lus/édités uniquement par les utilisateurs qui ont les permissions Projet et qui en plus sont définis comme contact du projet, ainsi que par le créateur du projet. Si tous les contacts du projet sont retirés, il faut conserver au moins un utilisateur apte à éditer le projet, ne serait-ce que pour ajouter des contacts. C&#039;est le créateur.&lt;br /&gt;
&lt;br /&gt;
Lors de la création du projet, selon les choix initiaux fait dans l&#039;étape de configuration du module, vous pouvez décidez pour quelle utilisation vous avez besoin du projet (suivi d&#039;opportunités commercial, suivi de taches et saisie de temps, organisation d&#039;un événement comme un salon, congrès...).&lt;br /&gt;
&lt;br /&gt;
==Créer une tâche==&lt;br /&gt;
Si le projet a été défini à sa création pour un usage de suivi de tâches et saisie de temps, la création d&#039;une tâche se fait via le bouton &amp;quot;Créer Tâche&amp;quot; depuis l&#039;onglet &amp;quot;Tâches&amp;quot; d&#039;un projet ou bien depuis le menu Projets -&amp;gt; Nouvelle tâche.&lt;br /&gt;
&lt;br /&gt;
*On ne peut créer une tâche que sur un projet public (sans responsable attitré) ou sur un projet dont on est membre.&lt;br /&gt;
*Une tâche peut être créée sous le projet ou sous une autre tâche du projet.&lt;br /&gt;
&lt;br /&gt;
=====  &#039;&#039;&#039;Tâche et contact&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
*l&#039;assignation d&#039;une ou plusieurs tache(s) à un contact se fait par choix sur un tableau pop-up au moment d&#039;ajouter les contacts au projet, c&#039;est pourquoi il est nécessaire de définir les taches avant d&#039;intégrer des contacts au projet (v15)&lt;br /&gt;
*les contacts assignés à un projet doivent être définis au préalable dans l&#039;onglet respectif d&#039;un tiers (un tiers sans contact ne peut être assignataire d&#039;une tache)  (v15)&lt;br /&gt;
*une attribution de tache à un contact &amp;quot;externe&amp;quot; au projet est impossible (v15)&lt;br /&gt;
&lt;br /&gt;
==Supprimer un projet==&lt;br /&gt;
&lt;br /&gt;
==Supprimer une tache==&lt;br /&gt;
Pour supprimer une tâche, se rendre sur la tâche et cliquer sur le bouton SUPPRIMER.&lt;br /&gt;
&lt;br /&gt;
La tâche ne peut pas être supprimée si elle a des filles tâches.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit avoir les droits &amp;quot;Supprimer les projets et tâches&amp;quot; pour pouvoir supprimer les tâches.&lt;br /&gt;
&lt;br /&gt;
==Saisir son activité/temps passé==&lt;br /&gt;
Les activités sont le temps passé à travailler sur une tâche.&lt;br /&gt;
&lt;br /&gt;
La saisie du temps passé peut se faire depuis le menu Projet - Temps consommé. Mais il peut se faire aussi depuis le projet même ou depuis une tâche en particulier.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62245</id>
		<title>Module Projets</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Projets&amp;diff=62245"/>
		<updated>2025-01-22T15:31:13Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Créer une tâche */ lier taches et contact&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 : Module_Projects --&amp;gt;&lt;br /&gt;
[[en:Module_Projects]]&lt;br /&gt;
[[es:Módulo_Proyectos]]&lt;br /&gt;
[[de:Modul_Projekte]]&lt;br /&gt;
[[pt:Modulo_Projetos]]&lt;br /&gt;
[[zh:项目模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Projet]]&lt;br /&gt;
{{TemplateDocUtil}}&lt;br /&gt;
{{TemplateModFR}}&lt;br /&gt;
{{BasculeDevUser|&lt;br /&gt;
nom=Projet|&lt;br /&gt;
num=400|&lt;br /&gt;
devdoc=[[Module Projets (développeur)]]|&lt;br /&gt;
userdoc=Cette page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Les projets peuvent être utilisés pour différents usage:&lt;br /&gt;
&lt;br /&gt;
*Pour suivre des opportunités&lt;br /&gt;
*Pour suivre des tâches à réaliser et éventuellement saisir du temos passé&lt;br /&gt;
*Pour suivre l&#039;organisation d&#039;un événement.&lt;br /&gt;
*Ou toute combinaison des points précédents.&lt;br /&gt;
&lt;br /&gt;
Dans tous les cas, les projets regroupent aussi des éléments de Dolibarr ensemble, comme des [[Module Propositions commerciales|propositions commerciales]], des [[Module Commandes Clients|commandes]] ou des [[Module Factures Clients|factures]], etc.&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;
Vous pouvez ainsi déclarer si vous avez besoin de suivre des opportunités et/ou si vous avez besoin de suivre le détail de taches (requis pour la saisie de temos).&lt;br /&gt;
Pour ce qui est de l&#039;utilisation des projets pour l&#039;organisation d&#039;événements, il faut par contre activer le module &amp;quot;Organisation d&#039;événements&amp;quot; en plus pour le permettre.&lt;br /&gt;
&lt;br /&gt;
=Définitions=&lt;br /&gt;
Avant d&#039;aller plus loin sur l&#039;utilisation du module Projet, vous pouvez vous familiariser avec les termes de : Événements / Tâches / Journaux. Ces notions, souvent confondues, ont des vocations différentes, aussi il est important de se familiariser avec ces termes admis dans la plupart des logiciels. Pour cela, leur définition est donnée sur la page [[EvenementTacheJournal|Événements Tâches Journaux]]&lt;br /&gt;
&lt;br /&gt;
=Règles métiers et Workflow=&lt;br /&gt;
&lt;br /&gt;
==Permissions - Visibilité projet et actions utilisateurs autorisées==&lt;br /&gt;
Voir le fichier [[File:Project.odg]] qui décrit les conditions pour pouvoir réaliser les différentes actions du module ou sa traduction [[File:ProjetPermissions.odg]].&lt;br /&gt;
&lt;br /&gt;
[[File:ProjetPermissions.png|200px]]&lt;br /&gt;
&lt;br /&gt;
Le tableau suivant résume les actions possibles en fonction des éléments suivants : &lt;br /&gt;
&lt;br /&gt;
*des permissions définies pour l&#039;utilisateur&lt;br /&gt;
*de la visibilité du projet (Contact assignés = Privé / Tout le monde = Public)&lt;br /&gt;
*l&#039;utilisateur est ou non contact déclaré sur le projet et les tâches&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! colspan=&amp;quot;2&amp;quot; rowspan=&amp;quot;2&amp;quot; |Utilisateur&lt;br /&gt;
! colspan=&amp;quot;4&amp;quot; |Project&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Privé (Visible par les contacts projets uniquement)&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Public (Visible par tout le monde)&lt;br /&gt;
|-&lt;br /&gt;
| colspan=&amp;quot;2&amp;quot; |Statut&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|L&#039;utilisateur n&#039;est pas un contact projet&lt;br /&gt;
|L&#039;utilisateur est un contact projet&lt;br /&gt;
|-&lt;br /&gt;
| rowspan=&amp;quot;6&amp;quot; |Permission&lt;br /&gt;
|Consultation&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
| rowspan=&amp;quot;3&amp;quot; |Projet masqué&lt;br /&gt;
|L&#039;utilisateur peut consulter le projet et ses tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Suppression&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|L&#039;utilisateur peut supprimer ce projet et ses tâches&lt;br /&gt;
|-&lt;br /&gt;
|Lire tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut consulter les projets et tâches&lt;br /&gt;
L&#039;utilisateur peut saisir des temps sur les tâches où il est contact&lt;br /&gt;
|-&lt;br /&gt;
|Création/Modification tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut créer, modifier et clore le projet&lt;br /&gt;
L&#039;utilisateur peut créer et modifier les tâches du projet&lt;br /&gt;
|-&lt;br /&gt;
|Supprimer tous les projets et tâches (même si pas un contact du projet privé, ou projet public)&lt;br /&gt;
| colspan=&amp;quot;4&amp;quot; |L&#039;utilisateur peut supprimer projets et tâches&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Créer un projet==&lt;br /&gt;
La création d&#039;un nouveau projet se fait depuis le menu &amp;quot;Nouveau projet&amp;quot; visible dans le menu principal &amp;quot;Projet&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Un projet peut être privé ou public. Les projets publics (et leurs tches) peuvent être lus/édités par toute personne qui a les permissions Projet. Les projets privés (et leurs tâches) peuvent être lus/édités uniquement par les utilisateurs qui ont les permissions Projet et qui en plus sont définis comme contact du projet, ainsi que par le créateur du projet. Si tous les contacts du projet sont retirés, il faut conserver au moins un utilisateur apte à éditer le projet, ne serait-ce que pour ajouter des contacts. C&#039;est le créateur.&lt;br /&gt;
&lt;br /&gt;
Lors de la création du projet, selon les choix initiaux fait dans l&#039;étape de configuration du module, vous pouvez décidez pour quelle utilisation vous avez besoin du projet (suivi d&#039;opportunités commercial, suivi de taches et saisie de temps, organisation d&#039;un événement comme un salon, congrès...).&lt;br /&gt;
&lt;br /&gt;
==Créer une tâche==&lt;br /&gt;
Si le projet a été défini à sa création pour un usage de suivi de tâches et saisie de temps, la création d&#039;une tâche se fait via le bouton &amp;quot;Créer Tâche&amp;quot; depuis l&#039;onglet &amp;quot;Tâches&amp;quot; d&#039;un projet ou bien depuis le menu Projets -&amp;gt; Nouvelle tâche.&lt;br /&gt;
&lt;br /&gt;
*On ne peut créer une tâche que sur un projet public (sans responsable attitré) ou sur un projet dont on est membre.&lt;br /&gt;
*Une tâche peut être créée sous le projet ou sous une autre tâche du projet.&lt;br /&gt;
&lt;br /&gt;
=====  &#039;&#039;&#039;Tâche et contact&#039;&#039;&#039; =====&lt;br /&gt;
&lt;br /&gt;
*l&#039;assignation d&#039;une ou plusieurs tache(s) à un contact se fait par choix sur un tableau pop-up au moment d&#039;ajouter les contacts au projet, c&#039;est pourquoi il est nécessaire de définir les taches avant d&#039;intégrer des contacts au projet (v15)&lt;br /&gt;
*les contacts assignés à un projet doivent être définis au préalable dans l&#039;onglet respectif d&#039;un tiers (un tiers sans contact ne peut être assignataire d&#039;une tache)  (v15)&lt;br /&gt;
*une attribution de tache à un contact &amp;quot;externe&amp;quot; au projet est impossible (v15)&lt;br /&gt;
&lt;br /&gt;
==Supprimer un projet==&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
==Supprimer une tache==&lt;br /&gt;
Pour supprimer une tâche, se rendre sur la tâche et cliquer sur le bouton SUPPRIMER.&lt;br /&gt;
&lt;br /&gt;
La tâche ne peut pas être supprimée si elle a des filles tâches.&lt;br /&gt;
&lt;br /&gt;
L&#039;utilisateur doit avoir les droits &amp;quot;Supprimer les projets et tâches&amp;quot; pour pouvoir supprimer les tâches.&lt;br /&gt;
&lt;br /&gt;
==Saisir son activité/temps passé==&lt;br /&gt;
Les activités sont le temps passé à travailler sur une tâche.&lt;br /&gt;
&lt;br /&gt;
La saisie du temps passé peut se faire depuis le menu Projet - Temps consommé. Mais il peut se faire aussi depuis le projet même ou depuis une tâche en particulier.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=58678</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=58678"/>
		<updated>2023-11-09T17:49:43Z</updated>

		<summary type="html">&lt;p&gt;Christof: syntaxe&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 : Hooks_system --&amp;gt;&lt;br /&gt;
[[en:Hooks_system]]&lt;br /&gt;
[[es:El_sistema_Hooks]]&lt;br /&gt;
[[de:System_von_Hooks]]&lt;br /&gt;
[[zh:钩子系统]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Les Hooks (hameçon en anglais) sont une fonctionnalité destinée aux développeurs, leur permettant d&#039;ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier le &#039;&#039;core&#039;&#039; de Dolibarr. Contrairement au [[Système de 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évus dans le &#039;&#039;core&#039;&#039; de Dolibarr. Ce sont des points d&#039;insertion dans le programme.&lt;br /&gt;
&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;hameçonné&amp;quot; par d&#039;autres), vous devrez procéder en 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 &lt;br /&gt;
&lt;br /&gt;
Pour une page, placez ce bout de code au début de votre script php (après le &#039;&#039;include&#039;&#039; du &#039;&#039;main&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;/syntaxhighlight&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. &#039;&amp;lt;nowiki/&amp;gt;&#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 contexte commun à plusieurs pages mais que vous voulez aussi un contexte propre à une page donnée).&lt;br /&gt;
&lt;br /&gt;
Pour une méthode ou fonction, il est possible de récupérer le gestionnaire de Hook par:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
global $hookmanager;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2- Placer ensuite l&#039;appel des hooks là où l&#039;ajout de code est désiré :&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;&amp;lt;nowiki/&amp;gt;&#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 &#039;&#039;null&#039;&#039; 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 &amp;quot;hameçonné&amp;quot;. Vous pouvez à présent suivre la procédure ci-dessous ( &#039;&#039;&#039;Implémenter un hook&#039;&#039;&#039; ) pour construire une fonction qui se raccrochera au hook  (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 contexte 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 (ou directement dans le &amp;quot;constructeur de module&amp;quot;) afin que la modification soit prise en compte, car l&#039;enregistrement qui relie les éléments du couple &amp;quot;module-hook&amp;quot; est géré en base de donnée; celle-ci n&#039;étant mise à jour qu&#039;au moment de la (ré)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;
&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.&amp;lt;br /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retours de fonction&#039;&#039;&#039; :&lt;br /&gt;
&lt;br /&gt;
*Le code retour d&#039;un hook doit être 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) : [[:Category:Hooks]]&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste s&#039;enrichit à chaque version, 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;
&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;
{{ListOfContexts}}&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste s&#039;enrichie à chaque version, 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;
&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>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Syst%C3%A8me_de_Hooks&amp;diff=58677</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=58677"/>
		<updated>2023-11-09T17:44:23Z</updated>

		<summary type="html">&lt;p&gt;Christof: orthographe, syntaxe...&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 : Hooks_system --&amp;gt;&lt;br /&gt;
[[en:Hooks_system]]&lt;br /&gt;
[[es:El_sistema_Hooks]]&lt;br /&gt;
[[de:System_von_Hooks]]&lt;br /&gt;
[[zh:钩子系统]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateDocDevFr}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
Les Hooks (hameçon en anglais) sont une fonctionnalité destinée aux développeurs, leur permettant d&#039;ajouter du code personnalisé aux pages standards de Dolibarr sans avoir à modifier le &#039;&#039;core&#039;&#039; de Dolibarr. Contrairement au [[Système de 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évus dans le &#039;&#039;core&#039;&#039; de Dolibarr. Ce sont des points d&#039;insertion dans le programme.&lt;br /&gt;
&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;hameçonné&amp;quot; par d&#039;autres), vous devrez procéder en 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 &lt;br /&gt;
&lt;br /&gt;
Pour une page, placez ce bout de code au début de votre script php (après le &#039;&#039;include&#039;&#039; du &#039;&#039;main&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight 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;/syntaxhighlight&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. &#039;&amp;lt;nowiki/&amp;gt;&#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 contexte commun à plusieurs pages mais que vous voulez aussi un contexte propre à une page donnée).&lt;br /&gt;
&lt;br /&gt;
Pour une méthode ou fonction, il est possible de récupérer le gestionnaire de Hook par:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;PHP&amp;quot;&amp;gt;&lt;br /&gt;
global $hookmanager;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
2- Placer ensuite l&#039;appel des hooks là où l&#039;ajout de code est désiré :&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;&amp;lt;nowiki/&amp;gt;&#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 &#039;&#039;null&#039;&#039; 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 &amp;quot;hameçonné&amp;quot;. Vous pouvez à présent suivre la procédure ci-dessous ( &#039;&#039;&#039;Implémenter un hook&#039;&#039;&#039; ) pour construire une fonction qui se raccrochera au hook  (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 contexte 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 (ou directement dans le &amp;quot;constructeur de module&amp;quot;) afin que la modification soit prise en compte, car l&#039;enregistrement qui relie les éléments du couple &amp;quot;module-hook&amp;quot; est géré en base de donnée; celle-ci n&#039;étant mise à jour qu&#039;au moment de la (ré)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;
&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;
&lt;br /&gt;
*Le code retour d&#039;un hook doit être 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) : [[:Category:Hooks]]&lt;br /&gt;
...&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste s&#039;enrichit à chaque version, 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;
&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;
{{ListOfContexts}}&lt;br /&gt;
&lt;br /&gt;
Note: veuillez noter que cette liste s&#039;enrichie à chaque version, 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;
&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>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Loi_finances_sur_les_logiciels_de_caisse_et_Certification_NF525_ou_LNE&amp;diff=55699</id>
		<title>Loi finances sur les logiciels de caisse et Certification NF525 ou LNE</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Loi_finances_sur_les_logiciels_de_caisse_et_Certification_NF525_ou_LNE&amp;diff=55699"/>
		<updated>2023-01-24T17:06:20Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* J&amp;#039;utilise Dolibarr ou autre logiciel ERP, suis-je concerné, pour quelle fonctionnalité ? */  le statut de la ME prévoit depuis 2018 une option de soumission au régime TVA. Attention, certains ME tombent donc en principe sous le coup de cette loi. Le seuil d&amp;#039;assujettissement TVA ne correspond plus au seuil supérieur du statut de la micro-E!&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;seo metak=&amp;quot;loi finance 2016, loi finance 2018, loi finance 2019, NF525, logs inaltérables, logiciels de caisse, logiciels comptabilité, TPE&amp;quot; /&amp;gt;&lt;br /&gt;
Ceci est une page d&#039;explication  de l&#039;Article 88 de la Loi finance 2016 (n° 2015-1785 du 29 décembre 2015), communément appelée Loi anti-fraude à la TVA, applicable au 1er janvier 2018 en France (cette loi ayant donné lieu à la certification NF525 ou encore au principe d&#039;attestation de conformité).&lt;br /&gt;
&lt;br /&gt;
=Résumé=&lt;br /&gt;
&lt;br /&gt;
La &#039;&#039;&#039;loi finances 2016, article 88 modifiant le 286 du CGI&#039;&#039;&#039;, impose à tous les commerçants, &#039;&#039;&#039;assujettis à la TVA hors franchise en base de TVA&#039;&#039;&#039; (et seulement ces derniers) ET qui sont équipés d&#039;un &amp;quot;logiciel ou système de caisse&amp;quot; (comprendre logiciel d&#039;encaissement d&#039;argent, cela inclut les logiciels de gestion) ET qui réalisent de l&#039;encaissement de particuliers, d&#039;utiliser un logiciel dans un cadre &amp;quot;conforme&amp;quot; à la loi finance 2016, et ce dès le 1er janvier 2018.&lt;br /&gt;
&lt;br /&gt;
La &amp;quot;conformité Loi Finance&amp;quot; dite aussi &amp;quot;Anti Fraude TVA&amp;quot; est absolument sans aucun rapport avec la notion de &amp;quot;Compatible avec les normes de logiciels comptables&amp;quot;, normes requises pour établir les documents fiscaux officiels et les télétransmettre à l&#039;administration. Ces normes (par exemple &amp;quot;la compatibilité avec le format FEC&amp;quot;, obligatoire depuis le 1er janvier 2014 et [https://www.legifrance.gouv.fr/affichCodeArticle.do?cidTexte=LEGITEXT000006069583&amp;amp;idArticle=LEGIARTI000027804775 défini ici], ou encore &amp;quot;la compatibilité pour télétransmission EDI&amp;quot;) existent d&#039;ailleurs depuis plusieurs années, bien avant la loi finance 2016, et concernent uniquement le &amp;quot;logiciel de comptabilité&amp;quot; de l&#039;expert comptable qui approuve les comptes, logiciel utilisé en fin de chaîne pour produire la liasse fiscale. Seul ce dernier logiciel a cette contrainte de &amp;quot;compatibilité logiciel comptable&amp;quot; : le logiciel de gestion ou de suivi de l&#039;entreprise (comme par exemple Dolibarr), même si il est utilisé pour réaliser une comptabilité interne de l&#039;entreprise (par exemple en préparation d&#039;export vers le logiciel de l&#039;expert-comptable, ou utilisé pour offrir un suivi ou mâcher le travail du comptable pour réduire son coût), n&#039;a aucune obligation sur le point de &#039;&#039;&#039;logiciel comptable&#039;&#039;&#039;, si c&#039;est un autre qui sert pour établir les documents légaux...&lt;br /&gt;
&lt;br /&gt;
Par contre, ce logiciel de gestion d&#039;entreprise peut avoir l&#039;obligation d&#039;être &#039;&#039;&#039;conforme Loi finance 2016 - Anti Fraude TVA&#039;&#039;&#039;. Ce qui est tout autre chose. Cette conformité s&#039;applique à tout &amp;quot;logiciel d&#039;encaissements&amp;quot;, ce qui est différent de &amp;quot;logiciel comptable&amp;quot; (et donc s&#039;applique aux logiciels de facturation ou de gestion avec saisie d&#039;encaissements, aux logiciels de caisse enregistreuse (Point de Vente) et, éventuellement, aux logiciels de comptabilité si c&#039;est lui qui est utilisé pour saisir et suivre les encaissements clients, ce qui est rarissime car cela sous-entend que la gestion de l&#039;entreprise est faite directement dans le logiciel du comptable qui certifie les comptes).&lt;br /&gt;
&lt;br /&gt;
Cette conformité &amp;quot;Loi Finance&amp;quot; pour son logiciel d&#039;encaissement, peut s&#039;obtenir de 3 manières différentes (&#039;&#039;&#039;une seule des 3 solutions suffit&#039;&#039;&#039;):&lt;br /&gt;
&lt;br /&gt;
*Par l&#039;utilisation d&#039;une version &#039;&#039;&#039;certifiée Loi Finance&#039;&#039;&#039; du logiciel (Exemple via l&#039;obtention de la certification LNE ou l&#039;obtention de la norme NF525 de l&#039;AFNOR). Une version certifiée l&#039;est pour tout le monde mais, pour évoluer, il faut attendre la prochaine version certifiée, et le processus de certification est long et coûteux pour l&#039;éditeur. Le principe de certification n&#039;est donc plus adapté aux logiciels modernes ni aux logiciels en Cloud/SaaS qui évoluent rapidement). Le choix de conformité du logiciel par obtention d&#039;une certification LNE ou NF525 n&#039;est donc pas celui fait majoritairement par les éditeurs. La certification LNE ou NF525 n&#039;est donc absolument pas obligatoire (même si les éditeurs qui ont fait ce choix essaie de sous-entendre le contraire), à condition qu&#039;une des autres solutions pour être conforme soit mis en oeuvre (voir point suivants).&lt;br /&gt;
&lt;br /&gt;
ou bien&lt;br /&gt;
&lt;br /&gt;
*Par obtention d&#039;une &#039;&#039;&#039;attestation individuelle de conformité Loi Finance&#039;&#039;&#039; décernée par une société Tiers, comme un éditeur ou intégrateur informatique (Voici un exemple de modèle d&#039;attestation suggéré par le gouvernement: http://bofip.impots.gouv.fr/bofip/10692-PGP.html). Une attestation est individuelle, chaque société utilisatrice doit en obtenir une, auprès d&#039;un Tiers, pour elle même. Remarque: pour cette solution, il faut employer le terme de &amp;quot;Attestation&amp;quot; et non de &amp;quot;Certification&amp;quot;, ce dernier terme étant réservé pour la première solution. Mais hélas 9 fois sur 10, on trouvera le terme &amp;quot;certification&amp;quot; ou &amp;quot;certifié&amp;quot; pour ce cas également, car le plus utilisé et mieux compris du grand publique, entrainant des confusions.&lt;br /&gt;
&lt;br /&gt;
ou bien&lt;br /&gt;
&lt;br /&gt;
*En &#039;&#039;&#039;se délivrant à soi-même cette attestation&#039;&#039;&#039; (sans la demander à un tiers donc), on parle d&#039;auto-attestation, mais ce cas est limité aux sociétés qui ont, entre autre, une activité &#039;&#039;&#039;avérée&#039;&#039;&#039; d&#039;édition de logiciel de caisse (le code Nace n&#039;ayant  qu&#039;une valeur indicative statistique, c&#039;est votre activité réelle, dont il vous revient d&#039;en démontrer le côté avéré qui sera pris en compte, et non un code Nace spécifique comme cela avait été cité dans des versions intermédiaires de textes sur le travail de la loi)&lt;br /&gt;
&lt;br /&gt;
Le chapitre &amp;quot;Historique&amp;quot; vous permet de voir les rebondissements et changements de direction de la loi. Connaitre ces rebondissements aide à comprendre pourquoi de nombreux acteurs se sont trompés ou continuent de se tromper sur cette loi. Le chapitre d&#039;après &amp;quot;Questions / Réponses&amp;quot; vous offre une vue rapide de la loi &#039;&#039;&#039;définitive&#039;&#039;&#039; par une approche de questions/réponses.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Historique de la définition de la loi et rebondissements==&lt;br /&gt;
&lt;br /&gt;
Pour ceux qui ont le temps de lire (sinon allez directement au chapitre &amp;quot;Conclusion&amp;quot; ou aux &amp;quot;FAQ&amp;quot;), voici un flux qui décrit les documents originaux qui ont été communiqués par le gouvernement et les mises à jours qui ont suivi pour définir le périmètre et la conclusion de la loi, avec les rebondissements :&lt;br /&gt;
&lt;br /&gt;
*Voici l&#039;article, &#039;&#039;&#039;pour sa publication au BOFIP, de la version définitive du 04/07/2018&#039;&#039;&#039;: https://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20180704&lt;br /&gt;
&lt;br /&gt;
Pour résumer, cette publication indique qu&#039;il faudra, pour toute société/organisme &#039;&#039;&amp;quot;... assujettie à la taxe sur la valeur ajoutée (TVA) qui effectue des livraisons de biens et des prestations de services à destination de clients particuliers et qui enregistre les règlements reçus en contrepartie au moyen d’un logiciel ou d&#039;un système de caisse, est tenue d&#039;utiliser un logiciel ou un système qui satisfasse aux conditions d&#039;inaltérabilité, de sécurisation, de conservation et d&#039;archivage des données en vue du contrôle de l&#039;administration fiscale. ... Le respect des conditions d&#039;inaltérabilité, de sécurisation, de conservation et d&#039;archivage des données peut être justifié par un certificat délivré par un organisme accrédité &#039;&#039;&#039;ou&#039;&#039;&#039; par une attestation individuelle de l&#039;éditeur. ...&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Le texte mentionne bien également qu&#039;il n&#039;y a pas obligation à s&#039;informatiser pour tracer ses paiements (&#039;&#039;&amp;quot;... En revanche, cette disposition ne crée pas d&#039;obligation de s&#039;équiper d&#039;un logiciel ou système de caisse...&amp;quot;&#039;&#039;) mais si cela est fait, et que l&#039;on est dans le périmètre, le texte est applicable. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Historique :&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Voici l&#039;article &#039;&#039;&#039;initial&#039;&#039;&#039; de la loi finance, datant du 29/12/2015:  [https://www.legifrance.gouv.fr/affichTexteArticle.do?cidTexte=JORFTEXT000031732865&amp;amp;idArticle=LEGIARTI000031734740&amp;amp;dateTexte=20151230 Article sur LegiFrance]&lt;br /&gt;
&lt;br /&gt;
Voici l&#039;article, &#039;&#039;&#039;pour sa publication au BOFIP&#039;&#039;&#039;, du 03/08/2016: https://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20160803&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 15 juin 2017: Communiqué de presse du cabinet du ministère: http://proxy-pubminefi.diffusion.finances.gouv.fr/pub/document/18/22503.pdf -&amp;gt; &lt;br /&gt;
Seules les &amp;quot;logiciels de caisse&amp;quot; seraient concernés (la définition de logiciel de caisse n&#039;est toutefois pas encore apportée, elle le sera le 15 juillet 2018, voir la suite). &lt;br /&gt;
Dès logiciels ERP (comme Dolibarr), ainsi que les logiciels de site ecommerce (comme Prestashop, Magento, ...) n&#039;étant dans pas la catégorie logiciels de caisse (Les ERP sont dans la catégorie logiciels de gestion), on aurait cru que l&#039;obligation de mise en conformité, et tout ce qui suit, semblait ne plus être avéré pour eux, mais la suite des événements (voir la suite) indiquera le contraire si vous enregistrez dans le logiciel des paiements de particuliers, quelquesoit la catégorie du logiciel (seules les sociétés encaissant exclusivement d&#039;autres sociétés, ou ceux en tva en franchise, seront finalement exemptées)...&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 27 septembre 2017: Voici l&#039;avenant publié le 27 septembre 2017 qui réduit la portée/périmètre de la loi aux seuls &amp;quot;logiciels de caisse&amp;quot;: http://www.assemblee-nationale.fr/15/projets/pl0235.asp (Article 46). En d&#039;autres terme, les applications ERP (Comme Dolibarr) semblent la encore ne plus être concernées, mais la suite des événements (voir la suite) indiquera le contraire si vous encaissez des particuliers (seules les sociétés encaissant exclusivement d&#039;autres sociétés, ou ceux en franchises seront finalement exemptées)...&lt;br /&gt;
&lt;br /&gt;
Suite aux questions des industriels de l&#039;informatique, une FAQ, issue du ministère des finances, est alors parue pour tenter de clarifier le périmètre. Elle indique que tous les assujetis à TVA qui vendent à un non assujetti (particuliers) sont concernés. Si on lit tel quel cette FAQ, alors le périmètre est non seulement pas réduit, comme communiqué par le ministère dans son courrier du 15 juin, mais élargit, y compris aux sites e-commerce. Cette FAQ est le premier élément qui apporte donc une définition au terme &amp;quot;système de caisse&amp;quot; en considérant tout logiciel traçant des encaissements, comme &amp;quot;systeme de caisse&amp;quot;.&lt;br /&gt;
Des amendements ont été rédigés pour tenter de clarifier ou restreindre cette définition, voir la suite...&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 14 octobre 2017: Une reformulation du texte, plus complète que la FAQ, est donnée stipulant qu&#039;une entité est concernée... &amp;quot;&#039;&#039;Si elle effectue des livraisons de biens et des prestations de services ne donnant pas lieu à facturation conformément à l’article 289 et enregistre ces opérations au moyen d’un logiciel ou d&#039;un système de caisse&#039;&#039; ... &amp;quot;. Dans ce cas, il faut &amp;quot;&#039;&#039;... utiliser un logiciel ou un système satisfaisant à des conditions d&#039;inaltérabilité, de sécurisation, de conservation et d&#039;archivage des données en vue du contrôle de l&#039;administration fiscale, attestées par un certificat délivré par un organisme accrédité dans les conditions prévues à l&#039;article L. 433-4 du code de la consommation OU par une attestation individuelle de l&#039;éditeur, conforme à un modèle fixé par l&#039;administration ;&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Il est aussi précisé: &#039;&#039;« 2. Les assujettis bénéficiant d&#039;une franchise de taxe mentionnée à l&#039;article 293 B, ceux placés sous le régime du remboursement forfaitaire prévu aux articles 298 quater et 298 quinquies et ceux effectuant exclusivement des opérations ou des prestations exonérées de taxe sur la valeur ajoutée sont dispensés de l&#039;obligation mentionnée au 3° bis du I. » ; &#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Voir: [https://www.legifrance.gouv.fr/eli/loi/2017/12/30/CPAX1723900L/jo/texte/fr#JORFARTI000036339313 Article sur LegiFrance] pour le texte complet mentionnant ces 2 points.&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 20 novembre 2017: Nouveaux éléments permettant de mieux cibler le périmètre. En effet, l&#039;amendement II-CF15 = II-1649 de la loi Finance 2018 sur l&#039;article 46 pour exclure les encaissements de particuliers qui font l&#039;objet de fabrication d&#039;une facture en bon et du forme (afin d&#039;exclure les ERP et plateforme ecommerce) a été rejeté en séance à l&#039;assemblée: Seule l&#039;encaissement de sociétés est bien hors périmètre. En effet, considérant que l&#039;administration a le droit de vérification chez les clients de type société, les traces fournies par les factures suffisent pour assurer un contrôle satisfaisant, mais ce droit n&#039;existe pas en ce qui concerne la facturation des particuliers. Dans ce cas la, même la facture est peu utile à l&#039;administration et par conséquent les contraintes d&#039;inaltérabilité deviennent requises, même si on émet une facture en bon et du forme. Cette conclusion fait suite aux échanges suites à l&#039;amendement II-CF15 = II-1649 de la loi Finance 2018 sur l&#039;article 46. &lt;br /&gt;
&lt;br /&gt;
Pour info, texte complet de la tentative d&#039;amendement: http://www.assemblee-nationale.fr/15/amendements/0235C/AN/1649.asp ou en PDF http://www.assemblee-nationale.fr/15/amendements/0235C/CION_TOUTE/CF15.pdf&lt;br /&gt;
&lt;br /&gt;
Et voici les extraits importants de la discussion:&lt;br /&gt;
&lt;br /&gt;
D&#039;abord, la tentative de M. Bruno Millienne pour tenter d&#039;exclure les logiciels émettant des factures en bon et du forme:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;M. Bruno Millienne. &amp;quot;[...]le renvoi à l’article 289 du code général des impôts – CGI – ne vise que les cas d’émission de factures obligatoires au sens fiscal pour les opérations entre assujettis ou personnes morales. En l’état, le texte conduirait à appliquer le dispositif de certification ou d’attestation à toutes les opérations réalisées avec les particuliers, même lorsqu’elles donnent lieu à l’émission de factures conformes au CGI, par exemple dans le cadre du commerce électronique. [...] La rédaction actuelle de l’article peut conduire à requalifier en logiciel de caisse un logiciel de facturation, si des factures sont émises à l’attention d’un particulier ou d’une administration, ou un logiciel de comptabilité, si des règlements sont comptabilisés directement par l’utilisateur. L’éditeur deviendrait ainsi responsable du mode d’utilisation de son logiciel par l’assujetti. Il est impossible de transposer les exigences d’un logiciel de caisse à un logiciel de facturation : leurs fonctionnalités respectives sont totalement différentes. Actuellement, il existe des dispositifs de certification en matière de caisse, mais pas en matière de facturation.&amp;quot;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Réponse de &#039;&#039;M. Joël Giraud, rapporteur général de la commission des finances, de l’économie générale et du contrôle budgétaire: Avis défavorable. L’article 46 précise que l’obligation de certification ne vaut que pour les logiciels ou systèmes de caisse. L’obligation ne concernera plus les progiciels de gestion intégrée ou de comptabilité : pour ces logiciels multifonctions qui traitent à la fois la comptabilité, la gestion et la caisse, seuls les modules caisse enregistreuse et encaissement devront être certifiés, non l’ensemble du logiciel.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;...&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Et enfin le complément de &#039;&#039;M. Benjamin Griveaux, secrétaire d’État auprès du ministre de l’économie et des finances: Avis défavorable. Une facture n’est obligatoire, au sens fiscal, que dans le cadre d’une relation B to B – business to business, c’est-à-dire d’entreprise à entreprise. L’administration fiscale peut la contrôler car elle dispose d’un droit de communication envers l’entreprise cliente. A contrario, elle ne peut exercer de droit de communication auprès des particuliers. Cet amendement conduirait donc à exclure du dispositif de sécurisation les entreprises qui émettent des factures contenant les mentions légales, qu’elles soient adressées à des entreprises ou à des particuliers. Je suis donc l’avis du rapporteur général quant au risque de fraude accrue que cet amendement ferait courir.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La discussion complète de la séance ayant rejeté l&#039;amendement est disponible ici: http://www.assemblee-nationale.fr/15/cri/2017-2018/20180063.asp#P1103690&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;En conclusion, l&#039;amendement ayant été rejeté, il faut en déduire que la volonté est bien d&#039;intégrer, dans le périmètre, toutes les parties/modules de logiciels, utilisés comme caisse enregistreuse OU pour enregistrer des paiements de particuliers (logiciel ecommerce, de caisse, de gestion,...)&#039;&#039;&#039; et que l&#039;émission de facture en bon et du forme à des particuliers ne suffit pas pour sortir du périmètre...&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 30 décembre 2017:&lt;br /&gt;
&lt;br /&gt;
L&#039;article 88 qui disaient &#039;&#039;..toute personne assujettie à la taxe sur la valeur ajoutée (TVA) qui enregistre les règlements de ses clients au moyen d&#039;un logiciel de comptabilité ou de gestion ou d&#039;un système de caisse, doit utiliser un logiciel ou un système satisfaisant à des conditions d&#039;inaltérabilité, de sécurisation, de conservation et d&#039;archivage des données en vue du contrôle de l&#039;administration fiscale&#039;&#039;&lt;br /&gt;
est complété par l&#039;article 105 qui remplace &amp;quot;&#039;&#039;logiciel de comptabilité ou de gestion ou d&#039;un système de caisse&#039;&#039;&amp;quot; par &amp;quot;&#039;&#039;logiciel ou d&#039;un système de caisse&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 23 janvier 2018: Un représentant du projet Dolibarr, avec des représentants de l&#039;APRIL et du logiciel libre de caisse Pasteque, ont été reçus au ministère des finances afin d&#039;échanger sur l&#039;interprétation du texte. Les interprétations faites sur cette page (ainsi que les réponses faites aux FAQ qui suivent) ont pu être confirmées. &lt;br /&gt;
Toutefois, il y a intention de réduire le périmètre aux seuls logiciels de caisse. A suivre donc. Une version de travail revue, du Bofip doit être publiée à un comité restreint d&#039;acteurs, dont l&#039;April, fin janvier, afin de faciliter le travail d&#039;interprétations, pour une publication officielle au printemps. En attendant, on ne peut qu&#039;attendre (Cette publication aura lieu finallement le 4 juillet 2018 et une grande partie de nos retours s&#039;avèrera prise en compte).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 18 mai 2018: Réponse du gouvernement à quelques questions sur le sujet: https://www.nosdeputes.fr/15/question/QE/3257 . La réponse évoque l&#039;année de tolérance en précisant que l&#039;utilisateur devra montrer sa diligence en cas de contrôle (Soin appliqué à la mise en oeuvre de l&#039;obtention de l&#039;attestation individuelle)&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 5 juin 2018: Réponse du gouvernement à quelques questions sur le sujet: https://www.nosdeputes.fr/15/question/QE/2736 . La réponse évoque l&#039;année de tolérance en précisant que l&#039;utilisateur devra montrer sa diligence en cas de contrôle (Soin appliqué à la mise en oeuvre de l&#039;obtention de l&#039;attestation individuelle)&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] 4 juillet 2018: Publication de la version corrigée du texte de loi au BOFIP: https://bofip.impots.gouv.fr/bofip/10691-PGP.html?identifiant=BOI-TVA-DECLA-30-10-30-20180704. Cette version conforte tous les points évoqués (le texte clarifie la loi et confirme que les interprétations vu ci-dessus s&#039;avéraient justes), avec toutefois 2 ajouts majeures:&lt;br /&gt;
&lt;br /&gt;
*La définition de logiciel de caisse a été donnée:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Un logiciel ou système de caisse est un système informatique doté d&#039;une fonctionnalité de caisse, laquelle consiste à mémoriser et à enregistrer extra-comptablement des paiements reçus en contrepartie d&#039;une vente de marchandises ou de prestations de services c&#039;est-à-dire que le paiement enregistré ne génère pas concomitamment, automatiquement et obligatoirement la passation d&#039;une écriture comptable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Ne sont pas considérés comme enregistrés extra-comptablement, quel que soit le mode de paiement, les paiements pour lesquels le logiciel ou système déclenche obligatoirement, instantanément et automatiquement, sans intervention humaine, une écriture dans le système d’information comptable.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sont visés tous les logiciels ou systèmes de caisse permettant l&#039;enregistrement des règlements de leurs clients quel que soit le mode de règlement (espèces, chèques, CB, virements, prélèvements...).&#039;&#039;&lt;br /&gt;
Cette obligation s&#039;applique y compris en cas d&#039;enregistrement sur un logiciel ou système accessible en ligne.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Sans que cette liste ne soit limitative, sont concernés par l&#039;obligation les instruments de mesures réglementés, comme les balances, mais également les rampes de boissons automatisées, les automates de paiement ou encore les distributeurs automatiques de marchandises (boissons, gâteaux…) qui disposent d&#039;une fonctionnalité de caisse.&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;Seule cette fonctionnalité de caisse, et non les autres fonctions telles que celles relatives à la pesée, doivent être certifiées.&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
*L&#039;article 35 qui est un allègement du périmètre: Les professionnels réalisant leur paiement avec l&#039;intermédiation d&#039;un établissement de crédit européen ne sont plus soumis à l&#039;obligation de certification ou attestation. Mais attention, on parle bien de paiements &amp;quot;directs&amp;quot; (donc Virement ou Carte de Débit ou de Crédit mais pas chèques qui n&#039;est pas &amp;quot;direct&amp;quot;) et surtout via un système de paiement géré par un organisme bancaire européen. En d&#039;autres terme, si on ne fait que du paiement CB avec un module de VAD d&#039;une banque, on est NON soumis à la certification/attestation mais si le paiement CB (carte de crédit ou débit) se fait par un service comme Stripe ou Paypal, sauf à être exempté pour un autre motif, on l&#039;est toujours (car l&#039;état français n&#039;a pas de moyen d&#039;obtenir le listing des transactions via ces solutions non européennes, bien que le paiement soit par carte bancaire).&lt;br /&gt;
&lt;br /&gt;
==Conclusion pour le logiciel Open Source Dolibarr ERP CRM==&lt;br /&gt;
&lt;br /&gt;
Dolibarr ERP CRM est une application de gestion qui enregistre des factures (factures acomptes, avoirs ou standards). L&#039;application permet aussi d&#039;enregistrer des paiements. Le module POS (celui fourni par défaut appelé TakePOS), fonctionne aussi sur le principe de génération systématique de facture et d&#039;enregistrement du paiement en temps réel. L&#039;application est donc bien dans le périmètre (comme n&#039;importe quel autre ERP, logiciel de caisse ou de Ecommerce). Mais en tant qu&#039;utilisateur, vous n&#039;êtes concerné que si vous n&#039;etes pas en franchise de base ET si vous l&#039;utilisez pour saisir des &#039;&#039;&#039;encaissements&#039;&#039;&#039; de particuliers (B2C=Business To Consumer) ou en mode mixte, à savoir encaissement aussi bien de particuliers (B2C) et d&#039;entreprises (B2B), quelquesoit le ratio entre les 2. Si vous ne facturez QUE des professionnels, dans ce cas, vous n&#039;êtes pas concerné par la LF2016 (Loi finance 2016, applicable depuis 2018).&lt;br /&gt;
&lt;br /&gt;
Dans le cas où vous utilisez le module Facture, ou le module POS, pour encaisser des particuliers, et êtes assujettis à la TVA mais pas en franchise, vous êtes concerné. Il vous faut alors vous assurer que le module &amp;quot;Log inaltérable&amp;quot; (&amp;quot;BlockedLog&amp;quot;) est bien activé. Sa désactivation, une fois les premières saisies faites ne sera ensuite plus envisageable. Avec Dolibarr v10 ou plus et l&#039;activation de ce module vous aurez alors une version conforme sur le plan technique et fonctionnel. Il vous faudra ensuite, obtenir une attestation de conformité auprès d&#039;un tiers qui confirme cette conformité technique/fonctionnelle pour être conforme d&#039;un point de vue juridique. Si vous utilisez une version en ligne Saas/Cloud fournie par un tiers, ce dernier vous la fournira surement (voir exemples sur https://saas.dolibarr.org). Dans le cas contraire, il vous faut contactez votre intégrateur informatique ou un prestataire pouvant fournir cette d&#039;attestation.&lt;br /&gt;
&lt;br /&gt;
Remarque: cette contrainte sera identique quelque soit l&#039;ERP choisi. L&#039;utilisation d&#039;outils non spécialisés comme un tableur Excel ou autre, DANS LE BUT D&#039;AVOIR UNE CONSERVATION DE TRACES DES PAIEMENTS, ne devient plus permis car le logiciel n&#039;étant pas conforme, vous ne réussirez pas à trouver un prestataire pour fournir l&#039;attestation de conformité. Par contre, si l&#039;utilisation que vous faites d&#039;Excel ou autre tableur est à des fins juste de &amp;quot;génération du PDF de la facture&amp;quot; sans &#039;&#039;conservation des données&#039;&#039; (Le texte de loi parle alors de logiciel &amp;quot;facturier&amp;quot;), vous pouvez continuer à l&#039;utiliser ainsi. Dans le cas où l&#039;utilisation est faite pour conserver trace de vos paiements, et si vous êtes dans le périmètre de la loi, un logiciel &#039;&#039;&#039;certifié OU attestable&#039;&#039;&#039; sur la partie encaissement (comme l&#039;est Dolibarr) devient obligatoire.&lt;br /&gt;
&lt;br /&gt;
Voyons aussi, par une autre approche, à savoir un système de question-réponse, comment synthétiser autrement tout cela:&lt;br /&gt;
&lt;br /&gt;
=Questions / Réponses (FAQ)=&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==J&#039;utilise Dolibarr ou autre logiciel ERP, suis-je concerné, pour quelle fonctionnalité ?==&lt;br /&gt;
&lt;br /&gt;
*Votre logiciel n&#039;est concerné que si vous êtes &#039;&#039;&#039;assujetties à la TVA (et pas en franchise en base de TVA)&#039;&#039;&#039;, ET si vous l&#039;utilisez pour saisir des &#039;&#039;&#039;encaissements de particuliers&#039;&#039;&#039; (B2C=Business To Consumer) ou en mode mixte, à savoir encaissement aussi bien de particuliers (B2C) et d&#039;entreprises (B2B), quelque soit le ratio entre les 2, quelque soit les modes de paiement utilisés (sauf à ne faire que du paiement direct par l&#039;intermédiation d&#039;un organisme bancaire européen). Donc:&lt;br /&gt;
**si vous n&#039;encaissez pas d&#039;argent, vous n&#039;êtes PAS concerné.&lt;br /&gt;
**si vous êtes une association/organisme non assujettie à la TVA (association, médecin, ...), vous n&#039;êtes PAS concerné.&lt;br /&gt;
**si vous êtes un professionnel bénéficiant du régime de remboursement forfaitaire de TVA agricole, vous n&#039;êtes PAS concerné.&lt;br /&gt;
**si vous êtes un auto-entrepreneur, vous n&#039;êtes (peut-être) PAS concerné (dispense si vous relevez de la franchise en base).&lt;br /&gt;
**si vous êtes une entreprise dont l&#039;intégralité des encaissements est réalisée avec l&#039;intermédiation directe d’un établissement de crédit (système de paiement VAD d&#039;une banque ou Virements), vous n&#039;êtes PAS concerné. Remarque: Des encaissements par Carte bancaire via Paypal ou via Stripe ne sont pas des encaissements avec intermédiation directe d’un établissement de crédit, car ni Paypal ni Stripe ne sont des établissements de crédit (comprendre Banque).&lt;br /&gt;
**si vous ne facturez QUE des entreprises/professionnels, dans ce cas, vous n&#039;êtes PAS concerné non plus par la loi finance (non B2C). Remarque: Si vous facturez des professionnels la plupart du temps et, exceptionnellement de temps en temps des particuliers via un mode de paiement non assuré par un organisme de crédit européen, si vous pouvez gérer/suivre ces facturations de particuliers à part sur papier, vous sortez alors du champ et n&#039;êtes pas concerné.&lt;br /&gt;
&lt;br /&gt;
Si vous n&#039;êtes dans aucun des cas d&#039;exception précédent, vous êtes concernés si vous utilisez le module Facture pour enregistrer vos paiements et/ou le module POS. Il vous faut alors vous assurer que le module &amp;quot;Log inaltérable&amp;quot; (&amp;quot;BlockedLog&amp;quot;) fourni avec la v10 ou plus est bien activé. Sa désactivation, une fois les premières saisies faites ne sera ensuite plus envisageable. Avec la migration en v10 ou plus et l&#039;activation de ce module vous aurez alors une version conforme sur le plan technique et fonctionnel. Il vous faudra ensuite, obtenir une attestation de conformité auprès d&#039;un tiers qui confirme cette conformité technique/fonctionnelle pour être conforme d&#039;un point de vue juridique. &lt;br /&gt;
&lt;br /&gt;
Si vous utilisez une version en ligne Saas/Cloud fournie par un tiers, ce dernier vous la fournira surement (exemple: https://www.dolicloud.com ou https://www.novafirstcloud.com). Dans le cas contraire, il vous faut contactez votre intégrateur ou un prestataire pouvant fournir cette d&#039;attestation.&lt;br /&gt;
&lt;br /&gt;
Remarque: cette contrainte sera identique quelque soit l&#039;ERP choisi. L&#039;utilisation d&#039;outils non spécialisés comme un tableur Excel ou autre, DANS LE BUT D&#039;AVOIR UNE CONSERVATION DE TRACE DES PAIEMENTS, ne devient plus permis car le logiciel n&#039;étant pas conforme, vous ne réussirez pas à trouver un prestataire pour fournir l&#039;attestation de conformité. Par contre, si l&#039;utilisation que vous faites d&#039;Excel ou autre tableur est à des fins juste de &amp;quot;génération du PDF de la facture&amp;quot; sans &#039;&#039;conservation des données&#039;&#039; (Le texte de loi parle alors de logiciel &#039;&#039;facturier&#039;&#039;), vous pouvez continuer à l&#039;utiliser ainsi. Dans le cas ou l&#039;utilisation est faite pour conserver trace de vos paiements, et si vous êtes dans le périmètre de la loi, un logiciel &#039;&#039;&#039;certifié OU attestable&#039;&#039;&#039; sur la partie encaissement (comme l&#039;est Dolibarr) devient obligatoire (dans le cas d&#039;un logiciel non certifié mais attestable comme Dolibarr, il vous faudra obtenir une attestation papier ou PDF d&#039;un Tiers).&lt;br /&gt;
&lt;br /&gt;
==Je suis concerné, mais à partir de quand ?==&lt;br /&gt;
&lt;br /&gt;
*Si vous êtes concerné, la loi s&#039;applique au 1er janvier 2018. Toutefois, le texte de loi clarifié datant de juillet 2018, si on ajoute le temps requis par les logiciels pour s&#039;adapter à la version définitive, puis le temps de migration sur la nouvelle version, une tolérance est de mise la première année (donc 2018), à condition de montrer que vous suivez le sujet et avez attendu pour avoir le texte définitif puis pour avoir la version conforme puis pour avoir le  bon moment de faire votre migration. Si vous utilisez Dolibarr, les différentes évolutions de cette page montre que la démarche est engagée sur le logiciel depuis novembre 2016 et ce alors que le périmètre de la loi était encore contradictoire début novembre 2017.&lt;br /&gt;
&lt;br /&gt;
A la question posée en janvier 2018 au ministère des finances: &amp;quot;Que pouvons nous dire aux utilisateurs qui sont en attente de texte/règle clarifiée pour agir, sachant que la loi est sensé être déjà effective ?&amp;quot;, la réponse donnée a été que la première année (2018 donc), il y aurait tolérance, dès lors que vous montrez que vous avez pris une trajectoire sur 2018 pour bien faire. Cette année transitoire ayant été officiellement annoncée par le secrétaire d&#039;état, dont voici les propos:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;« Je veux toutefois rassurer les entreprises : la direction générale des finances publiques les accompagnera pendant la première année d’application de ce dispositif, en vertu non pas d’une culture de la sanction ou du contrôle fondée sur le présupposé d’une malveillance des entreprises, mais d’un rôle de conseil. La DGFIP tiendra notamment compte des démarches engagées et des diligences effectuées par les entreprises pour obtenir le certificat ou l’attestation. C’est dans cet esprit que nous travaillerons. Les deux organismes certificateurs prendront également leur part de cet effort de pédagogie, qui est normal. »&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==La nécessité d&#039;attestation ou certification disparaît-elle si on n&#039;enregistre nos paiements que via un mode de règlement qui laisse déjà des traces, comme les chèques ou cartes ?==&lt;br /&gt;
&lt;br /&gt;
Au départ, le type de règlement n&#039;avait aucun impact sur la loi. Tous les types de paiement (chèque, carte, liquide, virement, ...) rentrent dans le périmètre de la loi et aucun ne permet d&#039;être hors du champs d&#039;application. L&#039;amendement suivant https://www.nosdeputes.fr/15/amendement/235/1325C a tenté de restreindre le périmètre à un certain mode de paiement, mais a été rejeté.&lt;br /&gt;
&lt;br /&gt;
Ceci se comprend dans la mesure où, même un paiement par carte, peut se faire via un système comme Paypal ou Stripe, et que l&#039;administration fiscale française a très peu de pouvoir de contrôle sur une société étrangère.&lt;br /&gt;
Toutefois, il existe des cas où l&#039;administration fiscale a un pouvoir de contrôle, c&#039;est pourquoi, dans la re-publication au BOFIP de la loi le 4 juillet 2018, une exception a été introduite: Les professionnels réalisant leur paiement avec l&#039;intermédiation directe d&#039;un établissement de crédit européen ne sont plus soumis à l&#039;obligation de certification ou attestation. Mais attention, on parle bien de paiements &amp;quot;directs&amp;quot; (donc Virement ou Carte de Débit ou de Crédit, mais pas chèques qui n&#039;est pas &amp;quot;direct&amp;quot;) et surtout via un système de paiement géré par un organisme bancaire européen. En d&#039;autres terme, si on ne fait que du paiement CB avec un module de VAD d&#039;une banque, on est NON soumis à la certification/attestation mais si le paiement CB (carte de crédit ou débit) se fait par un service comme Stripe ou Paypal, sauf à être exempté pour un autre motif, on l&#039;est toujours (car l&#039;état français n&#039;a pas de moyen d&#039;obtenir le listing des transactions via ces solutions, bien que le paiement soit par carte bancaire).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Quelles sont les conditions pour une application concernée pour être conforme (conditions pour obtenir la certification OU être attestable conforme par un tiers) ?==&lt;br /&gt;
&lt;br /&gt;
*Principe d&#039;inaltérabilité&lt;br /&gt;
**Logs non modifiable par chaînage (principe de somme de contrôle incluant la somme de contrôle de la trace précédente) pour tout ce qui concerne les saisies d&#039;encaissements (incluant toutes les mentions obligatoires d&#039;une facture). Il est possible d&#039;aller au delà de la loi en traçant aussi ce qui concerne les factures et leur envoi sur une imprimante. Aucune fonction pour modifier ou supprimer ces logs ne doit exister.&lt;br /&gt;
**Quand un paiement est enregistré, la trace et les informations qui ont donné lieu à ce paiement (information du paiement mais aussi de la facture ne peuvent plus être modifier). Rem: Il est toujours possible de faire des modification sur l&#039;objet de gestion mais la trace historique (la log archivée) doit rester non modifié et fidèle à l&#039;acte d&#039;origine. Et si un changement est fait, ce changement doit lui aussi être tracé et reprendre toutes les nouvelles informations et être lui aussi non effaçable, non modifiable.&lt;br /&gt;
&lt;br /&gt;
*Conservation sur 6 ans ou plus (Remarque: Dolibarr conserve les données en base à vie)&lt;br /&gt;
&lt;br /&gt;
*Fonction &amp;quot;Archiver&amp;quot; annuellement qui permet d&#039;exporter dans un fichier externe dans un format lisible sans le logiciel, et par l&#039;administration, pour consulter l&#039;archive (et retrouver les infos d&#039;origine qui composaient la facture, les paiements).&lt;br /&gt;
&lt;br /&gt;
*Fournir, soit la certification de conformité du logiciel, soit une attestation de conformité (Voir dans les FAQ plus loin &amp;quot;Quel éditeur peut fournir des attestations pour ma version ?&amp;quot; sur comment l&#039;obtenir)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
!!! En d&#039;autres termes, il ne sera plus possible d&#039;utiliser des logiciels tableurs comme Excel ou Google Apps, ni autre solution développée soi même pour avoir une trace et conservation de vos paiements, sans considération de cette loi (sauf à continuer de saisir en parallèle soit dans un autre système conforme, soit sur le bon vieux carnet à souche). Mais vous pouvez continuer à utiliser votre tableur à des fins de logiciel pour générer vos Factures (la loi parle de &amp;quot;logiciel facturier&amp;quot;) si il n&#039;y a pas de conservation de données (le logiciel est alors considéré comme simple facturier et donc hors périmètre). &lt;br /&gt;
Pour un suivi et conservation de vos encaissements via un outils informatique, des logiciels, conforme loi finance 2016 comme Dolibarr ERP CRM v10 ou + deviennent alors obligatoires, dès lors que l&#039;on est concerné (voir FAQ &#039;&#039;&#039;...suis-je concerné...&#039;&#039;&#039;).&lt;br /&gt;
&lt;br /&gt;
==Quelle est la différence entre certification et attestation ?==&lt;br /&gt;
&lt;br /&gt;
La certification est une procédure par laquelle une tierce partie, l’organisme certificateur (Par exemple la LNE ou L&#039;AFNOR), donne une assurance écrite qu’un système d’organisation, un processus, une personne, un produit ou un service est conforme à des exigences spécifiées dans une norme ou un référentiel. Elle est encadrée par le Code de la Consommation. Sur un logiciel, la certification est faite pour une version donnée sur le périmètre de l&#039;application ou d&#039;une partie de l&#039;application uniquement. Chaque nouvelle version devant être re-certifiée.&lt;br /&gt;
&lt;br /&gt;
L&#039;attestation de conformité est fournie par une tierce partie également, mais ce dernier n&#039;a pas besoin d&#039;être un organisme certifiant. Il peut s&#039;agir de n&#039;importe quelle société. C&#039;est souvent l&#039;éditeur du logiciel, mais il peut s&#039;agir en fait de n&#039;importe quelle société. Cette attestation est une déclaration par laquelle l’éditeur témoigne et s’engage à ce que le système d’encaissement qu’il atteste respecte les conditions d’inaltérabilité, de sécurisation, de conservation et d’archivage des données. L&#039;attestation est elle aussi valable pour une version et éventuellement un paramétrage donné.&lt;br /&gt;
&lt;br /&gt;
Dans le cadre de la loi des finances pour 2016, et si vous êtes dans le périmètre de cette loi (voir autres FAQ), vous devez, soit avoir un logiciel &amp;quot;certifié&amp;quot;, soit avoir un logiciel &amp;quot;attesté conforme&amp;quot; (Notez que le terme &amp;quot;certifié&amp;quot; est souvent utilisé dans les textes (plus rarement dans le texte définitif de la loi) comme raccourci pour signifier &amp;quot;certifié ou attesté conforme&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==L&#039;application Dolibarr sera-t-elle certifiée par l&#039;éditeur ?==&lt;br /&gt;
&lt;br /&gt;
Pour Dolibarr, et de nombreux logiciels Open Source, il n&#039;y a pas un éditeur bien identifié car de nombreuses sociétés différentes contribuent à son évolution.&lt;br /&gt;
&lt;br /&gt;
Au sens de la loi, l&#039;éditeur du logiciel est le &#039;&#039;&#039;&amp;quot;dernier&amp;quot; qui a modifié/validé le code&#039;&#039;&#039;. L&#039;entité qui postule pour une certification peut donc être, aussi bien l&#039;association Dolibarr, comme tout intégrateur, hébergeur ou autre institution externe. &lt;br /&gt;
&lt;br /&gt;
Il est possible que l&#039;association Dolibarr, qui a pour rôle la promotion du logiciel, fasse les démarches pour obtenir la certification pour certaines versions majeures, celles qui sont officiellement packagées par le release manager et qui sont mises à disposition sur l&#039;espace de téléchargement officiel par l&#039;association. Dans cette éventualité, seules quelques versions bien identifiées feront l&#039;objet d&#039;une demande de certification. Toutefois, cette obtention de certification qui fige une version (Certification LNE ou certification NF525) n&#039;est pas obligatoire pour être conforme et non adapté avec les lois du marché qui veut qu&#039;un logiciel doit évoluer très vite. L&#039;autre solution, celle de l&#039;obtention d&#039;une attestation s&#039;avère donc recommandée et plus simple.&lt;br /&gt;
Nous encourageons donc les utilisateurs qui ont obligation d&#039;utiliser un logiciel conforme anti-fraude à la TVA selon la loi finance 2016 (donc les assujettis à TVA hors franchise de base, et qui facture/encaisse des particuliers) à &#039;&#039;&#039;se tourner vers la solution d&#039;attestation&#039;&#039;&#039;. Voir point suivant.&lt;br /&gt;
&lt;br /&gt;
==L&#039;attestation de conformité, autre possibilité, sera-t-elle fournie par l&#039;éditeur ou autre tiers ?==&lt;br /&gt;
&lt;br /&gt;
L&#039;autre solution pour être en règle est d&#039;obtenir une attestation de conformité de votre logiciel de suivi des encaissements. &lt;br /&gt;
 &lt;br /&gt;
En tant qu&#039;utilisateur, et si vous êtes dans le périmètre de la loi, vous pourrez obtenir une attestation auprès de n&#039;importe quel tiers/intégrateur prêt à la fournir (en général moyennant finance), ou vous la délivrer à vous même si vous êtes une société d&#039;édition de logiciel. Voir les 2 FAQ suivantes pour savoir qui pourra délivrer les attestations de conformité...&lt;br /&gt;
Dans le cas d&#039;un logiciel hébergé en Saas, la société qui propose la solution en Saas fournira souvent cette attestation mais parfois non (voir point suivant).&lt;br /&gt;
&lt;br /&gt;
==Quel éditeur peut fournir des attestations pour ma version, à quel prix ?==&lt;br /&gt;
&lt;br /&gt;
N&#039;importe quelle société qui a les compétences pour analyser le logiciel et vérifier que ses fonctionnalités sont bien en règle peut fournir une attestation à autrui. Le code d&#039;une application libre étant ouvert, toute société compétente dans la technologie du produit, peut maîtriser le code aussi bien que les développeurs initiaux. Une telle société peut donc être qualifiée d&#039;&amp;quot;éditeur&amp;quot;, même si elle n&#039;a pas produit ou très peu produit de code au projet final, et par conséquent, et à même de fournir un attestation individuelle à ses clients.&lt;br /&gt;
&lt;br /&gt;
Le BOFIP dit clairement:&lt;br /&gt;
&lt;br /&gt;
&amp;quot;310. Lorsque le logiciel ou système est conçu de manière ouverte pour permettre son adaptation aux besoins spécifiques des clients, on entend par « éditeur » qui peut valablement demander la certification ou fournir l&#039;attestation individuelle.&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Bref, si vous utilisez une version en ligne SaaS/Cloud fournie par un tiers, ce dernier vous la fournira surement (Exemple avec https://www.dolicloud.com ou encore https://www.novafirstcloud.com). Dans le cas contraire, il vous faut contactez votre intégrateur ou un prestataire pouvant fournir cette d&#039;attestation. Remarque: cette contrainte sera identique quelque soit l&#039;outil informatique d&#039;enregistrements des encaissements qui aura été choisi.&lt;br /&gt;
&lt;br /&gt;
En ce qui concerne le prix, tout dépend du tiers qui fournit l&#039;attestation. Certains, par exemple, pourront donner l&#039;attestation gratuitement à condition d&#039;héberger le logiciel attesté chez eux. D&#039;autres vous feront payer la prestation d&#039;audit et la délivrance de l&#039;attestation. Cela peut être de manière récurrente si l&#039;attestation doit être réémise régulièrement suite à modification/mise à jour de l&#039;application.&lt;br /&gt;
&lt;br /&gt;
==La loi finance est-elle compatible avec les licences libres de logiciels de caisse ?==&lt;br /&gt;
&lt;br /&gt;
Si le logiciel libre n&#039;est pas un logiciel qui réalise des encaissements ou si vous n&#039;encaissez que des entreprises, la question ne se pose même pas puisque la loi ne s&#039;applique pas à ces cas. &lt;br /&gt;
&lt;br /&gt;
Si le logiciel libre est un logiciel d&#039;encaissements et que les clients encaissés sont des particuliers, alors oui, le logiciel libre est parfaitement compatible: &lt;br /&gt;
&lt;br /&gt;
Le paragraphe 40 du BOI le dit explicitement en reconnaissant aux utilisateurs la possibilité « &#039;&#039;d&#039;adapter le logiciel à leurs besoins spécifiques&#039;&#039; » :  &lt;br /&gt;
&lt;br /&gt;
&amp;quot;&#039;&#039;... Sont notamment concernés les logiciels de comptabilité ou de gestion dits &amp;quot;libres&amp;quot; ou développés en interne, c&#039;est-à-dire développés par l&#039;assujetti lui-même. On entend par logiciel libre un logiciel dont les utilisateurs ont un libre usage, une libre étude, une libre modification et une libre distribution. Ces libertés permettent aux utilisateurs d&#039;adapter le logiciel à leurs besoins spécifiques. Les modifications que les utilisateurs peuvent apporter au logiciel libre ou développé en interne ne doivent pas avoir pour objet ou pour effet d&#039;altérer le respect des conditions d&#039;inaltérabilité, de sécurisation, de conservation et d&#039;archivage décrites ci-dessous...&#039;&#039;&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Par ailleurs, le paragraphe 310 évoque à nouveau le cas des logiciels « conçus de manière ouverte », c.à.d les logiciels libres.&lt;br /&gt;
&lt;br /&gt;
Donc, aucune objection à utiliser des logiciels libres. Mais attention, l&#039;autorisation de modification est restreinte au code et paramètres &amp;quot;triviaux&amp;quot;. En effet, que ce soit lors d&#039;une utilisation de la version certifiée ou d&#039;une version rendue conforme par obtention d&#039;une attestation de conformité, la nouvelle loi vous prive d&#039;une partie de votre liberté de &#039;&#039;&#039;modifier le logiciel de caisse SUR LES PARTIES qui concernent les fonctions d&#039;inaltérabilité, sécurisation, conservation et archivage&#039;&#039;&#039;. En effet, en faisant une telle modification, la version est considérée comme changée de manière &amp;quot;non triviale&amp;quot;, aussi la certification n&#039;est plus valable, l&#039;attestation d&#039;un tiers non plus. Les logiciels libres sont donc tout à fait légaux et compatible avec la loi, par contre, c&#039;est à condition de ne pas faire n&#039;importe quelle modification. Vous perdez donc une partie de votre liberté (non pas du fait de la licence du logiciel qui le permet, mais du fait de la loi qui est prioritaire sur les droits accordés par la licence). Le logiciel libre est donc bien compatible avec la loi, mais la loi vous prive d&#039;une des 4 libertés que le logiciel libre apportait, celle de le modifier librement. Vous pouvez toujours le faire, mais à condition que cela ne porte pas sur le comportement de l&#039;encaissement, ou, si cela porte sur celui-ci, que vous ré-obteniez soit la certification à nouveau (complexe et long), soit une nouvelle attestation d&#039;un éditeur ou intégrateur.&lt;br /&gt;
&lt;br /&gt;
==Pour ma propre utilisation, puis-je m&#039;auto-délivrer l&#039;attestation de conformité pour une version que j&#039;ai modifié moi même sur les parties d&#039;encaissements==&lt;br /&gt;
&lt;br /&gt;
Uniquement un nombre très restreints d&#039;entreprise le pourront, celles qui sont dans le domaine de l&#039;&#039;&#039;&#039;Edition de logiciel de comptabilité ou de gestion ou de système de caisse&#039;&#039;&#039;. Toutefois, sur le plan juridique une telle classification n&#039;existe que par les faits. En effet, on serait tenté de penser que les entreprises ayant le codes NACE (Code NACE = terme européen du code NAF/APE) &#039;&#039;&#039;58.29&#039;&#039;&#039; qui signifie &#039;&#039;&#039;Edition de logiciel autre&#039;&#039;&#039; et/ou &#039;&#039;&#039;62.01Z&#039;&#039;&#039; qui signifie &#039;&#039;&#039;Développement de logiciels&#039;&#039;&#039; pourrait être qualifiées. Toutefois, il faut avoir en tête que le code APE est &amp;quot;&#039;&#039;attribué par l&#039;INSEE à des fins statistiques, et ne saurait suffire à créer des droits ou des obligations pour les entreprises&#039;&#039;&amp;quot; (Ceci est dans le décret qui approuve la nomenclature: décret n° 2007-1888 du 26 décembre 2007, article 5, point I). Dans la réalité, ce code est malgré tout utilisé pour avoir des présomptions d&#039;activité au niveau fiscal ou administratif. Donc, c&#039;est un avantage, mais aucunement une garantie et inversement, une entreprise n&#039;ayant pas cette classification peut avoir des arguments suffisamment solide pour démontrer son activité d&#039;&amp;quot;éditeur de logiciel de caisse&amp;quot;. &amp;lt;ref&amp;gt;BOI-TVA-DECLA-30-10-30-20180704, point 375&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Je suis intégrateur ou développeur informatique, je sais que Dolibarr v10 et ultérieur répond aux exigences de conformité, puis-je délivrer l&#039;attestation de conformité, à mon client qui est en v10 ou plus, moi même ?==&lt;br /&gt;
&lt;br /&gt;
Oui. A vous de fournir/indiquer à votre client la version/paramétrage que vous attestez. Avec Dolibarr, vous pouvez générez la signature de la version et paramétrage que vous attestez avec l&#039;outil &#039;&#039;&#039;generate_filelist_xml.php&#039;&#039;&#039; fourni avec les sources de l&#039;application.&lt;br /&gt;
Cette signature vous permettra de vérifier que votre client n&#039;a pas fait de &#039;&#039;&#039;modification de code ou paramétrage sur les parties qui concernent l&#039;encaissement&#039;&#039;&#039;. Auquel cas, il devient l&#039;éditeur, et votre attestation en tant qu&#039;éditeur n&#039;est plus valide, vous n&#039;êtes alors plus responsable d&#039;une apparition d&#039;une fonctionnalité non conforme dans le logiciel.&lt;br /&gt;
&lt;br /&gt;
==Je suis intégrateur ou développeur informatique, quel outil ai-je à ma disposition pour m&#039;assurer que les exigences sur le logiciel sont bien assurées par une version installée de Dolibarr==&lt;br /&gt;
&lt;br /&gt;
Les versions 10.0 et supérieures contiennent l&#039;ensemble des exigences et notamment le module &amp;quot;Log inaltérable&amp;quot; qu&#039;il vous revient d&#039;activer (l&#039;obligation d&#039;activation dépend du fait que vous êtes concerné ou non, voir FAQ précédente pour cela). L&#039;application est une application Open Source, le client utilisateur peut réussir à modifier le code (notons que ceci est aussi possible avec du propriétaire, juste plus difficile). De même, un hacker peut toujours réussir à trafiquer un logiciel. Face à cela, Dolibarr fourni un outil pour obtenir la liste de tous les fichiers qui auraient été modifiés par rapport à la version officielle, ou par rapport à une version packagée par un intégrateur tiers, ainsi que la liste des paramètres de configuration obligatoires pour la conformité (voir plus bas) et qui aurait aussi été modifiés. Le certificat étant délivré pour une version avec une configuration donnée, si un utilisateur ou hacker a pu altérer partiellement l&#039;application sur du code ou des paramètres sensibles, l&#039;outil de contrôle pourra le révéler, auquel cas, la responsabilité de non conformité n&#039;est plus du ressort de l&#039;entité qui a fournit l&#039;attestation, puisque ce n&#039;est plus la même application, mais de la responsabilité de celui qui est à l&#039;origine des modifications.&lt;br /&gt;
&lt;br /&gt;
Paramètres recommandées à contrôler/imposer dans une attestation:&lt;br /&gt;
&lt;br /&gt;
*Pays de la société (doit rester à France). Rem: Une fois le premier encaissement fait avec le module &amp;quot;Log inaltérable&amp;quot;, sa désactivation renverra un warning.&lt;br /&gt;
*Constante MAIN_MODULE_BLOCKEDLOG doit être définie (Cela signifie que le module &amp;quot;Log inaltérable&amp;quot; est bien actif).&lt;br /&gt;
&lt;br /&gt;
Optionnellement, vous pouvez:&lt;br /&gt;
&lt;br /&gt;
*Imposer que la constante BLOCKEDLOG_DISABLE_NOT_ALLOWED_FOR_COUNTRY soit définie et contient le code pays FR (ceci bloque la désactivation du module par erreur).&lt;br /&gt;
&lt;br /&gt;
Remarque:&lt;br /&gt;
Vous pouvez utiliser l&#039;outil &#039;&#039;&#039;build/generate_filecheck_xml.php&#039;&#039;&#039; pour générer un fichier emprunte de la version et/ou paramétrage donné que vous voulez imposer.&lt;br /&gt;
Ensuite utilisez l&#039;outil dans le menu &#039;&#039;&#039;Accueil - Outils administration - Dolibarr - Files integrity check&#039;&#039;&#039; ou bien à distance l&#039;API &#039;&#039;&#039;/setup/checkintegrity&#039;&#039;&#039; (le module API REST doit avoir été activée) pour vérifier qu&#039;une version est conforme à ce fichier emprunte.&lt;br /&gt;
&lt;br /&gt;
==Je suis dans le périmètre de la loi, j&#039;ai ajouté un module externe sur mon Dolibarr, faut-il une attestation Loi Finance pour ce module ?==&lt;br /&gt;
&lt;br /&gt;
Il n&#039;y a pas de notion de &amp;quot;certificat ou d&#039;attestation loi finance&amp;quot; sur un module.&lt;br /&gt;
&lt;br /&gt;
En effet, ce qui doit être certifié ou attesté, c&#039;est la partie du logiciel qui réalise les enregistrements des paiements, pris dans le contexte de l&#039;ensemble du système d&#039;information, et non chaque module de votre application individuellement. Le logiciel Dolibarr v10 ou + est attestable, donc, si vous êtes dans le périmètre de la loi, ce qu&#039;il vous faut obtenir, c&#039;est une attestation de conformité de l&#039;ensemble de la solution, validant les modules ajoutés qui impactent l&#039;enregistrement des paiements. Donc, &lt;br /&gt;
&lt;br /&gt;
*Si vous êtes dans le périmètre de la loi et que le module ajouté ne concerne pas l&#039;enregistrement des paiements, il n&#039;y a rien de particulier à faire de plus (dès lors que vous êtes dans le périmètre de la loi, vous devez obtenir l&#039;attestation pour les fonctions encaissements de paiements de votre Dolibarr, peu importe que vous ajoutiez ce module ou pas, le module n&#039;ayant pas d&#039;effet sur les fonctions d&#039;encaissements, on perle d&#039;effet trivial ou mineur au code).&lt;br /&gt;
*Si toutefois, vous êtes dans le périmètre de la loi et que le module touche à la partie encaissement, il faudra que le tiers fournissant l&#039;attestation prenne en considération ce module (si vous aviez déjà obtenu l&#039;attestation, il vous faudra la ré-obtenir car l&#039;ajout du module l&#039;invalide puisque ce module touche au code de la partie encaissement des paiements).&lt;br /&gt;
&lt;br /&gt;
La nature du module doit vous permettre de savoir si c&#039;est un module qui touche à l&#039;enregistrement des encaissements ou pas. Dans le doute, renseignez vous auprès de l&#039;auteur du module (ce n&#039;est pas lui qui fournira l&#039;attestation mais pourra dire si le module doit être pris en compte ou non dans le processus d&#039;attestation).&lt;br /&gt;
&lt;br /&gt;
=Travaux dans Dolibarr pour permettre la conformité via attestation=&lt;br /&gt;
&lt;br /&gt;
Et Dolibarr dans tout cela ?&lt;br /&gt;
Dolibarr v10+ est prêt et attestable sur l&#039;intégralité de ses modules standard.&lt;br /&gt;
Voici le suivi des travaux réalisés depuis la v5: [[Loi article 88 finances 2016 et Certification NF525 - Travaux Dolibarr]]&lt;br /&gt;
&lt;br /&gt;
=Où trouver un modèle d&#039;attestation ?=&lt;br /&gt;
Les services des impôts proposent un modèle d&#039;attestation individuelle que vous pouvez consulter [https://bofip.impots.gouv.fr/bofip/10692-PGP.html/identifiant%3DBOI-LETTRE-000242-20201230 dans le Bulltein Officiel des Impots du 30/12/2020]&lt;br /&gt;
&lt;br /&gt;
=Notes et références=&lt;br /&gt;
&amp;lt;references /&amp;gt;&lt;br /&gt;
&lt;br /&gt;
*Synthèse détaillée du BOFIP par La Revue Fiduciaire, rédigé le 06/10/2016:  [http://revuefiduciaire.grouperf.com/article/3661/hb/20160919173548859.html Article sur la revue fiduciaire]&lt;br /&gt;
*Synthèse courante par l&#039;APRIL (document en évolution permanente): https://pad.april.org/p/logiciel-caisse-publication-BOI&lt;br /&gt;
*Article de l&#039;APRIL: https://www.april.org/loi-de-finances-2016-une-doctrine-fiscale-qui-reconnait-les-logiciels-libres-mais-avec-une-marge-de&lt;br /&gt;
*Echanges sur les mailing-list de l&#039;April: https://listes.april.org/wws/arc/comptabilite/ (réservé aux adhérents April)&lt;br /&gt;
*Note d&#039;information très courte du service public: https://www.service-public.fr/professionnels-entreprises/actualites/A10279&lt;br /&gt;
*http://creativekara.fr/doku.php?id=pasteque:lf2016&lt;br /&gt;
*Réunion entre le chef de projet Dolibarr, autres représentants April et le ministère des finances en 2018 pour participation à la refonte et clarification du texte de loi.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=R%C3%A8gles_de_param%C3%A9trage,_calcul_et_arrondi_de_TVA&amp;diff=55073</id>
		<title>Règles de paramétrage, calcul et arrondi de TVA</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=R%C3%A8gles_de_param%C3%A9trage,_calcul_et_arrondi_de_TVA&amp;diff=55073"/>
		<updated>2022-11-07T18:31:17Z</updated>

		<summary type="html">&lt;p&gt;Christof: Petites corrections orthographiques et grammaticales&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page explique les différentes règles de calcul et d&#039;arrondi de la TVA mises en oeuvre dans Dolibarr ERP CRM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Définition automatique du taux de TVA par défaut=&lt;br /&gt;
&lt;br /&gt;
Dans Dolibarr, le taux de TVA peut toujours être fixé à n&#039;importe quelle valeur de votre choix. Cependant, pour vous faire gagner du temps, Dolibarr essaie de définir automatiquement la valeur de la TVA ou de la taxe sur les ventes à une valeur par défaut qui est détectée automatiquement en fonction des informations que vous avez saisies dans la configuration de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
Par défaut lors de la création de prospects, de factures, de commandes, etc., le taux de TVA proposé par défaut est défini comme suit :&lt;br /&gt;
&lt;br /&gt;
*Si le vendeur n&#039;est pas assujetti à la taxe de vente, la taxe de vente est définie par défaut sur 0. Fin de la règle.&lt;br /&gt;
*Si le (pays du vendeur = pays de l&#039;acheteur), alors la taxe de vente par défaut est égale à la taxe de vente du produit dans le pays du vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur se trouvent tous deux dans la Communauté européenne et que les marchandises sont des produits liés au transport (transport, expédition, compagnie aérienne), la TVA par défaut est de 0. Cette règle dépend du pays du vendeur - veuillez consulter votre comptable. La TVA doit être payée par l&#039;acheteur au bureau de douane de son pays et non au vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur sont tous deux dans la Communauté européenne et que l&#039;acheteur n&#039;est pas une entreprise (avec un numéro de TVA intracommunautaire enregistré), la TVA par défaut est le taux de TVA du pays du vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur sont tous deux dans la Communauté européenne et que l&#039;acheteur est une société (avec un numéro de TVA intracommunautaire enregistré), alors la TVA est de 0 par défaut. Fin de règle.&lt;br /&gt;
*Dans tous les autres cas, la valeur par défaut proposée est Taxe de vente=0. Fin de règle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remarque, Cas particulier pour l&#039;Europe : [[Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TVA standard et règles d&#039;arrondi=&lt;br /&gt;
Commençons par l&#039;exemple que nous allons utiliser. Imaginons une facture qui contient les lignes suivantes (On suppose aussi être dans un pays ou les totaux doivent être arrondis avec 2 chiffres maximum après la virgule, par exemple pour les pays en Euro ou Dollars).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantité||C&amp;lt;br&amp;gt;Prix unitaire||D&amp;lt;br&amp;gt;Taux de TVA||E&amp;lt;br&amp;gt;Total sans taxe&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Montant taxe exacte&amp;lt;br&amp;gt;=(D*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Montant taxe arrondie&amp;lt;br&amp;gt;sur 2 déc&amp;lt;br&amp;gt;=round(F)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Prix exact&amp;lt;br&amp;gt;taxe incluse&amp;lt;br&amp;gt;=(E+F)|| nowrap=&amp;quot;nowrap&amp;quot; |I&amp;lt;br&amp;gt;Prix taxe incluse, arrondi&amp;lt;br&amp;gt;sur 2 décimales&amp;lt;br&amp;gt;=(E+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||1||1.24||10%||1.24||0.124||0.12||1.24+0.124=1.364||1.36&lt;br /&gt;
|-&lt;br /&gt;
||2|| nowrap=&amp;quot;nowrap&amp;quot; |Product beta||1||1.24||10%||1.24||0.124||0.12||1.24+0.124=1.364||1.36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Il y a 2 manières de calculer le total de la facture: faire la somme des lignes arrondies ou l&#039;arrondi de la somme des lignes.&lt;br /&gt;
&lt;br /&gt;
1) Si nous choisissons de faire la somme des lignes après les avoir arrondies (sur 2 décimales), on obtient:&lt;br /&gt;
&lt;br /&gt;
*Total sans taxe: 1.24(E1) + 1.24(E2) = &#039;&#039;&#039;2.48&#039;&#039;&#039;&lt;br /&gt;
*Total taxe 10%: 0.12(G1) + 0.12(G2) = &#039;&#039;&#039;0.24&#039;&#039;&#039; (nous additionnons les valeurs arrondies de chaque ligne, perdant au passage 2 fois 0.4)&lt;br /&gt;
*Total avec taxe (nous additionnons le total sans taxe + le total de taxe): 2.48(Ex) + 0.24(Gx) = &#039;&#039;&#039;2.72&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notez que si nous additionnons les prix incluant la taxe arrondie sur chaque ligne, nous avons: 1.36(I1) + 1.36(I2) = &#039;&#039;&#039;2.72&#039;&#039;&#039; (même résultat, aussi nous savons qu&#039;il n&#039;y a pas d&#039;erreur)&lt;br /&gt;
&lt;br /&gt;
2) Si nous choisissons de faire l&#039;arrondi (sur 2 décimales) du montant total APRES avoir additionné les lignes, nous avons:&lt;br /&gt;
&lt;br /&gt;
*Total sans taxe: 1.24(E1) + 1.24(E2) = &#039;&#039;&#039;2.48&#039;&#039;&#039; (identique à la méthode 1)&lt;br /&gt;
*Total taxe 10%: (1.24(E1) + 1.24(E2)) * 10% = 0.124 + 0.124 = 0.248 arrondis au plus près pour avoir un total sur 2 décimales donne &#039;&#039;&#039;0.25&#039;&#039;&#039; (on additionne le montant sans taxe de chaque ligne, on calcule la tva et on arrondi sur 2 décimales)&lt;br /&gt;
*Total inc tax (on somme le total sans taxe + total avec taxe): 2.48 + 0.25 = &#039;&#039;&#039;2.73&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première chose que nous pouvons noter est que le résultat de la méthode 1 est différent de celui de la méthode 2. La différence n&#039;est que de 0.01 mais si vous avez (n) fois la même variation, cette différence pourraient être plus importante - bien que toujours inférieure ou égale à (n-1)*0.01.&lt;br /&gt;
De plus, que vous essayez par des arrondis vers le bas ou vers le haut au lieu du &amp;quot;au plus proche&amp;quot;, vous serez confronté au même phénomène (par exemple en arrondissant vers le bas, essayez avec une quantité de 2 sur la ligne 2 et vous constaterez les même différences entre la méthode 1 et 2). Cette différence varie pour un jeu de données différent mais le problème reste entier, aussi ce problème ne dépend pas de la REGLE d&#039; arrondi, mais bien du moment QUAND nous appliquons la même règle.&lt;br /&gt;
&lt;br /&gt;
La deuxième chose que nous pouvons noter est que si nous utilisons la méthode 2 (arrondi APRES avoir additionné les lignes), il vaut souvent mieux ne pas afficher la colonne (I) sur la facture, car le total affiché en fin de facture (2.73) ne serait pas le même que celui obtenu en additionnant le montant en colonne (I) de chaque ligne (1.36+1.36=2.72). Afficher la colonne (H) non arrondi, semble préférable mais le total sera toujours différent car notre total (2.73) est arrondi et la somme des lignes par la colonne H (1.364+1.364=2.728) ne l&#039;est pas.&lt;br /&gt;
&lt;br /&gt;
Bref, que l&#039;on utilise la méthode 1 ou la méthode 2, il y aura toujours une incohérence qui pourra être repérée, si ce n&#039;est dans un sens, ce sera dans l&#039;autre. Faute à l&#039;obligation d&#039;arrondir les montants totaux sur 2 chiffres, y compris au niveau des lignes. Cette situation se manifestera quelque soit le logiciel utilisé car ce n&#039;est pas une erreur de calcul mais un effet mathématique.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alors que faire ?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Dans certains pays, le mode de calcul doit toujours être celui utilisant la méthode 1 pour faire ses factures. Comme ceci est le mode par défaut de Dolibarr, il n&#039;y a rien de particulier à faire, à part de comprendre ce qui se passe.&lt;br /&gt;
*Dans d&#039;autres pays (très rare, nous n&#039;avons plus d&#039;exemples de pays dans ce cas), le calcul doit être toujours fait selon la méthode 2 pour faire ses factures. Afin d&#039;éviter d&#039;avoir au bas de la facture, un total qui diffère du total obtenu en additionnant chaque ligne de détail, ce qui peut être fait, est de ne pas afficher la colonne (I). C&#039;est d&#039;ailleurs le cas dans les modèle de factures par défaut de Dolibarr. Aussi, il n&#039;y a rien de particulier à faire pour masquer cette information. Pour activer ce mode de calcul, vous devez (sous Dolibarr version 3.5+)  positionner la constante MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND à 1 (Accueil - Configuration - Autre). Mais ceci n&#039;est pas recommandé car avec l&#039;informatisation de la comptabilité, les administrations exigent avant tout l&#039;exactitude de la somme HT+TVA=TTC sur le niveau de détail par produit plutôt que sur le total global. &lt;br /&gt;
*Dans la plupart des pays, les 2 méthodes sont encore possibles. Dans ce cas, utilisez le mode par défaut qui est la méthode 1 car il est plus efficace quand il s&#039;agira de faire la comptabilité annuelle (en effet, quand vous utilisez la méthode 2, le total de TVA de vos factures ne correspond ni aux sommes de (F), ni aux sommes de (G) et ceci pourra créer davantage de confusions plus tard). Il n&#039;y a donc rien de particulier à faire à part comprendre que ce qui se passe par défaut est tout à fait &amp;quot;normal&amp;quot;. Toutefois, si vous préférez absolument la méthode 2 (non recommandée, hors obligation par la loi de votre pays) définissez la constante &amp;quot;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND&amp;quot; à 1 (Accueil - Configuration - Autre) (Dolibarr 3.5+). Dans ce cas, on aura bien l&#039;impression que la TVA globale en bas de facture est plus juste, mais elle ne sera pas en phase avec la somme des totaux de chaque ligne détaillée, ce qui risque de vous poser des problèmes en comptabilité plus tard. Avec l&#039;informatisation des comptabilités et contrôles, les administrations demandent aujourd&#039;hui le mode 1 (le mode par défaut de Dolibarr donc, offrant une justesse et arrondi de la somme HT+TVA=TTC au niveau de chaque ligne de détail et, un total final qui se fait par la somme des lignes de détails plutôt qu&#039;un taux TVA forfaitaire appliqué au total global HT).&lt;br /&gt;
&lt;br /&gt;
=2eme ou 3eme taxe=&lt;br /&gt;
&lt;br /&gt;
Dans le dictionnaire des taux de taxes (&#039;&#039;&#039;Menu Accueil - Configuration - Dictionnaires - Taux de taxe&#039;&#039;&#039;), il est possible de définir que vous devez appliquer une 2eme, voir une 3eme taxe sur les ventes. Ceci dépend de chaque pays. Les chapitres suivants donnent des exemples en vigueur pour certains pays...&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Attention, vous définissez une 2eme (ou 3eme) taxe pour un taux de TVA donnée pour votre pays, pensez aussi à vérifier dans la configuration de votre société (&#039;&#039;&#039;Menu Accueil - Configuration - Société&#039;&#039;&#039;), après avoir enregistré la configuration que vous avez bien validé le fait que votre société est assujeti à cette 2eme (ou 3eme taxe).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Si la 2eme (ou 3eme) taxe ne doit pas être appliquée systématiquement, il vous faudra, dans le dictionnaire des taux de taxes, doubler la ligne afin d&#039;en définir une avec la 2eme taxe et une autre sans (les lignes pourront se différencier grâce au code). Ainsi, vous pourrez choisir une règle ou l&#039;autre (à partir du code) au moment de saisir vos lignes d&#039;articles dans vos devis/commandes/factures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pour le Brésil==&lt;br /&gt;
&lt;br /&gt;
Voir page [[BrasilTaxes]]&lt;br /&gt;
&lt;br /&gt;
==Pour le Canada==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lexique&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*TPS = Taxe sur les Produit et Services (GST = Goods and Services Tax pour les provinces anglophones)&lt;br /&gt;
*TVQ = Taxe de Vente Québecoise (QST = Quebec Sale Tax = PST = Provincial sales taxes pour les provinces anglophones)&lt;br /&gt;
*TVH = Taxe de Vente Harmonisé (parfois utilisé pour désigné la TPS+TVQ pour les commerçants);&lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120831123419/http://www.revenuquebec.ca/fr/entreprise/taxes/tvq_tps/calcul-taxes.aspx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La TVQ est appliquée automatiquement en temps que première taxe sur chaque ligne (lors de l&#039;ajout ou de la modification). La [[#2eme_ou_3eme_taxes|2eme Taxe]] sera récupérée depuis la table dictionnaire des taux de tva à partir de la ligne qui contient le taux de la première taxe (Table llx_c_tva). Le montant total incluant les 2 taxes sera alors calculé.&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] pour que la 2eme taxe soit bien ajoutée aussi, il faut avoir configuré sa société comme étant éligible à la 2eme taxe dans le menu &#039;&#039;&#039;Accueil - Configuration - Société/Institution&#039;&#039;&#039; après avoir configuré sa ligne de taxe dans le dictionnaire des taux de tva.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Le taux de TVA (TPS) est 5, la taxe 2 (TVQ) doit etre configuré avec un taux de 9.5 et être de type &amp;quot;2&amp;quot; (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la taxe principale TPS). Autre solution pour la taxe 2, mettre un taux de 9.975 et un type &amp;quot;1&amp;quot; (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix net, cela correspond bien à un taux de 9.5 appliqué sur le prix avec taxe TPS)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate TPS||D2&amp;lt;br&amp;gt;Vat rate TVQ||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax TPS&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax TVQ (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc TPS + TVQ=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||5%||9.975%||100||5||9.98||114.98&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour la Côte d&#039;Ivoire==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate AIRSI||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax AIRSI ((E+F)*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax 2=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18%||7.5%||100||18||8.85||126.85&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Le taux de TVA est 18, la taxe 2 (AIRSI) a un taux de 7.5 et est de type 2 (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la tva). Autre solution pour la taxe 2, mettre un taux de 8.85 et un type 1.&lt;br /&gt;
&lt;br /&gt;
==Pour le Congo==&lt;br /&gt;
&lt;br /&gt;
Le Congo applique une 2eme taxe appelée Centime Additionnel (CA). Par exemple de 5% de la TVA de 18% (ce qui reviens à 0.09% du HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA est 18, la taxe 2 (CA) est mise avec un taux de 0.09 et doit être de type 1 (car 0.09% du HT revient au même que 5% de la part à 18% du HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate CA||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax CA (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax CA=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18%||0.09%||100||18||0.9||118.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Espagne==&lt;br /&gt;
La gestion spécifique des taxes de l&#039;espagne sont supportées depuis la version de Dolibarr 3.0.&lt;br /&gt;
&lt;br /&gt;
En espagne, il y a 2 taux de tva à appliquer sur chaque ligne:&lt;br /&gt;
&lt;br /&gt;
*Le taux de TVA RE (a vat rate calculated on total without tax, and added to total to obtain total with tax)&lt;br /&gt;
*Le taux de TVA IRPF (a vate rate calculated on total without tax, and substracted from total to obtain total with tax)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ces 2 taxes sont appliquées automatiquement (si votre instance a été configurée dans la configuration de société pour les utiliser) sur chaque ligne (à l&#039;ajout ou à l&#039;édition). Les valeurs des taux se trouvent dans la table dictionnaire des taux de TVA et taxes ([[Table llx_c_tva]]). Le Total sans la taxe et le total avec la taxe est modifié à l&#039;issu des calculs.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Pour le taux de TVA standard 20%, La [[#2eme_ou_3eme_taxes|Taxe 2]] (RE) est de type 3 (La taxe est appliquée sur le prix net, pour les produits seulement), taux de 1.4%&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;RE||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Exact tax amount&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax RE (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc standard vat + RE=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||10%||1.4%||100||10||1.4||111.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour Haiti==&lt;br /&gt;
&lt;br /&gt;
Haiti applique une 2eme taxe appelée TVA sociale. Par exemple de 1% du Hors Taxe en plus de la TVA standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA standard est 16%, la [[#2eme_ou_3eme_taxes|Taxe 2]] (TVA sociale) est mise avec un taux de 1% et doit être de type 1 (type 1 = taxe sur le montant HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax social (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax social=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||16%||1%||100||16||1||117&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour le Gabon==&lt;br /&gt;
&lt;br /&gt;
Le Gabon applique une 2eme taxe appelée Contribution Spéciale de Solidarité (CSS). Par exemple de 1% du Hors Taxe en plus de la TVA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA standard est 10%, la [[#2eme_ou_3eme_taxes|Taxe 2]] (CSS) est mise avec un taux de 1% et doit être de type 1 (type 1 = taxe sur le montant HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate CSS||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax CSS (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax CSS=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||10%||1%||100||10||1||111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Inde==&lt;br /&gt;
Il y a la SGST, CGST et IGST. La configuration existe par défaut dans la version 6.0&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Italie==&lt;br /&gt;
You may need to add a negative withholding tax calculated on net amount.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Value of rates are found into the dictionary table from the standard vat rate (Table llx_c_tva). Total with tax and total amount of vat is modified according to calculation.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: When vat rate is 22, add a tax 2 (witholding) of type &amp;quot;1&amp;quot; (Type &amp;quot;1&amp;quot; means tax 2 is added for product and services and calculated on net price), rate is -20% (negative means amount will be substracted)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate withholding tax||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax 2 (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax 2=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||22%||-20%||100||22||-20||102&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pour la Tunisie==&lt;br /&gt;
Vous devrez peut-être gérer le timbre fiscal. Pour cela, activez simplement l&#039;option dans Accueil - Configuration - Entreprise / Organisation.&lt;br /&gt;
&lt;br /&gt;
Vous devrez peut-être ajouter aussi une taxe FODEC. Par exemple, une taxe de 1% sur le prix sans TVA. La TVA doit inclure cette taxe. Voir http://www.profiscal.com/Etudiants/TCA/tca_ch11_06.htm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parce que la TVA à Dolibarr est calculée avant d&#039;ajouter la deuxième TAXE et pour FODEC, nous devons ajouter la deuxième taxe avant de calculer la TVA, nous devons utiliser une solution de contournement pour prendre en charge le FODEC actuellement à Dolibarr.&lt;br /&gt;
La solution est de créer un taux de TVA qui inclut bot le taux de TVA + un delta pour inclure la TVA basée sur FODEC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;: Imaginons que le taux de TVA soit 18% et que le FODEC est 1%. Vous devez aller dans le menu Configuration - Dictionaires - Taux de tVA et taxes. Créez une nouvelle ligne de taxe avec le champ Code = &amp;quot;18+FODEC&amp;quot;, Taux=&amp;quot;18.18&amp;quot;, Utiliser la Tax2=Oui avec le type 1, Taux de Tax2=&amp;quot;1&amp;quot;, Note=&amp;quot;VAT 18.0 incluant le 1% FODEC, soit 18.18%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;FODEC||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Exact VAT amount&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax FODEC (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc standard vat + FODEC=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18.18%||1%||100||18.18||1||119.18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette astuce aura pour effet de calculer correctement chaque partie de taxe ainsi que le total. Toutefois, visuellement, sur les PDF générés, vous verrez le texte &amp;quot;18.18%&amp;quot; pour le taux de TVA au lieu de &amp;quot;18% après ajout des 1%&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une amélioration possible serait d&#039;ajouter un champ dans le dictionnaire &amp;quot;Libellé d&#039;affichage&amp;quot;, lorsque ce libellé est définit sur une ligne de taxe, on affiche celui-ci plutôt que le taux effectif utilisé pour le calcul.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=R%C3%A8gles_de_param%C3%A9trage,_calcul_et_arrondi_de_TVA&amp;diff=55072</id>
		<title>Règles de paramétrage, calcul et arrondi de TVA</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=R%C3%A8gles_de_param%C3%A9trage,_calcul_et_arrondi_de_TVA&amp;diff=55072"/>
		<updated>2022-11-07T18:16:36Z</updated>

		<summary type="html">&lt;p&gt;Christof: Petites corrections orthographiques et grammaticales&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Cette page explique les différentes règles de calcul et d&#039;arrondi de la TVA mises en oeuvre dans Dolibarr ERP CRM.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Définition automatique du taux de TVA par défaut=&lt;br /&gt;
&lt;br /&gt;
Dans Dolibarr, le taux de TVA peut toujours être fixé à n&#039;importe quelle valeur de votre choix. Cependant, pour vous faire gagner du temps, Dolibarr essaie de définir automatiquement la valeur de la TVA ou de la taxe sur les ventes à une valeur par défaut qui est détectée automatiquement en fonction des informations que vous avez saisies dans la configuration de Dolibarr.&lt;br /&gt;
&lt;br /&gt;
Par défaut lors de la création de prospects, de factures, de commandes, etc., le taux de TVA proposé par défaut est défini comme suit :&lt;br /&gt;
&lt;br /&gt;
*Si le vendeur n&#039;est pas assujetti à la taxe de vente, la taxe de vente est définie par défaut sur 0. Fin de la règle.&lt;br /&gt;
*Si le (pays du vendeur = pays de l&#039;acheteur), alors la taxe de vente par défaut est égale à la taxe de vente du produit dans le pays du vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur se trouvent tous deux dans la Communauté européenne et que les marchandises sont des produits liés au transport (transport, expédition, compagnie aérienne), la TVA par défaut est de 0. Cette règle dépend du pays du vendeur - veuillez consulter votre comptable. La TVA doit être payée par l&#039;acheteur au bureau de douane de son pays et non au vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur sont tous deux dans la Communauté européenne et que l&#039;acheteur n&#039;est pas une entreprise (avec un numéro de TVA intracommunautaire enregistré), la TVA par défaut est le taux de TVA du pays du vendeur. Fin de règle.&lt;br /&gt;
*Si le vendeur et l&#039;acheteur sont tous deux dans la Communauté européenne et que l&#039;acheteur est une société (avec un numéro de TVA intracommunautaire enregistré), alors la TVA est de 0 par défaut. Fin de règle.&lt;br /&gt;
*Dans tous les autres cas, la valeur par défaut proposée est Taxe de vente=0. Fin de règle.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Remarque, Cas particulier pour l&#039;Europe : [[Loi_européenne_TVA_Vente_à_Distance_VAD_et_e-commerce_BtoC]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=TVA standard et règles d&#039;arrondi=&lt;br /&gt;
Commençons par l&#039;exemple que nous allons utiliser. Imaginons une facture qui contient les lignes suivantes (On suppose aussi être dans un pays ou les totaux doivent être arrondis avec 2 chiffres maximum après la virgule, par exemple pour les pays en Euro ou Dollars).&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantité||C&amp;lt;br&amp;gt;Prix unitaire||D&amp;lt;br&amp;gt;Taux de TVA||E&amp;lt;br&amp;gt;Total sans taxe&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Montant taxe exacte&amp;lt;br&amp;gt;=(D*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Montant taxe arrondie&amp;lt;br&amp;gt;sur 2 déc&amp;lt;br&amp;gt;=round(F)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Prix exact&amp;lt;br&amp;gt;taxe incluse&amp;lt;br&amp;gt;=(E+F)|| nowrap=&amp;quot;nowrap&amp;quot; |I&amp;lt;br&amp;gt;Prix taxe incluse, arrondi&amp;lt;br&amp;gt;sur 2 décimales&amp;lt;br&amp;gt;=(E+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||1||1.24||10%||1.24||0.124||0.12||1.24+0.124=1.364||1.36&lt;br /&gt;
|-&lt;br /&gt;
||2|| nowrap=&amp;quot;nowrap&amp;quot; |Product beta||1||1.24||10%||1.24||0.124||0.12||1.24+0.124=1.364||1.36&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Il y a 2 manières de calculer le total de la facture: faire la somme des lignes arrondies ou l&#039;arrondi de la somme des lignes.&lt;br /&gt;
&lt;br /&gt;
1) Si nous choisissons de faire la somme des lignes après les avoir arrondies (sur 2 décimales), on obtient:&lt;br /&gt;
&lt;br /&gt;
*Total sans taxe: 1.24(E1) + 1.24(E2) = &#039;&#039;&#039;2.48&#039;&#039;&#039;&lt;br /&gt;
*Total taxe 10%: 0.12(G1) + 0.12(G2) = &#039;&#039;&#039;0.24&#039;&#039;&#039; (nous additionnons les valeurs arrondies de chaque ligne, perdant au passage 2 fois 0.4)&lt;br /&gt;
*Total avec taxe (nous additionnons le total sans taxe + le total de taxe): 2.48(Ex) + 0.24(Gx) = &#039;&#039;&#039;2.72&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Notez que si nous additionnons les prix incluant la taxe arrondie sur chaque ligne, nous avons: 1.36(I1) + 1.36(I2) = &#039;&#039;&#039;2.72&#039;&#039;&#039; (même résultat, aussi nous savons qu&#039;il n&#039;y a pas d&#039;erreur)&lt;br /&gt;
&lt;br /&gt;
2) Si nous choisissons de faire l&#039;arrondi (sur 2 décimales) du montant total APRES avoir additionné les lignes, nous avons:&lt;br /&gt;
&lt;br /&gt;
*Total sans taxe: 1.24(E1) + 1.24(E2) = &#039;&#039;&#039;2.48&#039;&#039;&#039; (identique à la méthode 1)&lt;br /&gt;
*Total taxe 10%: (1.24(E1) + 1.24(E2)) * 10% = 0.124 + 0.124 = 0.248 arrondis au plus près pour avoir un total sur 2 décimales donne &#039;&#039;&#039;0.25&#039;&#039;&#039; (on additionne le montant sans taxe de chaque ligne, on calcule la tva et on arrondi sur 2 décimales)&lt;br /&gt;
*Total inc tax (on somme le total sans taxe + total avec taxe): 2.48 + 0.25 = &#039;&#039;&#039;2.73&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La première chose que nous pouvons noter est que le résultat de la méthode 1 est différent de celui de la méthode 2. La différence n&#039;est que de 0.01 mais si vous avez (n) fois la même variation, cette différence pourraient être plus importante - bien que toujours inférieure ou égale à (n-1)*0.01.&lt;br /&gt;
De plus, que vous essayez par des arrondis vers le bas ou vers le haut au lieu du &amp;quot;au plus proche&amp;quot;, vous serez confronté au même phénomène (par exemple en arrondissant vers le bas, essayez avec une quantité de 2 sur la ligne 2 et vous constaterez les même différences entre la méthode 1 et 2). Cette différence varie pour un jeu de données différent mais le problème reste entier, aussi ce problème ne dépend pas de la REGLE d&#039; arrondi, mais bien du moment QUAND nous appliquons la même règle.&lt;br /&gt;
&lt;br /&gt;
La deuxième chose que nous pouvons noter est que si nous utilisons la méthode 2 (arrondi APRES avoir additionné les lignes), il vaut souvent mieux ne pas afficher la colonne (I) sur la facture, car le total affiché en fin de facture (2.73) ne serait pas le même que celui obtenu en additionnant le montant en colonne (I) de chaque ligne (1.36+1.36=2.72). Afficher la colonne (H) non arrondi, semble préférable mais le total sera toujours différent car notre total (2.73) est arrondi et la somme des lignes par la colonne H (1.364+1.364=2.728) ne l&#039;est pas.&lt;br /&gt;
&lt;br /&gt;
Bref, que l&#039;on utilise la méthode 1 ou la méthode 2, il y aura toujours une incohérence qui pourra être repérée, si ce n&#039;est dans un sens, ce sera dans l&#039;autre. Faute à l&#039;obligation d&#039;arrondir les montants totaux sur 2 chiffres, y compris au niveau des lignes. Cette situation se manifestera quelque soit le logiciel utilisé car ce n&#039;est pas une erreur de calcul mais un effet mathématique.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Alors que faire ?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*Dans certains pays, le mode de calcul doit toujours être celui utilisant la méthode 1 pour faire ses factures. Comme ceci est le mode par défaut de Dolibarr, il n&#039;y a rien de particulier à faire, à part de comprendre ce qui se passe.&lt;br /&gt;
*Dans d&#039;autres pays (très rare, nous n&#039;avons plus d&#039;exemples de pays dans ce cas), le calcul doit être toujours fait selon la méthode 2 pour faire ses factures. Afin d&#039;éviter d&#039;avoir un total au bas de la facture qui diffère du total obtenu en additionnant chaque ligne de détail, ce qui peut être fait est de ne pas afficher la colonne (I). C&#039;est d&#039;ailleurs le cas avec les modèle de factures par défaut de Dolibarr, aussi, il n&#039;y a rien de particulier à faire pour masquer cette information. Pour activer ce mode de calcul, vous devez avoir Dolibarr version 3.5+ et positionner la constante MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND à 1 (Accueil - Configuration - Autre). Mais ceci n&#039;est pas recommandé car avec l&#039;informatisation de la comptabilité, les administrations exigent avant tout l&#039;exactitude de la somme ht+tva=ttc sur le niveau de détail pa produit plutôt que sur le total global, aussi, ce mode est appelé à disparaître.&lt;br /&gt;
*Dans la plupart des pays, les 2 méthodes sont encore possibles. Dans ce cas, utilisez le mode par défaut qui est la méthode 1 car il est plus efficace quand il s&#039;agira de faire la comptabilité annuelle (en effet, quand vous utilisez la méthode 2, le total de TVA de vos factures ne correspond ni aux sommes de (F), ni aux sommes de (G) et ceci créera davantage de confusions plus tard). Il n&#039;y a donc rien de particulier à faire à part comprendre que ce qui se passe par défaut est tout à fait &amp;quot;normal&amp;quot;. Toutefois, si vous préférez absolument la méthode 2 (non recommandée hors obligation par la loi de votre pays) alors positionnez la constante &amp;quot;MAIN_ROUNDOFTOTAL_NOT_TOTALOFROUND&amp;quot; à 1 (Accueil - Configuration - Autre) (Dolibarr 3.5+). Dans ce cas, on aura bien l&#039;impression que la TVA globale en bas de facture est plus juste, mais il ne sera pas en phase avec la somme des totaux de chaque ligne détaillée, ce qui risque de vous poser de nombreux problèmes en comptabilité plus tard. Avec l&#039;informatisation des comptabilités et contrôles, les administrations demandent aujourd&#039;hui le mode 1 (le mode par défaut de Dolibarr donc, offrant une justesse et arrondi de la somme HT+TVA=TTC au niveau de chaque ligne de détail et, un total final qui se fait par la somme des lignes de détails plutôt qu&#039;un taux TVA forfaitaire appliqué au total global HT).&lt;br /&gt;
&lt;br /&gt;
=2eme ou 3eme taxe=&lt;br /&gt;
&lt;br /&gt;
Dans le dictionnaire des taux de taxes (&#039;&#039;&#039;Menu Accueil - Configuration - Dictionnaires - Taux de taxe&#039;&#039;&#039;), il est possible de définir que vous devez appliquer une 2eme, voir une 3eme taxe sur les ventes. Ceci dépend de chaque pays. Les chapitres suivants donnent des exemples en vigueur pour certains pays...&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Attention, vous définissez une 2eme (ou 3eme) taxe pour un taux de TVA donnée pour votre pays, pensez aussi à vérifier dans la configuration de votre société (&#039;&#039;&#039;Menu Accueil - Configuration - Société&#039;&#039;&#039;), après avoir enregistré la configuration que vous avez bien validé le fait que votre société est assujeti à cette 2eme (ou 3eme taxe).&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] Si la 2eme (ou 3eme) taxe ne doit pas être appliquée systématiquement, il vous faudra, dans le dictionnaire des taux de taxes, doubler la ligne afin d&#039;en définir une avec la 2eme taxe et une autre sans (les lignes pourront se différencier grâce au code). Ainsi, vous pourrez choisir une règle ou l&#039;autre (à partir du code) au moment de saisir vos lignes d&#039;articles dans vos devis/commandes/factures.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pour le Brésil==&lt;br /&gt;
&lt;br /&gt;
Voir page [[BrasilTaxes]]&lt;br /&gt;
&lt;br /&gt;
==Pour le Canada==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lexique&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
*TPS = Taxe sur les Produit et Services (GST = Goods and Services Tax pour les provinces anglophones)&lt;br /&gt;
*TVQ = Taxe de Vente Québecoise (QST = Quebec Sale Tax = PST = Provincial sales taxes pour les provinces anglophones)&lt;br /&gt;
*TVH = Taxe de Vente Harmonisé (parfois utilisé pour désigné la TPS+TVQ pour les commerçants);&lt;br /&gt;
&lt;br /&gt;
http://web.archive.org/web/20120831123419/http://www.revenuquebec.ca/fr/entreprise/taxes/tvq_tps/calcul-taxes.aspx&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
La TVQ est appliquée automatiquement en temps que première taxe sur chaque ligne (lors de l&#039;ajout ou de la modification). La [[#2eme_ou_3eme_taxes|2eme Taxe]] sera récupérée depuis la table dictionnaire des taux de tva à partir de la ligne qui contient le taux de la première taxe (Table llx_c_tva). Le montant total incluant les 2 taxes sera alors calculé.&lt;br /&gt;
&lt;br /&gt;
[[File:Warning.png]] pour que la 2eme taxe soit bien ajoutée aussi, il faut avoir configuré sa société comme étant éligible à la 2eme taxe dans le menu &#039;&#039;&#039;Accueil - Configuration - Société/Institution&#039;&#039;&#039; après avoir configuré sa ligne de taxe dans le dictionnaire des taux de tva.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Le taux de TVA (TPS) est 5, la taxe 2 (TVQ) doit etre configuré avec un taux de 9.5 et être de type &amp;quot;2&amp;quot; (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la taxe principale TPS). Autre solution pour la taxe 2, mettre un taux de 9.975 et un type &amp;quot;1&amp;quot; (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix net, cela correspond bien à un taux de 9.5 appliqué sur le prix avec taxe TPS)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate TPS||D2&amp;lt;br&amp;gt;Vat rate TVQ||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax TPS&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax TVQ (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc TPS + TVQ=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||5%||9.975%||100||5||9.98||114.98&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour la Côte d&#039;Ivoire==&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate AIRSI||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax AIRSI ((E+F)*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax 2=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18%||7.5%||100||18||8.85||126.85&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Le taux de TVA est 18, la taxe 2 (AIRSI) a un taux de 7.5 et est de type 2 (ce qui signifie que la taxe 2 est ajouté pour les produits et services et calculés sur le prix incluant la tva). Autre solution pour la taxe 2, mettre un taux de 8.85 et un type 1.&lt;br /&gt;
&lt;br /&gt;
==Pour le Congo==&lt;br /&gt;
&lt;br /&gt;
Le Congo applique une 2eme taxe appelée Centime Additionnel (CA). Par exemple de 5% de la TVA de 18% (ce qui reviens à 0.09% du HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA est 18, la taxe 2 (CA) est mise avec un taux de 0.09 et doit être de type 1 (car 0.09% du HT revient au même que 5% de la part à 18% du HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate CA||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax CA (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax CA=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18%||0.09%||100||18||0.9||118.9&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Espagne==&lt;br /&gt;
La gestion spécifique des taxes de l&#039;espagne sont supportées depuis la version de Dolibarr 3.0.&lt;br /&gt;
&lt;br /&gt;
En espagne, il y a 2 taux de tva à appliquer sur chaque ligne:&lt;br /&gt;
&lt;br /&gt;
*Le taux de TVA RE (a vat rate calculated on total without tax, and added to total to obtain total with tax)&lt;br /&gt;
*Le taux de TVA IRPF (a vate rate calculated on total without tax, and substracted from total to obtain total with tax)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Ces 2 taxes sont appliquées automatiquement (si votre instance a été configurée dans la configuration de société pour les utiliser) sur chaque ligne (à l&#039;ajout ou à l&#039;édition). Les valeurs des taux se trouvent dans la table dictionnaire des taux de TVA et taxes ([[Table llx_c_tva]]). Le Total sans la taxe et le total avec la taxe est modifié à l&#039;issu des calculs.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: Pour le taux de TVA standard 20%, La [[#2eme_ou_3eme_taxes|Taxe 2]] (RE) est de type 3 (La taxe est appliquée sur le prix net, pour les produits seulement), taux de 1.4%&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;RE||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Exact tax amount&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax RE (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc standard vat + RE=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||10%||1.4%||100||10||1.4||111.4&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour Haiti==&lt;br /&gt;
&lt;br /&gt;
Haiti applique une 2eme taxe appelée TVA sociale. Par exemple de 1% du Hors Taxe en plus de la TVA standard.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA standard est 16%, la [[#2eme_ou_3eme_taxes|Taxe 2]] (TVA sociale) est mise avec un taux de 1% et doit être de type 1 (type 1 = taxe sur le montant HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax social (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax social=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||16%||1%||100||16||1||117&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour le Gabon==&lt;br /&gt;
&lt;br /&gt;
Le Gabon applique une 2eme taxe appelée Contribution Spéciale de Solidarité (CSS). Par exemple de 1% du Hors Taxe en plus de la TVA.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
Exemple de configuration: Le taux de TVA standard est 10%, la [[#2eme_ou_3eme_taxes|Taxe 2]] (CSS) est mise avec un taux de 1% et doit être de type 1 (type 1 = taxe sur le montant HT).&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate CSS||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax CSS (B*C*D2)=(E*D2)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax CSS=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||10%||1%||100||10||1||111&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Inde==&lt;br /&gt;
Il y a la SGST, CGST et IGST. La configuration existe par défaut dans la version 6.0&lt;br /&gt;
&lt;br /&gt;
==Pour l&#039;Italie==&lt;br /&gt;
You may need to add a negative withholding tax calculated on net amount.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Value of rates are found into the dictionary table from the standard vat rate (Table llx_c_tva). Total with tax and total amount of vat is modified according to calculation.&lt;br /&gt;
&lt;br /&gt;
Exemple de configuration: When vat rate is 22, add a tax 2 (witholding) of type &amp;quot;1&amp;quot; (Type &amp;quot;1&amp;quot; means tax 2 is added for product and services and calculated on net price), rate is -20% (negative means amount will be substracted)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;Vat rate withholding tax||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Tax VAT&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax 2 (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc VAT + Tax 2=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||22%||-20%||100||22||-20||102&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Pour la Tunisie==&lt;br /&gt;
Vous devrez peut-être gérer le timbre fiscal. Pour cela, activez simplement l&#039;option dans Accueil - Configuration - Entreprise / Organisation.&lt;br /&gt;
&lt;br /&gt;
Vous devrez peut-être ajouter aussi une taxe FODEC. Par exemple, une taxe de 1% sur le prix sans TVA. La TVA doit inclure cette taxe. Voir http://www.profiscal.com/Etudiants/TCA/tca_ch11_06.htm&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Configuration&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Parce que la TVA à Dolibarr est calculée avant d&#039;ajouter la deuxième TAXE et pour FODEC, nous devons ajouter la deuxième taxe avant de calculer la TVA, nous devons utiliser une solution de contournement pour prendre en charge le FODEC actuellement à Dolibarr.&lt;br /&gt;
La solution est de créer un taux de TVA qui inclut bot le taux de TVA + un delta pour inclure la TVA basée sur FODEC.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Exemple&#039;&#039;&#039;: Imaginons que le taux de TVA soit 18% et que le FODEC est 1%. Vous devez aller dans le menu Configuration - Dictionaires - Taux de tVA et taxes. Créez une nouvelle ligne de taxe avec le champ Code = &amp;quot;18+FODEC&amp;quot;, Taux=&amp;quot;18.18&amp;quot;, Utiliser la Tax2=Oui avec le type 1, Taux de Tax2=&amp;quot;1&amp;quot;, Note=&amp;quot;VAT 18.0 incluant le 1% FODEC, soit 18.18%&amp;quot;&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable centre&amp;quot; width=&amp;quot;80%&amp;quot;&lt;br /&gt;
|- valign=&amp;quot;top&amp;quot;&lt;br /&gt;
||&amp;amp;nbsp;||A&amp;lt;br&amp;gt;Description||B&amp;lt;br&amp;gt;Quantity||C&amp;lt;br&amp;gt;Unit price||D1&amp;lt;br&amp;gt;Vat rate||D2&amp;lt;br&amp;gt;FODEC||E&amp;lt;br&amp;gt;Total without tax&amp;lt;br&amp;gt;=(B*C)||F&amp;lt;br&amp;gt;Exact VAT amount&amp;lt;br&amp;gt;=(B*C*D1)=(D1*E)|| nowrap=&amp;quot;nowrap&amp;quot; |G&amp;lt;br&amp;gt;Tax FODEC (B*C*D2)=(D2*E)|| nowrap=&amp;quot;nowrap&amp;quot; |H&amp;lt;br&amp;gt;Price inc standard vat + FODEC=(E+F+G)&lt;br /&gt;
|-&lt;br /&gt;
||1|| nowrap=&amp;quot;nowrap&amp;quot; |Product alpha||10||10||18.18%||1%||100||18.18||1||119.18&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Cette astuce aura pour effet de calculer correctement chaque partie de taxe ainsi que le total. Toutefois, visuellement, sur les PDF générés, vous verrez le texte &amp;quot;18.18%&amp;quot; pour le taux de TVA au lieu de &amp;quot;18% après ajout des 1%&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Une amélioration possible serait d&#039;ajouter un champ dans le dictionnaire &amp;quot;Libellé d&#039;affichage&amp;quot;, lorsque ce libellé est définit sur une ligne de taxe, on affiche celui-ci plutôt que le taux effectif utilisé pour le calcul.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=54939</id>
		<title>Dolibarr suppliers France</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Dolibarr_suppliers_France&amp;diff=54939"/>
		<updated>2022-10-22T21:58:48Z</updated>

		<summary type="html">&lt;p&gt;Christof: Added service enterprise&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Dolibarr_suppliers}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=1fonet Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Integrations and open source development&lt;br /&gt;
Specialist software open source.Dolibarr, Joomla! Prestashop, Cahiers des charges ERP/CRM, Ecommerce, site web, gratuits. Complementary development of the module, component or application needs. Based in the PACA region work throughout France.|&lt;br /&gt;
web=http://www.1fonet.fr|&lt;br /&gt;
email=mailto:contact@1fonet.fr|&lt;br /&gt;
zip=13530|&lt;br /&gt;
town=Trets|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=2A2C Conseil|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=CRM et Solutions e-commerce opensource pour TPM et PME, VoIP et Hosting en marque blanche, maintenance informatique, WordPress, Dolibarr, Prestashop, Formation utilisateur|&lt;br /&gt;
web=|&lt;br /&gt;
email=mailto:info@2a2c-conseil.fr|&lt;br /&gt;
zip=75012|&lt;br /&gt;
town=PARIS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A3SYS : MON-DOLIBARR|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=52456658500021 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance et développement.&lt;br /&gt;
Notre société forte de plus de 25 ans d&#039;expérience dans l&#039;intégration de divers ERP propose ses services aux entreprises souhaitant mettre en place l&#039;ERP Dolibarr. Une plateforme dédiée est mise en place pour proposer des services de qualité à moindre coût.|&lt;br /&gt;
web=http://www.mon-dolibarr.fr|&lt;br /&gt;
email=http://www.mon-dolibarr.fr/contact/|&lt;br /&gt;
zip=59310|&lt;br /&gt;
town=Orchies (Nord - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo_mon-dolibarr.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=A6TM - SOLUTIONS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=A6TM SOLUTIONS, est une entreprise maîtrisant les technologies de l&#039;informatique, et spécialisée dans les solutions informatiques et notamment les services tels que l&#039;infogérance, installations et déploiements, dépannages, maintenance et réseaux informatique. Installation et maintenance CMS(Joomla, Wordpress...), Progiciel ERP/CRM (Dolibarr...)|&lt;br /&gt;
web=http://www.a6tm-solutions.fr|&lt;br /&gt;
email=mailto:contact@a6tm-solutions.fr|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et son département|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ACN - Atelier de Création Numérique|&lt;br /&gt;
profid=808 725 212 00019|&lt;br /&gt;
desc=ACN (Atelier de Création Numérique), Maîtres d’œuvres en Informatique, Nous sommes spécialisés dans le conseil, la création et l’intégration de solutions professionnelles pour les bureaux d&#039;études. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à la mise en place des meilleurs produits de grands éditeurs du marché.|&lt;br /&gt;
web=http://ateliercreationnumerique.com/|&lt;br /&gt;
email=mailto:contact@atlcreanum.com|&lt;br /&gt;
zip=44|&lt;br /&gt;
town=Nantes et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=acn.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Apio systems|&lt;br /&gt;
profid=529 919 540 00029|&lt;br /&gt;
desc=Apio systems vous accompagne dans tous vos projets Open Source. Apio systems prend en charge l&#039;hébergement, l&#039;installation et l&#039;infogérance de vos applications Open Source desservant votre entreprise, tel qu&#039;un environnement web/e-commerce avec WP/PS ou autre au besoin, la partie ERP avec Dolibarr, la partie messagerie collaborative avec Kopano, la partie partage de gros fichier avec NextCloud, etc.|&lt;br /&gt;
web=https://apio.systems/|&lt;br /&gt;
email=mailto:ping@apio.systems|&lt;br /&gt;
zip=13105|&lt;br /&gt;
town=Mimet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo-apio-systems.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Aplose|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=534906698|&lt;br /&gt;
desc=&lt;br /&gt;
Aplose c&#039;est l&#039;Agence pour la Promotion du Libre et de l&#039;Open Source en Entreprise, société de service et organisme de formation spécialisé dans les logiciels libres de création de site internet et boutique en ligne (wordpress, prestashop), les erp, logiciels de gestion et logiciels de caisse et point de vente (Odoo, Dolibarr), les langages de programmation (java, html5, Javascript, php), les bases de données (mysql, postgresql), les systèmes d&#039;exploitation (linux), les méthodes des gestion de projet agiles (Scrum). Bordeaux - Montpellier|&lt;br /&gt;
web=http://www.aplose.fr|&lt;br /&gt;
email=[mailto:contact@aplose.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@aplose.fr]|&lt;br /&gt;
zip=34990|&lt;br /&gt;
town=Juvignac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Aplose.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Artaban Communication|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=400 396 388 00037|&lt;br /&gt;
desc=Artaban Communication est une SSLL. Spécialistes du CMS SPIP, nous concevons et réalisons des sites web à forte composante éditoriale. Nous prenons également en charge le webmastering et la création de contenu. Notre expertise s&#039;étend à un certain nombre de logiciels, choisis pour leur qualité et leur intérêt, et avec lesquels nous aimons travailler et notamment Dolibarr. Artaban Communication est membre de l&#039;April.|&lt;br /&gt;
web=http://www.artaban.fr|&lt;br /&gt;
email=mailto:contact@artaban.fr|&lt;br /&gt;
zip=94340|&lt;br /&gt;
town=Joinville-le-Pont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Artaban_logo.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ATM Consulting|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=753 447 481 00015|&lt;br /&gt;
desc=Consulting company dedicated to small and medium enterprises information system optimization, we provide to our customers open-source based solutions to improve their information system efficiency. We offer hosting and support solutions and we are Dolibarr contributor, developer and integrator. &amp;quot;Open-source. Custom. Freedom&amp;quot;|&lt;br /&gt;
web=http://www.atm-consulting.fr|&lt;br /&gt;
email=mailto:contact@atm-consulting.fr|&lt;br /&gt;
zip=26000|&lt;br /&gt;
town=Valence|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AB2L|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Un Alsacien à votre service. Installation et configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur notre serveur. Nous vous accompagnons pour un démarrage rapide et serein. Nous sommes une société de service en logiciel libre fournissant un équivalent open source au logiciel propriétaire de tout type. |&lt;br /&gt;
web=http://www.ab2l.eu|&lt;br /&gt;
email=mailto:contact@ab2l.eu|&lt;br /&gt;
zip=67000|&lt;br /&gt;
town=Strasbourg|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Axopen IT Services|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=L&#039;entreprise Axopen propose toute une gamme de produits et services informatiques allant du conseil en système d&#039;informations, développement de solutions sur mesure et intégration de solutions Open Source ou propriétaires. Nous sommes spécialisé en particulier dans l&#039;intégration de solutions de gestion de la relation client Open Source telles que Dolibarr, SugarCRM ou VTiger... |&lt;br /&gt;
web=http://www.axopen.com|&lt;br /&gt;
email=mailto:contact@axopen.com|&lt;br /&gt;
zip=69001|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=AKILIS|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=AKILIS est une société éditrice de logiciels de gestion qui a fait le pari d’utiliser les nouvelles méthodes de travail pour développer des solutions clairs et efficaces. Notre mission est de vous proposer des solutions simples d&#039;utilisation, ne demandant aucun entretien de votre part, ni aucune connaissance technique particulière. Notre outil est celui que VOUS utilisez quotidiennement : le Web.&lt;br /&gt;
AKILIS, c’est une équipe toujours disponible pour vous guider et vous écouter. Nous développons et améliorons sans cesse nos logiciels afin que ceux-ci répondent au mieux à votre activité et vos besoins.&lt;br /&gt;
AKILIS peut également, dans le cadre de besoin partculier, étudier avec vous un développement sur mesure. |&lt;br /&gt;
web=http://www.akilis.fr|&lt;br /&gt;
email=mailto:contact@akilis.fr|&lt;br /&gt;
zip=69200|&lt;br /&gt;
town=Vénissieux|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Altairis|&lt;br /&gt;
profid=488020108|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Développements spécifiques, Installation, Formation, Accompagnement à la mise en oeuvre, Support, Intégration. Spéclialiste solution de gestion des locations de produits avec Dolibarr.|&lt;br /&gt;
web=http://www.altairis.fr|&lt;br /&gt;
email=contact@altairis.fr|&lt;br /&gt;
zip=18270|&lt;br /&gt;
town=Culan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Atoo.Net|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr soit sur nos serveurs, soit en local dans votre entreprise. Aide à la prise en main et formation.|&lt;br /&gt;
web=http://www.atoo-net.com/|&lt;br /&gt;
email=contact@atoo-net.com|&lt;br /&gt;
zip=45160|&lt;br /&gt;
town=Olivet|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Bee-Smart.online|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=15 ans d&#039;expérience aux services des PME &amp;amp; grands groupes, Bee-Smart vous propose un accompagnement sur mesure , adapté à vos besoins métiers et votre budget.N&#039;hésitez pas, Bee-Smart.online, le partenaire de vos projets réussis.|&lt;br /&gt;
web=https://bee-smart.online|&lt;br /&gt;
email=contact@bee-smart.online|&lt;br /&gt;
zip=25|&lt;br /&gt;
town=Montbéliard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Blue-Click Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Nous proposons l&#039;installation et la configuration de l&#039;ERP/CRM Dolibarr dans votre entreprise ou sur votre hébergement Internet. De plus nous assurons la formation pour la prise en main de cet outil adapté aux TPE et PME.|&lt;br /&gt;
web=http://www.blue-click.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=92,78|&lt;br /&gt;
town=Nanterre,Plaisir|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=CAP-REL|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Après avoir contribué au code de dolibarr dans les années 2004-2005 et l&#039;avoir utilisé en interne pour de nombreux projets depuis cette époque je propose maintenant un service autour de Dolibarr (adaptation, accompagnement, utilisation etc.).|&lt;br /&gt;
web=https://www.cap-rel.fr|&lt;br /&gt;
email=eric.doli@cap-rel.fr|&lt;br /&gt;
zip=30|&lt;br /&gt;
town=Département du Gard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_cap-rel.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Caribbean Consult CCC|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de l&#039;ERP/CRM Dolibarr en ligne, ou en local pour votre entreprise ou association. Migration de données vers Dolibarr. Prise en main, support et formation.|&lt;br /&gt;
web=https://dolibarr.ccc.gp|&lt;br /&gt;
email=support@caribbeanconsult.com|&lt;br /&gt;
zip=97180|&lt;br /&gt;
town=Sainte Anne (Guadeloupe et Martinique) Antilles Guyane|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_CCC.png‎|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Cergy Internet|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Cergy Internet est spécialisé dans l’informatique et plus spécifiquement dans l’internet pour les PMI/PME. Nous maitrisons les technologies digitales du simple site web jusqu’au portail complète de pilotage d’entreprise. Grâce à Dolibarr nous pouvons vous donner une vision unique sur vos clients, vos produits et même votre trésorerie. Nous lions Dolibarr avec Wordpress et sur Smartphones pour créer des portails pour vos clients. Notre directeur, Thomas Carter, a fait son MBA à MIT aux USA et a géré des entreprises de plus de 100 personnes. Il met cette expérience à votre disposition. Chez Cergy Internet nous maitrisons la technologie de boute en boute. Nous avons notre propre équipe de jeunes codeurs qui baignent dans tous qui est réseaux sociaux, applications iPhone etc. ainsi qu’une plateforme de 30 serveurs pour héberger vos sites. |&lt;br /&gt;
web=www.cergy-internet.fr|&lt;br /&gt;
email=mailto:thomas.carter@cergy-internet.fr|&lt;br /&gt;
zip=95300|&lt;br /&gt;
town=Cergy-Pontoise|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Code 42|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=793 600 735 00021|&lt;br /&gt;
desc=Nous vous accompagnons dans l’installation  et le développement de votre outil informatique. Code 42, c’est avant tout une démarche qualité et de conseil pour une relation durable. Vous avez la vision de votre entreprise, nous avons les moyens.|&lt;br /&gt;
web=www.code42.fr|&lt;br /&gt;
email=mailto:lareponse@code42.fr|&lt;br /&gt;
zip=44100|&lt;br /&gt;
town=NANTES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=D-BOG|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=IT services company located in Beaune (21), moved around Dolibarr:&lt;br /&gt;
Installation, setup, configuration on the internal server or hosted;&lt;br /&gt;
Training agreement;&lt;br /&gt;
Outsourcing, on-site maintenance and remote.|&lt;br /&gt;
web=http://www.d-bog.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Beaune|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DiVA-Cloud|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=DiVA-Cloud propose des applications OpenSource de gestion de la communication et de l&#039;information pour les entreprises. Notre logithèque contient des applications de WebConference, ERP, CRM, CMS, GED, et bien d&#039;autres... Toutes ces applications pré-configurés sont mises à disposition sur un environnement privé. |&lt;br /&gt;
web=www.diva-cloud.com |&lt;br /&gt;
email=mailto:contact@diva-cloud.com |&lt;br /&gt;
zip=81100|&lt;br /&gt;
town=Castres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=DoliCloud|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=DoliCloud is one of the most important contributor on Dolibarr and can host for you a Dolibarr instance in a SaaS (Software As A Service) mode.|&lt;br /&gt;
profid=493 861 496 00021|&lt;br /&gt;
web=https://www.dolicloud.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=33600|&lt;br /&gt;
town=Pessac (Bordeaux)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes (https://www.dolicloud.com)|&lt;br /&gt;
service_onlinesupport=only for DoliCloud.com customers|&lt;br /&gt;
service_emailsupport=only for DoliCloud.com customers|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo_dolicloud.png}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Elonet|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:52511620800022|&lt;br /&gt;
desc=Elonet est intégrateur et développeur de solutions pour Dolibarr.|&lt;br /&gt;
web=https://elonet.fr/dolibarr.php|&lt;br /&gt;
email=mailto:contact@elonet.fr|&lt;br /&gt;
zip=59000|&lt;br /&gt;
town=LILLE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=ElonetNew.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=FUTUR TECH|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Prestataire de services pour artisans, TPE, PME :&lt;br /&gt;
Solutions open source, Internet, Sécurité, Sauvegarde, Antivirus, Gestion d&#039;entreprise, Conseil, Formation, Installation et Paramétrage&lt;br /&gt;
Intervention sur site client. Situé entre Bordeaux et Libourne|&lt;br /&gt;
web=http://www.futur-tech.com|&lt;br /&gt;
email=mailto:info@futur-tech.com|&lt;br /&gt;
zip=33450|&lt;br /&gt;
town=IZON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Groupe KM|&lt;br /&gt;
profid=790 885 388 00013|&lt;br /&gt;
desc=Intégrateur,développeur et hébergeur de solutions Open Source: Progiciel ERP/CRM (Dolibarr),CMS(Joomla)et e-commerce(Prestashop).&amp;lt;br&amp;gt;Nous déployons aussi des solutions Téléphonie (VOIP, PABX...) et Accés Internet (ADSL/VDSL, SDSL...).&amp;lt;br&amp;gt;&lt;br /&gt;
Secteur Cannes, Antibes, Sophia-Antipolis, Carros, Nice et plus généralement toutes les Alpes-Maritimes.&amp;lt;br&amp;gt;&lt;br /&gt;
Notre objectif : Vous satisfaire!|&lt;br /&gt;
web=https://www.groupe-km.com|&lt;br /&gt;
email=mailto:contact@groupe-km.com|&lt;br /&gt;
zip=06220|&lt;br /&gt;
town=Vallauris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=GWARED|&lt;br /&gt;
profid=804 659 027 00036|&lt;br /&gt;
desc=La société GWARED, est une équipe diplômée dans le domaine de l’informatique, de plus de 10 ans d’expériences dans diverses structures telles que de grandes administrations, sociétés privées mais aussi au service des particuliers. Nous sommes à l’écoute pour vous accompagner dans vos projets.&lt;br /&gt;
&lt;br /&gt;
Professionnel ou particulier, nous vous proposons de nombreux services informatiques et domotiques adaptés à votre configuration et vos besoins. Nos prestations concernent la réparation et la maintenance de votre ordinateur ou de votre parc informatique, l&#039;installation réseau (Local informatique, Internet, intranet, Wifi, CPL, etc.), l&#039;installation d’alarmes et vidéo-surveillance, sur site, à distance ou à domicile.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notre société se distingue en trois branches :&lt;br /&gt;
&lt;br /&gt;
- L’informatique (GWARED)&lt;br /&gt;
- La sécurité (alarme, vidéosurveillance et protection numérique) (GWARDSECURITY)&lt;br /&gt;
- Les jeux vidéo (concepteur de console de jeux) (GWARDBOX)&lt;br /&gt;
&lt;br /&gt;
Nous pourrons répondre à tous vos besoins dans le domaine de l’informatique.|&lt;br /&gt;
web=http://www.gwared.fr|&lt;br /&gt;
email=[mailto:support@gwared.fr?subject=Contact%20de%20Dolibarr%20Suppliers%20France support@gwared.fr]|&lt;br /&gt;
zip=77500|&lt;br /&gt;
town=Chelles et Île de France|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Gwared.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=HELIUM TECHNOLOGIES|&lt;br /&gt;
profid=494 895 360 00027|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Mise en place de solutions ERP Dolibarr sur nos serveurs ou dans votre entreprise avec assistance téléphonique, support technique, développement de modules spécifiques et formation.&lt;br /&gt;
&amp;lt;br&amp;gt;&#039;&#039;&#039;SSII basée en Guadeloupe, Martinique et Guyane&#039;&#039;&#039;, nous proposons également des solutions libres comme GLPI, Prestashop, Joomla, Odoo, Zimbra, BlueMind, Centreon, ...|&lt;br /&gt;
web=http://|&lt;br /&gt;
email=[mailto:contact@helium-technologies.com?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@helium-technologies.com]|&lt;br /&gt;
zip=97122|&lt;br /&gt;
town=BAIE-MAHAULT (GUADELOUPE)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_HeliumTechnologies.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Infonel.net|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=administrateur système open source indépendant:&lt;br /&gt;
Installation, paramétrage, configuration et sécurisation de dolibarr sur site client|&lt;br /&gt;
web=http://www.infonel.net|&lt;br /&gt;
email=|&lt;br /&gt;
zip=11100|&lt;br /&gt;
town=Narbonne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iNodbox|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développeur indépendant d&#039;application web, paramétrage et installation de Dolibarr, développement de modules spécifique. Basé dans l&#039;Ain à Bourg en Bresse (30min de Mâcon, 1h de Chalon sur Saône, 1h de Lyon), je contribue depuis de nombreuses années au développement de Dolibarr.|&lt;br /&gt;
web=https://www.inodbox.com/|&lt;br /&gt;
email=regis.houssin@inodbox.com|&lt;br /&gt;
zip=01000|&lt;br /&gt;
town=Bourg en Bresse|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=(https://www.inodbox.com)|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Inovea Conseil|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=797 613 072 00017|&lt;br /&gt;
desc=Développeur, Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.inovea-conseil.com/ |&lt;br /&gt;
email=https://www.inovea-conseil.com/contact/ |&lt;br /&gt;
zip=88,54,75|&lt;br /&gt;
town=Nancy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Inoveaconseil.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=i.d &amp;amp; l|&lt;br /&gt;
profid=521 749 994 00013|&lt;br /&gt;
desc=Conseil et intégration de solutions logicielles libres, dont Dolibarr, pour artisans, TPE, indépendants, commerçants, PME, associations...|&lt;br /&gt;
web=https://idl-mp.com|&lt;br /&gt;
email=https://idl-mp.com/contact/|&lt;br /&gt;
zip=31,32,09,82,81|&lt;br /&gt;
town=Région toulousaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=iouston informatique|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=792 353 005 00046|&lt;br /&gt;
desc=iouston informatique, situé à proximité de Nancy, Metz, Lunéville, est spécialisée auprès des associations, des TPE et des artisans commerçants. Nous installons et configurons dolibarr pour vous et nous formons vos équipes à son utilisation quotidienne. Nous proposons de nombreux autres services, associés ou non à dolibarr. Nous travaillons avec dolibarr depuis plus de 6 ans et éditons des modules supplémentaires pour dolibarr, [https://www.dolistore.com/fr/recherche?controller=search&amp;amp;orderby=position&amp;amp;orderway=desc&amp;amp;search_query=iouston&amp;amp;submit_search= disponibles sur dolistore]|&lt;br /&gt;
web=https://www.iouston.com|&lt;br /&gt;
email=allo@iouston.com|&lt;br /&gt;
zip=54370|&lt;br /&gt;
town=Einville au Jard|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ISYNUX|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Société de services en réseaux et sytèmes. ISYNUX vous propose un suivi complet pour DOLIBARR : installation, hébergement, personnalisation de vos modèles de document, formation à la carte. |&lt;br /&gt;
web=http://www.isynux.fr|&lt;br /&gt;
email=mailto:formation@isynux.fr|&lt;br /&gt;
zip=626100|&lt;br /&gt;
town=Ardres|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Jeffinfo (ZenDSI)|&lt;br /&gt;
profid=429 625 973|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=Jeffinfo est une société de services en informatique qui vous sert depuis plus de 15 ans dont 10 ans dans le domaine de Dolibarr. Implanté dans le nord à Ennetières en Weppes. Nous sommes à vos services pour vous proposer tous les services autour de votre ERP préféré.&lt;br /&gt;
web=https://shop.zendsi.com|&lt;br /&gt;
email=mailto:contact@zendsi.com|&lt;br /&gt;
zip=59320|&lt;br /&gt;
town=Ennetières en Weppes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=KJR online|&lt;br /&gt;
profid=818 889 644 00014|&lt;br /&gt;
desc=Conseils et Services Informatiques. Installation, formation et personnalisation de Dolibarr. Région Toulousaine.|&lt;br /&gt;
web=http://www.kjr-online.fr|&lt;br /&gt;
email=mailto:eric.picabia@kjr-online.fr|&lt;br /&gt;
zip=31210|&lt;br /&gt;
town=Clarac|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Kreiz IT|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=	752 505 131 00017|&lt;br /&gt;
desc={{Flag_fr}}Conseils en organisation et sécurité informatique pour les TPE / PME. Dolibarr fait partie des outils informatiques structurants pour les TPE/PME proposé par Kreiz IT.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}IT management and security consultant for small to medium business. Dolibarr is part of IT&#039;s structuring tools for business used by Kreiz IT. |&lt;br /&gt;
web=http://www.kreiz-it.fr |&lt;br /&gt;
email=mailto:contact@kreiz-it.fr |&lt;br /&gt;
zip=56600|&lt;br /&gt;
town=Lanester|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LogoKIT.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LIBRE EXPERT|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=48879200300045|&lt;br /&gt;
desc={{Flag_fr}}Intégrateur et développeur Dolibarr, auteur de plusieurs modules complémentaires, spécialiste également de l&#039;administration Linux.&lt;br /&gt;
&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Integrator and Dolibarr developer, author of several complementary modules, also specialist in Linux administration. |&lt;br /&gt;
web=http://www.libre-expert.com|&lt;br /&gt;
email=mailto:contact@libre-expert.com |&lt;br /&gt;
zip=63100|&lt;br /&gt;
town=Clermont-Ferrand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Libre Master|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=|&lt;br /&gt;
desc={{Flag_fr}}LibreMaster vous propose son service « Dolibarr TAXI », un Dolibarr clé en main, maintenu à jour et sauvegardé dans un bunker.&lt;br /&gt;
Pourquoi ses méthodes de travail rendent l&#039;installation du Dolibarr tellement stable, qu&#039;il reste beaucoup de temps libre, sans devoir monter la garde jour et nuit ? Pour le savoir, visitez son site Web.|&lt;br /&gt;
web=https://dolibarr-taxi.com/|&lt;br /&gt;
email=https://dolibarr-taxi.com/contact/ |&lt;br /&gt;
zip=38350|&lt;br /&gt;
town=La Mure|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
&amp;lt;!--&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Librethic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=83334801400014|&lt;br /&gt;
desc={{Flag_fr}}Librethic est une Société de Services en Informatique et Technologies Libres, tournée vers les entreprises et les associations. Créée en 2017, elle est portée par des professionnels aguerris aux technologies libres et open source. &lt;br /&gt;
L&#039;environnement Dolibarr fait partie du cœur de compétences de Librethic (développement de modules complémentaires, hébergement SaaS, hébergement sur site, passerelle e-commerce).&lt;br /&gt;
{{Flag_en}}&lt;br /&gt;
Librethic is an IT Provider aiming at businesses and organizations, offering services in free/libre and open source software (FLOSS) and open design technologies. &lt;br /&gt;
Founded in 2017, Librethic is driven by libre and open source technologies seasoned professionals. Dolibarr&#039;s environment is one of Librethic&#039;s core skills (Addons and plugins development, SaaS hosting, on-premise hosting, e-commerce gateway).&lt;br /&gt;
web=https:/librethic.io/|&lt;br /&gt;
email=mailto:hello+dolibarr@librethic.io|&lt;br /&gt;
zip=34070|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=logo-librethic.png&lt;br /&gt;
}}&lt;br /&gt;
--&amp;gt;&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LOGOTYP|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=Siret 38397720400031|&lt;br /&gt;
desc={{Flag_fr}}Intégration et formation dans l&#039;entreprise. Support, installation, sécurisation et plus.&lt;br /&gt;
&lt;br /&gt;
{{Flag_de}}&lt;br /&gt;
Integration und Schulung für Unternehmen &amp;amp; Mitarbeiter. Support, Installation, Sicherung und mehr.|&lt;br /&gt;
web=http://www.logotyp.fr|&lt;br /&gt;
email=mailto:jacobs@logotyp.fr |&lt;br /&gt;
zip=03200|&lt;br /&gt;
town=Vichy|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=LVS Informatique|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Development Specialist php, mysql. Creation, enhancement, customization of modules and components ...&lt;br /&gt;
Nos modifs/nos modules :&lt;br /&gt;
-cashdesk : prix en ttc, possibilité de modification du prix, du libellé...&lt;br /&gt;
-interfaçage avec GoogleAgenda (toutes les actions apparaissent dans GoogleAgenda)&lt;br /&gt;
-Mails/Télécopies reçus : apparaissent dans un onglet spécifique sur le tiers en question&lt;br /&gt;
-qualification Tiers&lt;br /&gt;
-Adresse Tiers vu dans GoogleMap&lt;br /&gt;
-creation de nbreux template excel/pdf&lt;br /&gt;
|&lt;br /&gt;
web=http://www.lvsinformatique.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=83860|&lt;br /&gt;
town=NANS LES PINS|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEDIALTA|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Installation, configuration de Dolibarr sur nos serveurs, ou dans l&#039;entreprise (Nancy, Metz, Lorraine, Grand Est). Formation, prise en main. Développement de modules sur mesure.|&lt;br /&gt;
web=www.medialta.com|&lt;br /&gt;
email=|&lt;br /&gt;
zip=54340|&lt;br /&gt;
town=Pompey|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Mephivio|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services company with a computer located in Montpellier agglo, specializing in computer graphics, secretariat, Joomla web sites, client, opensource (Dolibarr, glpi, voip Elastix / Trixbox / PIAF etc ...)|&lt;br /&gt;
web=http://www.mephivio.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=MEZIANT|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=MEZIANT propose aux PME, TPE, artisans, commerçants et associations de l&#039;Ouest son expertise en informatique issue d&#039;une expérience de plus de 15 ans en Audit de Système d&#039;Informations,  Site internet, Formation et Choix de logiciel de gestion (ERP) comme &#039;&#039;&#039;DOLIBARR&#039;&#039;&#039; dont elle peut assurer l’installation, la formation ou encore le développement de modules spécifiques sur site client.&lt;br /&gt;
web=http://www.meziant.fr |&lt;br /&gt;
email=mailto:contact@meziant.fr |&lt;br /&gt;
zip=22940|&lt;br /&gt;
town=PLAINTEL (Bretagne - France)|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Modulaweb : Technologies modulables orientées web.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement d&#039;applicatifs web, hébergement d&#039;applications web, serveurs de fichiers et de sauvegarde, sites internet/intranet et intégration web, espaces clients, communication via internet (VoIP, messagerie instantanée), travail collaboratif. Spécialiste solutions libres pour l&#039;entreprise (Zimbra, Dolibarr, Thaïs...) Région Languedoc-Rouissillon et voisines |&lt;br /&gt;
web=http://www.modulaweb.fr|&lt;br /&gt;
email=http://www.modulaweb.fr/portail/contact/|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=Montpellier|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Net Logic|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET: 477 583 264 00023|&lt;br /&gt;
desc=Installation et configuration de l&#039;ERP/CRM Dolibarr sur nos serveurs, ou en local dans votre entreprise. Paramétrage, personnalisation, reporting spécifique, assistance.|&lt;br /&gt;
web=http://www.netlogic.fr/|&lt;br /&gt;
email=info@netlogic.fr|&lt;br /&gt;
zip=93160|&lt;br /&gt;
town=Noisy-le-Grand|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NORD ERP CRM|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=83184221600010 (SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr. NORD ERP CRM est certifié QUALIOPI ce qui permet la prise en charge des formations par les organismes de financement. Nous nous adaptons à vos spécificités métiers.|&lt;br /&gt;
web=https://www.nord-erp-crm.fr/|&lt;br /&gt;
email=mailto:contact@nord-erp-crm.fr|&lt;br /&gt;
zip=59100|&lt;br /&gt;
town=Roubaix|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NS-INFO90|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=79392284000020(SIRET)|&lt;br /&gt;
desc=Intégration, assistance, formation, développements spécifiques et hébergement de solutions Dolibarr|&lt;br /&gt;
web=https://www.ns-info90.fr/|&lt;br /&gt;
email=mailto:contact@ns-info90.fr|&lt;br /&gt;
zip=90360|&lt;br /&gt;
town=Lachapelle-sous-rougemont|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO NS-INFO90.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=NUM&#039;X|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=82465583100017(SIRET)|&lt;br /&gt;
desc=NUM&#039;X est une entreprise de services numériques (ESN) intervenant notamment pour les TPE PME et proposant des services autour du PGI Dolibarr|&lt;br /&gt;
web=https://www.numx-sets.eu/dolibarr.html|&lt;br /&gt;
email=mailto:contact@numx-sets.eu|&lt;br /&gt;
zip=44590|&lt;br /&gt;
town=SION-LES-MINES|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=LOGO numx-sets.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OAS-SERVICES|&lt;br /&gt;
profid=829767904|&lt;br /&gt;
partner=no|&lt;br /&gt;
desc=&lt;br /&gt;
OAS-SERVICES est une société de service spécialisés dans la mise en place de logiciels libres sous forme de services cloud, notamment de Ma Gestion Cloud (Dolibarr, viger), la mise en place de site internet et boutique en lignes, le développement d&#039;application et de modules en PHP (Dolibarr, Wordpress, Prestashop), mais aussi en Java (JEE, Webservices, JPA), la mise en place de systèmes d&#039;exploitation (linux), la gestion de projet en agilité - Montpellier, Sète|&lt;br /&gt;
web=https://www.ma-gestion-cloud.fr|&lt;br /&gt;
email=[mailto:contact@oas-services.fr?subject=Contact%20from%20Dolibarr%20Suppliers%20France20page contact@oas-services.fr]|&lt;br /&gt;
zip=34200|&lt;br /&gt;
town=SETE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=logo-oas-services.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OPEN-DSI|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:75130522800015|&lt;br /&gt;
desc=Depuis 2012, nous accompagnons les petites et moyennes structures (1 à 50 salariés) dans la mise en place de solutions basées sur les logiciels libres. Nous proposons Dolibarr pour tous les besoins de gestion.|&lt;br /&gt;
web=https://www.open-dsi.fr|&lt;br /&gt;
email=mailto:infos@open-dsi.fr|&lt;br /&gt;
zip=69,38,01,42|&lt;br /&gt;
town=LYON|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=opendsi.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Opens|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=SIRET:888 706 280 00011|&lt;br /&gt;
desc=Opens est spécialisée dans l&#039;accompagnement Digital, RH et Qualité. Nous croyons que ces trois pôles sont intimement liés et œuvrons pour la souveraineté numérique de nos clients. Nous intervenons principalement dans l&#039;Hérault et l&#039;Occitanie.|&lt;br /&gt;
web=https://solutions.open-s.fr|&lt;br /&gt;
email=mailto:contact@open-s|&lt;br /&gt;
zip=34000|&lt;br /&gt;
town=MONTPELLIER|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_opens_solutions.png|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=OIS - Open IT Store|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=OIS (Open IT Store), We provide opensource instances located in Europe or North America.|&lt;br /&gt;
web=https://openitstore.com/dolibarr|&lt;br /&gt;
email=mailto:contact@openitstore.com|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Oscss Shop|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=SIRET:810 421 339 00013|&lt;br /&gt;
desc=Développement de modules sur mesure, interconnexions  et hébergements.|&lt;br /&gt;
web=http://oscss-shop.fr|&lt;br /&gt;
email=mailto:support@oscss-shop.fr|&lt;br /&gt;
zip=28,45,41,72,61,27,75,69,38,01,73,74|&lt;br /&gt;
town=LA LOUPE|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pascal Sené|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Logiciels libres et photographie.|&lt;br /&gt;
web=http://www.pascalsene.com|&lt;br /&gt;
email=contact@pascalsene.com|&lt;br /&gt;
zip=22,29,35,56|&lt;br /&gt;
town=Lannion|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Patas-Monkey|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Conseil, formation, développement et modules| &lt;br /&gt;
web=http://www.patas-monkey.com|&lt;br /&gt;
email=r.deschamps@patas-monkey.com|&lt;br /&gt;
zip=69,42,38,01,83|&lt;br /&gt;
town=Lyon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Patasmonkey.jpg&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pragma-tech|&lt;br /&gt;
partner=no|&lt;br /&gt;
profid=842 325 268 00014|&lt;br /&gt;
desc=Intégrateur, Hébergeur et Formateur de Dolibarr pour TPE - PME | &lt;br /&gt;
web=https://www.pragma-tech.fr/ |&lt;br /&gt;
email=contact@pragma-tech.fr|&lt;br /&gt;
zip=|&lt;br /&gt;
town=PAU|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=pragma-tech.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=ProbeSys|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Créée en 2003 par des passionnés du logiciel libre, [http://probesys.com ProbeSys] est une entreprise coopérative à l&#039;image du secteur des nouvelles technologies : dynamique, réactive et participative. |&lt;br /&gt;
web=http://www.probesys.com|&lt;br /&gt;
email=mailto:contact@probesys.com|&lt;br /&gt;
zip=38600|&lt;br /&gt;
town=Fontaine|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PRODUCTIVIX sarl|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Productivix fourni aux PMI des solutions complètes de traçabilité code-barre / rfid et développe des applications mobiles sur mesure offline (connexions intermitentes) de scan et d&#039;impression mobiles liées à des ERP, elle travaille avec Dolibarr via ses API, paramètre les modules et fourni si nécessaire l&#039;hébergement et les modifications ou création de modules nécessaires dans Dolibarr; Productivix founi les licences mobiles en location, et à l&#039;achat les imprimantes et terminaux durcis avec scanner intégré- développements et installations à distance tous pays|&lt;br /&gt;
web=https://www.productivix.com/mot62.html|&lt;br /&gt;
email=https://www.productivix.com/article239.html|&lt;br /&gt;
zip=38|&lt;br /&gt;
town=Bourgoin-Jallieu|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Pro IP|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Mise en place de solutions ERP comme Dolibarr sur nos serveurs ou dans votre entreprise, assistance et formation|&lt;br /&gt;
web=http://wwww.proip.fr|&lt;br /&gt;
email=mailto:contact@proip.fr|&lt;br /&gt;
zip=62129|&lt;br /&gt;
town=Clarques|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Proxy-Media|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Services Informatiques aux artisans et independants|&lt;br /&gt;
email=mailto:contact@proxy-media.fr|&lt;br /&gt;
zip=17340|&lt;br /&gt;
town=Chatelaillon|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=PTMSoft SARL|&lt;br /&gt;
profid=520 618 646 00019|&lt;br /&gt;
desc=Société de services et de développement logiciel. Installation Dolibarr sur nos serveurs ou dans votre entreprise, assistance et configuration.|&lt;br /&gt;
web=http://www.ptmsoft.fr|&lt;br /&gt;
email=[mailto:contact@ptmsoft.fr?subject=Contact%20de%20la%20page%20Dolibarr%20Suppliers%20France contact@ptmsoft.fr]|&lt;br /&gt;
zip=68890|&lt;br /&gt;
town=Mulhouse, Colmar|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
logo=Logo PTMSoft.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=SIMICAR|&lt;br /&gt;
profid=832 284 616 00014|&lt;br /&gt;
desc=Société de services et de développement logiciel. Faire de Dolibarr Vote Dolibarr.|&lt;br /&gt;
web=http://www.simicar.fr|&lt;br /&gt;
email=[mailto:contact@simicar.fr]|&lt;br /&gt;
zip=29290|&lt;br /&gt;
town=Saint-Renan|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo v2.svg.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Syllene|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=We install and configure the software Dolibarr to suit your needs and train your users. We can also provide hosting and maintenance of your application.|&lt;br /&gt;
web=http://www.syllene.net/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Teclib&#039;|&lt;br /&gt;
profid=513893503|&lt;br /&gt;
partner=yes|&lt;br /&gt;
desc=&lt;br /&gt;
Teclib est une société de services en informatique au capital de 400 000€. Implantés à Paris, Colmar (Alsace), Caen, Chartres (Région Centre). L&#039;équipe Teclib&#039; rassemble une quarantaine de personnes spécialisées dans l&#039;intégration, hébergement et développements de logiciels libres tels que Dolibarr, Odoo, GLPI, Zimbra, BlueMind, Nagios, Centreon, ... |&lt;br /&gt;
web=http://www.teclib.com|&lt;br /&gt;
email=[mailto:contact@teclib.com?subject=Contact%20from%20Dolibarr%20Preferred%20Partners%20page contact@teclib.com]|&lt;br /&gt;
zip=75001|&lt;br /&gt;
town=Paris|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=no|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=Logo_Teclib.png&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Tiaris|&lt;br /&gt;
partner=yes|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Solutions and services for small businesses and merchants: e-commerce, maintenance, ERP/CRM Dolibarr, development telecommuting. ecommerce - dolibarr webservice based interface. Saas Offer Dolibarr + ecommerce connection for open source caddies (OsCommerce, Zencart, Crelaoded, Prestashop and others...)|&lt;br /&gt;
web=http://www.tiaris.fr/|&lt;br /&gt;
email=http://www.tiaris.fr/spip.php?page=contact|&lt;br /&gt;
zip=57870|&lt;br /&gt;
town=WALSCHEID|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=UTOPSYS -  L&#039;Informatique, Professionnelle.|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Maintenance, dépannage, conseil, audits, Green IT, solutions open-source de travail collaboratif, installation et maintenance Dolibarr. Bordeaux, CUB, Libourne.|&lt;br /&gt;
web=http://www.utopsys.fr|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=Libourne|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=YON - Your Own Net|&lt;br /&gt;
profid=822 430 419 00017|&lt;br /&gt;
desc=YON (Your Own Net), Fournisseur de solution numérique, Nous sommes spécialisés dans la fourniture de solutions informatiques pour les professionnelles et les particuliers. Nos solutions vont de l’intégration d’outils Open Source et de logiciels libres à l&#039;hébergement de logiciels.|&lt;br /&gt;
web=http://yourownnet.net/|&lt;br /&gt;
email=mailto:contact@yourownnet.net|&lt;br /&gt;
zip=79|&lt;br /&gt;
town=Niort et Grand Ouest|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=no|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
logo=|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Weedoo Digital|&lt;br /&gt;
profid=831 555 008 000 18 (SIRET)|&lt;br /&gt;
desc=Weedoo Digital est un fournisseur de solutions cloud et digitales pour entreprises. Nos services s’étendent de l’hébergement CLOUD aux solutions de gestion pour entreprises, en passant par le développement web et le E-marketing.|&lt;br /&gt;
web=https://www.weedoo.digital/|&lt;br /&gt;
email=https://www.weedoo.digital/contactez-nous/|&lt;br /&gt;
zip=01|&lt;br /&gt;
town=Ain et Rhône-Alpes|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=WEBINFOPRO|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Society Computers and Internet service for small businesses located in the suburbs west of Paris. One of the main activities is the integration of open source software.|&lt;br /&gt;
web=http://www.webinfopro.fr/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=|&lt;br /&gt;
town=|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=no|&lt;br /&gt;
service_emailsupport=no|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Z-Application|&lt;br /&gt;
profid=|&lt;br /&gt;
desc=Développement personnalisé et assistance à la installation-migration. Support sur site possible dans le département Manche (50).|&lt;br /&gt;
web=https://www.z-application.com/|&lt;br /&gt;
email=|&lt;br /&gt;
zip=50250|&lt;br /&gt;
town=Coutances - Cherbourg - Saint-Lô|&lt;br /&gt;
country=fr|&lt;br /&gt;
service_hosting=no|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=no|&lt;br /&gt;
}}&lt;br /&gt;
{{TemplateCompany|&lt;br /&gt;
name=Paulo Oliveira|&lt;br /&gt;
desc=Installation, configuration et personnalisation de dolibarr. Intégration de Dolibarr avec d&#039;autres systèmes. Développement de modules et améliorations de l&#039;interface utilisateur. Je suis le développeur des modules customizeforms, customizeinterface, categorizeall et pixbrasil chez dolistore|&lt;br /&gt;
web=https://empresalivre.com/demo2/|&lt;br /&gt;
zip=90460-160|&lt;br /&gt;
town=Porto Alegre, Rio Grande do Sul|&lt;br /&gt;
email=paulorcdo@gmail.com|&lt;br /&gt;
country=Brazil|&lt;br /&gt;
service_hosting=yes|&lt;br /&gt;
service_onlinesupport=yes|&lt;br /&gt;
service_emailsupport=yes|&lt;br /&gt;
service_dev=yes|&lt;br /&gt;
service_local=yes|&lt;br /&gt;
service_formation=yes|&lt;br /&gt;
}}&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48449</id>
		<title>Module Products</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48449"/>
		<updated>2020-09-22T22:16:42Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Rules to manage sales prices */ sales prices instead of sale price - to avoid confusion&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Produits]]&lt;br /&gt;
[[es:Módulo_Productos]]&lt;br /&gt;
[[de:Modul_Produkte]]&lt;br /&gt;
[[zh:产品模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Product]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModEN}}&lt;br /&gt;
{{BasculeDevUserEn|&lt;br /&gt;
name=Products|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Products (developer)]]|&lt;br /&gt;
userdoc=This page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This module manages the product catalog.&lt;br /&gt;
&lt;br /&gt;
See also [[Module Services En|Modules Services]] to manage a catalog of services, or page [[Module Stocks En|Module Stocks]] to manage warehouses and stock.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
{{NoInstallModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
{{ActivationModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Definition=&lt;br /&gt;
==Products==&lt;br /&gt;
A &#039;&#039;product&#039;&#039; is an object you sell to customers or it is an object you buy from suppliers. It is a physical object as opposed to [[ServicesEn|Services]].&lt;br /&gt;
&lt;br /&gt;
A product follows this rules:&lt;br /&gt;
&lt;br /&gt;
*A product can be stocked into a warehouse (only products appears in module [[Module_StockEn|Stock]]. Services are not visible).&lt;br /&gt;
*A product can be delivered (only products appears in module [[Module Shipment|Shipment]]. Services are not visible. Services are realized but cannot be shipped).&lt;br /&gt;
*A product is a material good. It&#039;s value often decreases with time (the value of a used product is less than a new product).&lt;br /&gt;
&lt;br /&gt;
Some fields are dedicated to products and not available for Services like:&lt;br /&gt;
&lt;br /&gt;
*Weight&lt;br /&gt;
*Size&lt;br /&gt;
*Customs code = Commodity code = License code = HTS (An international 6 character code to define the category of product)&lt;br /&gt;
&lt;br /&gt;
==Virtual products (kits, also called Pack products)==&lt;br /&gt;
A product or service may be registered as a virtual (a &amp;quot;parent&amp;quot;) product, that is, containing other (single) products. This function is activated from the &#039;&#039;Products&#039;&#039; or the &#039;&#039;Service&#039;&#039; module settings page. It allows &amp;quot;packages&amp;quot; or &amp;quot;kits&amp;quot; of products to be dealt with as a single lot, within orders, invoices and inventory, instead of dealing individually with the components .&lt;br /&gt;
&lt;br /&gt;
A virtual product complies with the following rules:&lt;br /&gt;
&lt;br /&gt;
*When adding a product in a document (proposals, invoice, order), only the line of the virtual product (the &amp;quot;parent&amp;quot;) is shown.&lt;br /&gt;
*The stock of each individual component inside the virtual product is incremented / decremented when the parent product is acquired / delivered.&lt;br /&gt;
*A virtual product may itself be composed of other virtual products that contain other (single) products.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
This is meant as a distinct function from &amp;quot;manufacturing / production&amp;quot; where another &amp;quot;container&amp;quot; product uses the existing stock of its sub-components to produce an additional product which will then be kept in stock as such.&lt;br /&gt;
Here in fact, in the &amp;quot;virtual product or service&amp;quot; function, the sub-components of a virtual product will only be decrementing the respective stock at the time of delivery of the virtual product. Till then, these sub-products remain at full disposal, to be possibly integrated in other sales processes as single independent products also. &lt;br /&gt;
&lt;br /&gt;
Again, the &#039;&#039;manufacturing&#039;&#039; module acted differently : from the moment it registered a &amp;quot;container product&amp;quot;, it immediately purveyed that its by-products were unusable for any other purpose. Therefore, their stock was immediately decremented whether or not the container product left the store, as it was to be considered that the sub-components could no longer be reverse engineered as single products in stock.&lt;br /&gt;
&lt;br /&gt;
==Rules to manage sales prices==&lt;br /&gt;
There are 4 ways to manage sales prices in Dolibarr.&lt;br /&gt;
&lt;br /&gt;
*One and only one price per product&lt;br /&gt;
*different prices per segment of customers&lt;br /&gt;
*different prices per customer&lt;br /&gt;
*different prices per quantity (experimental)&lt;br /&gt;
&lt;br /&gt;
===Price per segment of customers===&lt;br /&gt;
Dolibarr can accept several prices per customer segment. By default, there are 5 segments (i.e. 5 groups of different customers), but you can also edit this figure. &lt;br /&gt;
Each customer can be associated with 1 and only 1 segment, and therefore he or she will be assigned the price defined for that segment (segment 1 if the customer segment is not yet defined).&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports getting, but not setting, multiprices per segment for a product. Prices for a product and customer segment can be set from the backoffice only.&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
Products can be added to one or to multiple categories.&lt;br /&gt;
&lt;br /&gt;
To set categories of a product with API, you must use the APIs /categories/...&lt;br /&gt;
&lt;br /&gt;
==Image== &lt;br /&gt;
A product can have one or multiple images. This can be manually set from the tab &amp;quot;Linked files&amp;quot; of a product.&lt;br /&gt;
&lt;br /&gt;
To get or set an image of a product using the APIs, you must use the API /documents (with &amp;quot;modulepart&amp;quot; parameter = &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Variants== &lt;br /&gt;
A product can have multiple variants, e.g. for sizes or colors.&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports both getting, setting and deleting variants for a product.&lt;br /&gt;
&lt;br /&gt;
=Life cycle / Business rules=&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
=Related videos=&lt;br /&gt;
&amp;lt;youtube width=&amp;quot;200&amp;quot; height=&amp;quot;120&amp;quot;&amp;gt;Qm0k1G4BYsE&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48448</id>
		<title>Module Products</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48448"/>
		<updated>2020-09-22T22:11:59Z</updated>

		<summary type="html">&lt;p&gt;Christof: /* Virtual products (kits, also called Pack products) */ only grammar.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Produits]]&lt;br /&gt;
[[es:Módulo_Productos]]&lt;br /&gt;
[[de:Modul_Produkte]]&lt;br /&gt;
[[zh:产品模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Product]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModEN}}&lt;br /&gt;
{{BasculeDevUserEn|&lt;br /&gt;
name=Products|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Products (developer)]]|&lt;br /&gt;
userdoc=This page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This module manages the product catalog.&lt;br /&gt;
&lt;br /&gt;
See also [[Module Services En|Modules Services]] to manage a catalog of services, or page [[Module Stocks En|Module Stocks]] to manage warehouses and stock.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
{{NoInstallModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
{{ActivationModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Definition=&lt;br /&gt;
==Products==&lt;br /&gt;
A &#039;&#039;product&#039;&#039; is an object you sell to customers or it is an object you buy from suppliers. It is a physical object as opposed to [[ServicesEn|Services]].&lt;br /&gt;
&lt;br /&gt;
A product follows this rules:&lt;br /&gt;
&lt;br /&gt;
*A product can be stocked into a warehouse (only products appears in module [[Module_StockEn|Stock]]. Services are not visible).&lt;br /&gt;
*A product can be delivered (only products appears in module [[Module Shipment|Shipment]]. Services are not visible. Services are realized but cannot be shipped).&lt;br /&gt;
*A product is a material good. It&#039;s value often decreases with time (the value of a used product is less than a new product).&lt;br /&gt;
&lt;br /&gt;
Some fields are dedicated to products and not available for Services like:&lt;br /&gt;
&lt;br /&gt;
*Weight&lt;br /&gt;
*Size&lt;br /&gt;
*Customs code = Commodity code = License code = HTS (An international 6 character code to define the category of product)&lt;br /&gt;
&lt;br /&gt;
==Virtual products (kits, also called Pack products)==&lt;br /&gt;
A product or service may be registered as a virtual (a &amp;quot;parent&amp;quot;) product, that is, containing other (single) products. This function is activated from the &#039;&#039;Products&#039;&#039; or the &#039;&#039;Service&#039;&#039; module settings page. It allows &amp;quot;packages&amp;quot; or &amp;quot;kits&amp;quot; of products to be dealt with as a single lot, within orders, invoices and inventory, instead of dealing individually with the components .&lt;br /&gt;
&lt;br /&gt;
A virtual product complies with the following rules:&lt;br /&gt;
&lt;br /&gt;
*When adding a product in a document (proposals, invoice, order), only the line of the virtual product (the &amp;quot;parent&amp;quot;) is shown.&lt;br /&gt;
*The stock of each individual component inside the virtual product is incremented / decremented when the parent product is acquired / delivered.&lt;br /&gt;
*A virtual product may itself be composed of other virtual products that contain other (single) products.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
This is meant as a distinct function from &amp;quot;manufacturing / production&amp;quot; where another &amp;quot;container&amp;quot; product uses the existing stock of its sub-components to produce an additional product which will then be kept in stock as such.&lt;br /&gt;
Here in fact, in the &amp;quot;virtual product or service&amp;quot; function, the sub-components of a virtual product will only be decrementing the respective stock at the time of delivery of the virtual product. Till then, these sub-products remain at full disposal, to be possibly integrated in other sales processes as single independent products also. &lt;br /&gt;
&lt;br /&gt;
Again, the &#039;&#039;manufacturing&#039;&#039; module acted differently : from the moment it registered a &amp;quot;container product&amp;quot;, it immediately purveyed that its by-products were unusable for any other purpose. Therefore, their stock was immediately decremented whether or not the container product left the store, as it was to be considered that the sub-components could no longer be reverse engineered as single products in stock.&lt;br /&gt;
&lt;br /&gt;
==Rules to manage sales prices==&lt;br /&gt;
There are 4 ways to manage sale price of products in Dolibarr.&lt;br /&gt;
&lt;br /&gt;
*One and only one price per product&lt;br /&gt;
*Price per segment of customers&lt;br /&gt;
*Price per customer&lt;br /&gt;
*price per quantity (experimental)&lt;br /&gt;
&lt;br /&gt;
===Price per segment of customers===&lt;br /&gt;
Dolibarr can accept several prices per customer segment. By default, there are 5 segments (i.e. 5 groups of different customers), but you can also edit this figure. &lt;br /&gt;
Each customer can be associated with 1 and only 1 segment, and therefore he or she will be assigned the price defined for that segment (segment 1 if the customer segment is not yet defined).&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports getting, but not setting, multiprices per segment for a product. Prices for a product and customer segment can be set from the backoffice only.&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
Products can be added to one or to multiple categories.&lt;br /&gt;
&lt;br /&gt;
To set categories of a product with API, you must use the APIs /categories/...&lt;br /&gt;
&lt;br /&gt;
==Image== &lt;br /&gt;
A product can have one or multiple images. This can be manually set from the tab &amp;quot;Linked files&amp;quot; of a product.&lt;br /&gt;
&lt;br /&gt;
To get or set an image of a product using the APIs, you must use the API /documents (with &amp;quot;modulepart&amp;quot; parameter = &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Variants== &lt;br /&gt;
A product can have multiple variants, e.g. for sizes or colors.&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports both getting, setting and deleting variants for a product.&lt;br /&gt;
&lt;br /&gt;
=Life cycle / Business rules=&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
=Related videos=&lt;br /&gt;
&amp;lt;youtube width=&amp;quot;200&amp;quot; height=&amp;quot;120&amp;quot;&amp;gt;Qm0k1G4BYsE&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48447</id>
		<title>Module Products</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Module_Products&amp;diff=48447"/>
		<updated>2020-09-22T22:06:10Z</updated>

		<summary type="html">&lt;p&gt;Christof: Some editing for comprehension to match the French description of the virtual product module description.&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&amp;lt;!-- BEGIN origin interlang links --&amp;gt;&lt;br /&gt;
&amp;lt;!-- You can edit this section but do NOT remove these comments&lt;br /&gt;
     Links below will be automatically replicated on translated pages by PolyglotBot --&amp;gt;&lt;br /&gt;
[[fr:Module_Produits]]&lt;br /&gt;
[[es:Módulo_Productos]]&lt;br /&gt;
[[de:Modul_Produkte]]&lt;br /&gt;
[[zh:产品模块]]&lt;br /&gt;
&amp;lt;!-- END interlang links --&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:Product]]&lt;br /&gt;
{{TemplateDocUser}}&lt;br /&gt;
{{TemplateModEN}}&lt;br /&gt;
{{BasculeDevUserEn|&lt;br /&gt;
name=Products|&lt;br /&gt;
num=50|&lt;br /&gt;
devdoc=[[Module Products (developer)]]|&lt;br /&gt;
userdoc=This page|}}&lt;br /&gt;
&lt;br /&gt;
=Introduction=&lt;br /&gt;
This module manages the product catalog.&lt;br /&gt;
&lt;br /&gt;
See also [[Module Services En|Modules Services]] to manage a catalog of services, or page [[Module Stocks En|Module Stocks]] to manage warehouses and stock.&lt;br /&gt;
&lt;br /&gt;
=Installation=&lt;br /&gt;
{{NoInstallModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Configuration=&lt;br /&gt;
{{ActivationModuleEn}}&lt;br /&gt;
&lt;br /&gt;
=Definition=&lt;br /&gt;
==Products==&lt;br /&gt;
A &#039;&#039;product&#039;&#039; is an object you sell to customers or it is an object you buy from suppliers. It is a physical object as opposed to [[ServicesEn|Services]].&lt;br /&gt;
&lt;br /&gt;
A product follows this rules:&lt;br /&gt;
&lt;br /&gt;
*A product can be stocked into a warehouse (only products appears in module [[Module_StockEn|Stock]]. Services are not visible).&lt;br /&gt;
*A product can be delivered (only products appears in module [[Module Shipment|Shipment]]. Services are not visible. Services are realized but cannot be shipped).&lt;br /&gt;
*A product is a material good. It&#039;s value often decreases with time (the value of a used product is less than a new product).&lt;br /&gt;
&lt;br /&gt;
Some fields are dedicated to products and not available for Services like:&lt;br /&gt;
&lt;br /&gt;
*Weight&lt;br /&gt;
*Size&lt;br /&gt;
*Customs code = Commodity code = License code = HTS (An international 6 character code to define the category of product)&lt;br /&gt;
&lt;br /&gt;
==Virtual products (kits, also called Pack products)==&lt;br /&gt;
A product or service may be registered as a virtual (a &amp;quot;parent&amp;quot;) product, that is, containing other (single) products. This function is activated from the &#039;&#039;Products&#039;&#039; or the &#039;&#039;Service&#039;&#039; module settings page. It allows &amp;quot;packages&amp;quot; or &amp;quot;kits&amp;quot; of products to be dealt with as a single lot, within orders, invoices and inventory, instead of dealing individually with the components .&lt;br /&gt;
&lt;br /&gt;
A virtual product complies with the following rules:&lt;br /&gt;
&lt;br /&gt;
*When adding a product in a document (proposals, invoice, order), only the line of the virtual product (the &amp;quot;parent&amp;quot;) is shown.&lt;br /&gt;
*The stock of each individual component inside the virtual product is incremented / decremented when the parent product is acquired / delivered.&lt;br /&gt;
*A virtual product may itself be composed of other virtual products that contain other (single) products.&lt;br /&gt;
&lt;br /&gt;
Note:&lt;br /&gt;
This is meant as a distinct function from &amp;quot;manufacturing / production&amp;quot; where another &amp;quot;container&amp;quot; product uses the existing stock of its sub-components to produce an additional product to be kept in stock.&lt;br /&gt;
Here in fact, in the &amp;quot;virtual product or service&amp;quot; function, the sub-components of a virtual product are only decrementing the stock at the time of delivery of the virtual product. Till then, these sub-products remain at disposal to be integrated in the sales process as single independent products also. Again, the &#039;&#039;manufacturing&#039;&#039; module on the contrary, from the moment it registered a &amp;quot;container product&amp;quot;, immediately purveyed that its by-products were unusable for any other purpose. Therefore, their stock was decremented whether or not the container product left the store, as it was to be considered that the sub-components could no longer be reverse engineered as single products in stock.&lt;br /&gt;
&lt;br /&gt;
==Rules to manage sales prices==&lt;br /&gt;
There are 4 ways to manage sale price of products in Dolibarr.&lt;br /&gt;
&lt;br /&gt;
*One and only one price per product&lt;br /&gt;
*Price per segment of customers&lt;br /&gt;
*Price per customer&lt;br /&gt;
*price per quantity (experimental)&lt;br /&gt;
&lt;br /&gt;
===Price per segment of customers===&lt;br /&gt;
Dolibarr can accept several prices per customer segment. By default, there are 5 segments (i.e. 5 groups of different customers), but you can change this number. &lt;br /&gt;
Each customer can be associated with 1 and only 1 segment, and therefore he or she will be assigned the price defined for that segment (segment 1 if the customer segment is not yet defined).&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports getting but not setting multiprices per segment for a product. Prices for a product and customer segment can be set from the backoffice only.&lt;br /&gt;
&lt;br /&gt;
==Categories==&lt;br /&gt;
Products can be added to one or to multiple categories.&lt;br /&gt;
&lt;br /&gt;
To set categories of a product with API, you must use the APIs /categories/...&lt;br /&gt;
&lt;br /&gt;
==Image== &lt;br /&gt;
A product can have one or multiple images. This can be manually set from the tab &amp;quot;Linked files&amp;quot; of a product.&lt;br /&gt;
&lt;br /&gt;
To get or set an image of a product using the APIs, you must use the API /documents (with &amp;quot;modulepart&amp;quot; parameter = &amp;quot;product&amp;quot; or &amp;quot;service&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
==Variants== &lt;br /&gt;
A product can have multiple variants, e.g. for sizes or colors.&lt;br /&gt;
&lt;br /&gt;
As of v12 the REST API supports both getting, setting and deleting variants for a product.&lt;br /&gt;
&lt;br /&gt;
=Life cycle / Business rules=&lt;br /&gt;
{{ToComplete}}&lt;br /&gt;
&lt;br /&gt;
=Related videos=&lt;br /&gt;
&amp;lt;youtube width=&amp;quot;200&amp;quot; height=&amp;quot;120&amp;quot;&amp;gt;Qm0k1G4BYsE&amp;lt;/youtube&amp;gt;&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
	<entry>
		<id>https://wiki.dolibarr.org/index.php?title=Talk:FAQ_Having_long_product_list&amp;diff=48296</id>
		<title>Talk:FAQ Having long product list</title>
		<link rel="alternate" type="text/html" href="https://wiki.dolibarr.org/index.php?title=Talk:FAQ_Having_long_product_list&amp;diff=48296"/>
		<updated>2020-09-01T16:58:51Z</updated>

		<summary type="html">&lt;p&gt;Christof: Search mask function not found&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Where is that please ? ==&lt;br /&gt;
Sorry but I can&#039;t seem to find that function of &amp;quot;products&amp;quot; even with Ajax double-checked ... neither in Ver 11 nor Ver 12.&lt;/div&gt;</summary>
		<author><name>Christof</name></author>
	</entry>
</feed>