- Customers subject to VAT in France are handled through the e-invoicing flow for domestic B2B transactions, with status updates reported back throughout.
- Customers not subject to VAT in France — international or B2C transactions, and territories excluded from the mandate such as Guyane, Mayotte, New Caledonia and French Polynesia — go through e-reporting instead.
Workflow
A single template covers both French flows and picks between them automatically from the result of the Lookup in Directory step.- found result means the customer is subject to e-invoicing, so Invopop records the document in the Annuaire, forwards it to the PPF, and sends it over Peppol.
- not found result means the transaction falls outside domestic e-invoicing — international B2B, B2C, or a customer in a territory excluded from the mandate — so it is recorded for e-reporting. For those, the Can Send action checks whether the customer is reachable on the Peppol network: if it is (a Belgian party, for example), the workflow sends the invoice over Peppol as well.
Chargebee France
- Workflow
- Code
Customer routing & identifiers
A single SIREN registered in the Annuaire can have several directory entries, registered under the same or different Plateformes Agréées. Each entry has a unique identifier — mapped to the Peppol inbox — in one of theSIREN, SIREN_SIRET, SIREN_SIRET_suffix or SIREN_suffix forms. When no Peppol inbox is set on the customer, Invopop defaults to 0225:SIREN, ignoring any SIRET present in the customer’s identities.
Use the custom fields below to control this. Set the Peppol inbox to target a specific directory entry, or provide the customer’s SIREN and SIRET so the directory lookup can resolve them. All three are configured as Single line text custom fields (or as metadata, using the hyphenated key):
E-reporting transaction fields
The e-reporting path applies thefr-ctc-flow10-v1 addon, which defines two invoice tax extensions. By default, the addon sets the billing mode to M1 — or M2 when the invoice is fully paid — and the B2C transaction category to TNT1. Use the custom fields below to override these defaults:
cf_ prefix). If you prefer to use custom fields instead, replace hyphens with underscores and add the cf_ prefix. See Custom fields & metadata for details.FAQ
How do I configure my workspace for French invoicing?
How do I configure my workspace for French invoicing?
How can I view an XML attached to a PDF?
How can I view an XML attached to a PDF?
Attachments section in Adobe Acrobat Reader, or a tool like the SysTools PDF Extractor.Is Invopop ready for the September 2026 mandate?
Is Invopop ready for the September 2026 mandate?
What GOBL addons are required for France PA?
What GOBL addons are required for France PA?
peppol-bis-v3. The forthcoming fr-ctc-flow10-v1 addon covers e-reporting payloads — separate from the e-invoicing flow.Is a self-billed invoice a different document type in France?
Is a self-billed invoice a different document type in France?
untdid-document-type extension set to 389. In GOBL you never set the code yourself: add the self-billed tag and the fr-ctc-flow2-v1 add-on applies it automatically. See Self-billing for the full flow.How many pops does a B2B e-invoice through France PA cost?
How many pops does a B2B e-invoice through France PA cost?
What should we do if the customer doesn't belong to the Peppol network?
What should we do if the customer doesn't belong to the Peppol network?
- 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?
How do I handle B2C invoices in Peppol?
- Add an If/Else step that checks for a customer inbox using
count(customer.inboxes, true) > 0. - On the
falsebranch, generate a PDF and email it to the customer, then stop the flow.
How do I handle 'Receiver Not Found' errors?
How do I handle 'Receiver Not Found' errors?
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?
Should I set the `$regime` field when using Peppol?
Where do I find Peppol GOBL documentation?
Where do I find Peppol GOBL documentation?
eu-en16931-v2017 addon for the field and validation rules Peppol BIS Billing 3.0 builds on, and the Peppol app reference for supported document types and Participant ID schemes.