Issue invoices to French public institutions with Chorus Pro.
In this guide, you’ll learn how to issue invoices to French public institutions using Chorus Pro.
You’ll:
Chorus Pro is a mandatory service provided by the French government for invoicing French public institutions. The platform allows businesses to upload invoices in multiple e-invoicing formats and track them throughout the French public administration process. All invoices to French public sector entities must be submitted through Chorus Pro.
The platform supports various e-invoicing formats including Cross Industry Invoice (CII), and implements the European Norm 16931 (EN16931) European standard for electronic invoicing with additional French-specific requirements.
Chorus Pro accepts invoices in CII format based on the EN16931 European standard. However, it adds specific French extensions and validation requirements:
EN16931 Standard The EN16931 defines the semantic data model for electronic invoices. The standard ensures interoperability across European Union (EU) member states while allowing for country-specific extensions.
Chorus Pro Extensions Chorus Pro extends the base EN16931 standard with additional French requirements:
In GOBL, these formats are handled via addons that you must add to each invoice. You’ll see examples of this further below.
Configure your Invopop Workspace for Chorus Pro invoicing.
Complete these steps:
Connect the required apps
After connecting, you’ll see both UN/CEFACT CII and Chorus Pro listed in the Enabled Apps section.
Configure the supplier registration workflow
Add a new workflow to your workspace for registering suppliers. You can start with the template below.
Copy and paste this code into a new Empty Party workflow code view.
Before starting, review the workflows guide to understand the general setup process.
In Console, create a new workflow and choose Empty Party workflow as the base. Name the workflow with a descriptive label such as “Chorus Pro Supplier Registration”.
The new workflow performs a single step:
Add any additional steps you need such as error handling, and save the new workflow.
Keep the workflow ID at hand as you’ll need it later.
Configure invoice workflow
Add a new workflow to your workspace for issuing invoices. You can start with the template below.
Copy and paste this code into a new Empty Invoice workflow code view.
In Console create a new workflow and select Empty Invoice workflow in the template selector. Add the following steps:
Invoice Output Document Type
.In the Error Handling section, add the Set State action and select Error
.
Keep the workflow ID at hand as you’ll need it later.
This section explains what suppliers need to configure within their Chorus Pro account to enable integration with Invopop.
To configure Chorus Pro, complete these steps:
To test in sandbox mode, create an account in the Chorus Pro sandbox. Download a CSV file with test accounts. Use one of the accounts to log in.
For more information, visit the Chorus Pro documentation.
Navigate to API settings - Once logged in to your Chorus Pro account, navigate to the API configuration area:
Create technical account - Set up the technical account credentials:
This opens a form to create a technical account:
This creates a login and password - copy these credentials as you’ll need them when registering with Invopop
Click Submit to complete the setup
Return to Invopop for the next steps.
Now you’ll learn how to register a supplier and issue Chorus Pro invoices:
Now that you have a technical account, register a supplier with Chorus Pro.
Upload a Supplier
Use the Create an entry endpoint to upload a new supplier. Include a party object in the data field. For this step, you only need the VAT number.
After successful upload, you’ll see the supplier in the Contacts section with status Empty
.
Send the Supplier to the registration workflow
Send the supplier to the registration workflow using the Create a job endpoint. Use:
This workflow generates a unique URL for the supplier to access and complete the registration process. The URL is stored in the supplier’s metadata.
Complete Chorus Pro Authentication
The workflow stays in progress until the supplier completes the registration process. The supplier must access the link and add the credentials they created previously.
The supplier’s status will change to Registered
when authentication is complete.
Once a supplier is registered, you can send invoices to French public institutions through Chorus Pro.
Create an Invoice
Use the Create an entry endpoint to create a new invoice. Include an invoice object in the data field.
Example B2G invoice
Review the example above. Notice that you need both the eu-en16931-v2017
and the fr-choruspro-v1
addon. These addons enable all the necessary validations in your GOBL invoice.
Send to Chorus Pro
Send the invoice to Chorus Pro using the Create a job endpoint. Use:
The system generates a CII XML file with Chorus Pro extensions and submits it to the platform.
Track Invoice Status
After submission, track your invoice in Chorus Pro using the invoice identifier (series plus code).
Chorus Pro allows document modifications after submission. If a document is rejected or contains errors, update the GOBL details and resubmit to the same workflow until the document is accepted. Once accepted, do not modify the invoice.
The invoice identifier in Chorus Pro corresponds to your GOBL invoice series and code combined. This identifier helps you locate and track invoices across both systems.
What invoice formats does Chorus Pro support?
Chorus Pro primarily supports CII format based on EN16931. Invopop currently focuses on CII with plans to add additional formats in the future.
Do I need a SIRET number to use Chorus Pro?
French businesses need a SIRET number. Foreign businesses can use their local tax identifier, but should verify acceptance with the receiving French institution.
Can I modify invoices after sending to Chorus Pro?
Yes, you can modify and resubmit invoices until the receiving institution accepts them. Once accepted, invoices become locked and cannot be modified.
How do I find my invoice in Chorus Pro?
Use your GOBL invoice series and code combined as the invoice identifier in the Chorus Pro portal to locate your submitted invoices.
What happens if my supplier registration fails?
Ensure the supplier has a valid Chorus Pro account and provided correct credentials. Contact support if registration workflow issues persist.
Are there file size limits for Chorus Pro invoices?
Chorus Pro has specific file size and format requirements. Invopop handles these automatically when generating CII XML files from your GOBL invoices.