Use this file to discover all available pages before exploring further.
E-invoicing in France applies domestic B2B invoicing where both parties are registered in the Annuaire. For B2C, cross-border, or any flow where one party is not in the Annuaire, use the reporting flow instead.
The France PA invoicing flow covers regulated B2B exchanges — both parties registered in the Annuaire. The same GOBL document drives both sides: a single invoice with the fr-ctc-flow2-v1 add-on, generated as the format negotiated with the receiver. On receipt, any of the accepted formats is converted back to that same representation.
The PA specification accepts five formats. In practice the three base formats below cover essentially all real-world traffic, and Invopop supports both sending and receiving on all three.
Format
Notes
UBL
Peppol France CIUS — recommended default. Native Peppol format with the widest receiver support.
CII
UN/CEFACT XML, semantically equivalent to UBL. Common in cross-border and industrial contexts.
Factur-X
Hybrid PDF/A-3 with embedded CII. Identical to ZUGFeRD and aligned with EN 16931.
Switching format is a workflow-config change rather than a data-model change — you author and validate one GOBL invoice, and the workflow’s generation step produces whichever format the counterparty expects.
The send workflow records the invoice for compliance, generates the chosen format, transmits it to the receiver’s PA over Peppol, and forwards the F1 copy to the PPF as the fifth corner.The Record Invoice step validates SIRENs and checks both parties against the Annuaire. Invoices where either side is missing are rejected — branch non-regulated traffic into the reporting flow upstream of this workflow.
Moves the invoice into a visible “in progress” state for operator dashboards.
2
Add Signature
Locks the GOBL envelope so downstream steps work against an immutable document.
3
Record Invoice
Validates SIRENs, checks both parties against the Annuaire, and stores the invoice in the local PA database.
4
Generate UBL Document
Produces a Peppol France CIUS UBL invoice or credit note. Swap for Generate CII Document if the receiver requires CII, or Generate PDF (Factur-X) for hybrid PDF.
5
Send Peppol Document
Transmits the generated document to the receiver’s PA over the Peppol network.
6
Set State → sent
Marks Peppol delivery as successful.
7
Forward Invoice to PPF
Generates the simplified F1 invoice and forwards it, along with the mandatory 200déposée status, to the PPF.
8
Set State → completed
Marks the full e-invoicing flow — Peppol delivery and PPF reporting — as complete.
The receive workflow detects the inbound format, imports it into a GOBL document, and records it against your registered party. The same workflow handles UBL, CII, and Factur-X — the format-detection branch routes each payload to the correct importer.
How do I configure my workspace for French invoicing?
Two channels depending on the recipient: B2G uses Chorus Pro (CII format); B2B from September 2026 uses the Plateforme Agréée model (UBL, CII, or Factur-X via Peppol). Invopop is an approved PA — install the France PA app for B2B and the Chorus Pro app for B2G.
How can I view an XML attached to a PDF?
In Factur-X PDFs, the XML file is embedded within the PDF itself. To extract and view it, use the Attachments section in Adobe Acrobat Reader, or a tool like the SysTools PDF Extractor.
Is Invopop ready for the September 2026 mandate?
Invopop is an officially approved Plateforme Agréée under the DGFiP mandate. Registration, invoicing, and lifecycle status are available today; e-reporting (Flow 10) is in active development. See the PA hub readiness matrix for the current state.
What GOBL addons are required for France PA?
The base fr-fec-v3 regime plus the EN 16931 profile. For Peppol delivery, peppol-bis-v3. The forthcoming fr-ctc-flow10-v1 addon covers e-reporting payloads — separate from the e-invoicing flow.
What should we do if the customer doesn't belong to the Peppol network?
In countries where Peppol is the standard but not mandatory, you may still need to issue an e-invoice when the recipient isn’t on the network. Both parties can agree on an alternative transfer method, but the invoice must still be EN16931 compliant.Recommended approach:
Set up a separate workflow that generates the XML without the send-Peppol-document step
Or reuse your existing workflow without the customer Peppol ID — the send step is automatically skipped
Fetch the generated XML and deliver it through the agreed channel, typically email
How do I handle B2C invoices in Peppol?
B2C invoices typically lack the structured customer information required for Peppol delivery, and most consumers don’t have inboxes. Use a conditional workflow:
Add an If/Else step that checks for a customer inbox using count(customer.inboxes, true) > 0.
On the false branch, generate a PDF and email it to the customer, then stop the flow.
This routes B2B invoices through Peppol while keeping a smooth path for consumers.
How do I handle 'Receiver Not Found' errors?
If a job fails with KO and receiver not found in the peppol network, treat it like an invalid email address — the recipient simply isn’t reachable on Peppol. Add the Lookup Participant ID step (ideally in a separate validation workflow run against customer data) so you catch missing IDs before generating the invoice.
Should I set the `$regime` field when using Peppol?
No. The regime is automatically derived from the supplier’s settings, which is the recommended approach for Peppol — leave it unset on the document.
Where do I find Peppol GOBL documentation?
See the oasis-ubl-v2 addon and the Peppol app reference for required fields, supported document types, and Participant ID schemes.