L10n FR Chorus
Generate Chorus-compliant e-invoices and transmit them via the Chorus API
L10n FR Chorus
This is the base module for the support of Chorus Pro, the electronic invoicing plateform of the French administration. Chorus Pro specifications are available on Chorus Pro Community website. All the suppliers of the French administration must send their invoices through Chorus Pro. To know more about Chorus and the obligation to send electronic invoices to the French administration, read the dedicated page on the website of the Ministry of Economic Affairs.
To be able to generate an electronic invoice for Chorus, you need the module l10n_fr_chorus_factur-x or l10n_fr_chorus_ubl.
Table of contents
On the customers that you invoice via Chorus, you must:
- enter their SIRET (Accounting tab),
- select Chorus as Customer Invoice Transmission Method (Accounting tab),
- select the Info Required for Chorus to the value that you obtained from Chorus (menu Rechercher Structure Publique),
- if the service is a required information for that customer in Chorus, you must create the Chorus service and then create an invoicing contact and select the related Chorus Service and make sure that this contact is used as Customer on the invoice.
If you want to use the Chorus API to easily send invoices to Chorus from Odoo, you must:
- edit the Odoo server configuration file and add two keys chorus_api_oauth_id and chorus_api_oauth_secret that contain your Oauth client ID and client secret obtained via PISTE. Don't forget to restart the Odoo server after the update of its configuration file.
- in the menu Accounting > Configuration > Settings, in the section Chorus API, enable the option Use Chorus API, which will add all users to the Chorus API group. Then set the additional configuration parameters for Chorus API that will be prompted on the settings page.
In the menu Settings > Technical > Automation > Scheduled Actions, you should also activate the 3 scheduled actions related to Chorus Pro.
On the customer form view of a French public administration, in the Accounting tab, set the Customer Invoice Transmission Method to Chorus Pro. You will then see a new section Chorus Pro. In this section, you should set the Info required for Chorus and, if the administration is Service required, you must create the Chorus services.
If you enabled the Chorus API, just click on the button Update Info Required for Chorus and it will set the field Info required for Chorus and download all the Chorus services of that administration.
When you try to validate a customer invoice/refund for a customer for which you send the invoices via Chorus Pro, it will check the value of the field Info required for Chorus and check that this invoice has an order reference or/and a Chorus service if required for that customer.
If you enabled the Chorus API, you should see a button Send to Chorus on validated customer invoices and refunds that have a transmission method set to Chorus Pro. You can also select several customer invoices/refunds and do Action > Send to Chorus Pro.
Sending an invoice via the Chorus API creates a Chorus Flow, cf menu Accounting > Configuration > Chorus Pro > Chorus Flows (it is not really a configuration thing... so we could argue that it should not be in the configuration menu !). You can click on the button Update Flow Status to refresh the status of the flow, until it reaches the status IN_INTEGRE. Then, click on the button Get Chorus Invoice Identifiers to get the technical identifiers of the invoice in Chorus (and write it on the invoice in Odoo) and get the status of the invoice in Chorus. Eventually, on the invoice, you can click on the button Update Chorus Invoice Status to refresh the Chorus Invoice Status. All these actions to refresh the status of the Chorus flows and of the invoice are automated via the Scheduled Action named Chorus Pro Invoice Status Update. So, if that scheduled action is active, you should not have to manually perform the actions described in this paragraph.
In the list view of customer invoices, you can group by Chorus Status: that way, you get on overview of the status of all the invoices you sent to Chorus Pro, and you can easily spot if an invoice has been refused for example.
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us smashing it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
This module is maintained by the OCA.
OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.
This module is part of the OCA/l10n-france project on GitHub.
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.