Introduction
France handles e-invoicing through approved PA (Plateforme Agréée) platforms as part of its electronic invoicing reform. Invopop is an officially approved PA platform, as listed on the French government’s official list of approved platforms. Invopop is Plateforme Agréée (Approved Platform) by the French tax administration, meaning we have successfully provided all necessary documentation for the registration procedure and passed the technical compliance verification.Prerequisites
To use the France PA integration, you will need:- Invopop workspace with the Peppol and France apps enabled.
- French company registration details including SIREN/SIRET numbers.
- Understanding of your invoicing flows (B2B, B2C, domestic, cross-border) to plan registration and reporting requirements.
- Business processes for status updates to implement the mandatory lifecycle status workflow.
Key Concepts
| Annuaire | The French e-invoicing directory where parties must be registered to participate in regulated e-invoicing flows. |
| PPF | Portail Public de Facturation — the French government system that receives mandatory invoice data and lifecycle updates. Invopop handles all communications with the PPF automatically. |
| Regulated Flow | An invoice exchange where both the sender and receiver are registered in the annuaire. These follow the complete French e-invoicing process including Peppol transmission and PPF reporting. |
| Non-Regulated Flow | An invoice exchange where only one party is registered in the annuaire. Invoices are stored for e-reporting to the PPF but may not be transmitted via Peppol. |
| E-Reporting | France requires two types: real-time reporting for B2B national (regulated) flows via F1 format; and periodic reporting for non-regulated flows and B2C transactions. |
| CDAR | Cross Domain Acknowledgement and Response. The format used for lifecycle status updates (“cycle de vie”) in France, communicated between parties and to the PPF. |
| F1 Invoice | Simplified UBL format used for e-reporting to the PPF for regulated flows. Generated automatically by Invopop. |
Registration workflow
The registration process prepares parties to send and receive invoices in France. It builds on the standard Peppol registration workflow with additional French-specific steps.Register in Annuaire
Register the party in the annuaire (French e-invoicing directory) under Invopop’s name. Required for the party to participate in French e-invoicing.
Register for Peppol
Complete standard Peppol registration. Invopop uses Peppol as the designated method for sending and receiving invoices in the French PA system.
Sending workflow
The sending workflow records the invoice for France PA compliance, transmits it via Peppol, and then forwards it to the PPF. The same workflow handles both French and non-French invoices — the France-specific steps are automatically skipped when the sender is not registered in the annuaire.How it works
- Set state to Processing — marks the job as in progress.
- Sign the envelope — locks the GOBL document against further modification.
- Record Invoice (France) — registers the invoice with the France PA system. Determines whether this is a regulated or non-regulated flow based on annuaire registration status of both parties.
- Generate UBL Document — produces a Peppol France CIUS–compliant UBL invoice or credit note.
- Send via Peppol — transmits the invoice to the receiver’s PA platform over the Peppol network.
- Set state to Sent — marks successful Peppol delivery.
- Forward to PPF — sends the F1 invoice and the mandatory déposée (deposited) status to the government data concentrator. For non-regulated flows, records the invoice for periodic reporting instead.
- Set state to Completed — marks full completion including PPF reporting.
Workflow code
- Template
- Code
Status update workflow
France requires mandatory lifecycle status updates to be reported to the PPF for B2B national invoices. You must implement workflows for the two statuses that are your responsibility:| Status | Code | Trigger |
|---|---|---|
| Encaissée (cashed/paid) | 212 | Invoice has been paid |
| Refusée (refused by buyer) | 210 | Buyer refuses the invoice (business rejection) |
| Status | Code | When |
|---|---|---|
| Déposée (deposited) | 200 | Sent automatically when the invoice is created |
| Rejetée (rejected by platform) | 213 | Sent automatically on processing failure |
205 Approuvée, 207 En litige) for lifecycle tracking. The status workflow below handles all of these.
How it works
- Generate Status (France) — creates a CDAR document with the specified status code and reason code. The
status_code,reason_code, and optionalreason_textare configured per workflow or passed as job arguments. - Send via Peppol — transmits the CDAR to the counterparty over Peppol.
- Forward to PPF — for mandatory statuses (
210,212), sends the notification to the PPF in the required format.
Workflow code
The example below is configured for status207 (En litige / Disputed) with reason code MONTANTTOTAL_ERR. Change status_code and reason_code to match your use case.
- Template
- Code
We recommend creating a separate workflow for each mandatory status type (paid, refused) with the appropriate code pre-configured, rather than a single generic workflow. This keeps your operational runbooks simple and reduces the risk of sending the wrong code.
Available status codes
| Code | French | English | Mandatory to PPF |
|---|---|---|---|
200 | Déposée | Deposited | Yes (automatic) |
205 | Approuvée | Accepted | No |
206 | Partiellement approuvée | Partially Approved | No |
207 | En litige | Disputed | No |
208 | Suspendue | Suspended | No |
209 | Complétée | Completed | No |
210 | Refusée | Refused by buyer | Yes (manual) |
211 | Paiement transmis | Payment transmitted | No |
212 | Encaissée | Cashed/Paid | Yes (manual) |
213 | Rejetée | Rejected by platform | Yes (automatic) |
Receiving
Receiving invoices and incoming status updates via Peppol is supported by the France app, but documentation is not yet available. It will be published ahead of the September 2026 mandate.🇫🇷 Invopop resources for France
🇫🇷 Invopop resources for France
France FAQ
Find answers to frequently asked questions about invoicing in France →
Participate in our community
Ask and answer questions about invoicing in France →