France · Chorus Pro Guide
Issue invoices to French public institutions with Chorus Pro.
Introduction
In this guide, you’ll learn how to issue invoices to French public institutions using Chorus Pro.
You’ll:
- Learn about Chorus Pro and its format requirements
- Set up Invopop workflows:
- Supplier registration workflow
- Invoice submission workflow
- Prepare the Chorus Pro platform and create credentials
- Register a supplier with Chorus Pro
- Send your first invoice to a French public institution
What is Chorus Pro?
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.
Understanding Chorus Pro Format 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:
- SIRET number validation for French entities
- Specific invoice types for different purposes
- Service codes for government departments
In GOBL, these formats are handled via addons that you must add to each invoice. You’ll see examples of this further below.
Setup
Configure your Invopop Workspace for Chorus Pro invoicing.
Complete these steps:
Connect the required apps
- Go to Configuration > Apps in the Console.
- Find UN/CEFACT CII in the app list and click Connect to activate the app.
- Find Chorus Pro in the app list and click Connect to activate the app.
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:
- Register a supplier for Chorus Pro
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:
- Generate UN/CEFACT CII Invoice - Select Chorus Pro V1 as the
Invoice Output Document Type
. - Send an invoice to Chorus Pro.
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.
Chorus Pro Credentials
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:
- Create a Chorus Pro account - Sign up for a Chorus Pro account if you don’t have one.
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:
- Go to Domains > Connections in the main menu
- Click Access Service in the Connections section (top right)
This opens a new page where you can manage your API connections.
- Go to Domains > Connections in the main menu
-
Create API connection - Set up the API connection for your account:
- In the service, click Créer un raccordement
- Click Créer un raccordement API
- This opens a form where you add the following data:
Structure
: Select your company from the dropdown list.Nom application Piste
: Enter invopop_production (APP_SANDBOX_dev@invopop.com for sandbox).Type d'utilisation
: Select the option Utilisateur d’une solution d’un éditeur ou opérateur.Editeur
: Enter Invopop SL as the name of the provider.Contact technique
: Enter the details of the technical contact for your company.
Click Suivant to complete the form.
- In the service, click Créer un raccordement
-
Create technical account - Set up the technical account credentials:
-
Once the connection is set up, go back to Connections and click Technical Account
-
This opens another form to create a technical account:
- Set the type of request to Creation of a technical account
- Select your company in the company field
-
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.
Running
Now you’ll learn how to register a supplier and issue Chorus Pro invoices:
Register a Supplier
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:
- The supplier’s silo entry UUID from the previous step
- The Supplier Registration workflow ID from the Setup section
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.
Send an Invoice
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.
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 invoice’s silo entry UUID from the previous step
- The Chorus Pro Invoice workflow ID from the Setup section
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.