Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.invopop.com/llms.txt

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.

Formats

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.
FormatNotes
UBLPeppol France CIUS — recommended default. Native Peppol format with the widest receiver support.
CIIUN/CEFACT XML, semantically equivalent to UBL. Common in cross-border and industrial contexts.
Factur-XHybrid 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.

Sending

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.

How it works

1

Set State → processing

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 200 déposée status, to the PPF.
8

Set State → completed

Marks the full e-invoicing flow — Peppol delivery and PPF reporting — as complete.

Workflow code

France PA send invoice workflow

Records and sends a France-compliant invoice via Peppol and the PPF.

Receiving

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 it works

1

Import Peppol Document

Pulls the inbound payload from Peppol and branches on the detected format:
  • UBLImport UBL Document converts the UBL XML to GOBL.
  • CIIImport UN/CEFACT CII Document converts the CII XML to GOBL.
  • PDFImport PDF (Factur-X) extracts the embedded CII and converts it to GOBL.
2

Set Folder → expenses

Files the invoice under the Invoices · Expenses folder so it lands in the right place for accounting workflows.
3

Record Invoice

Validates SIRENs, resolves your registered party as the customer (or supplier in self-billing flows), and guards against duplicate processing.
4

Set State → registered

Marks the incoming invoice as successfully received.

Workflow code

France PA receive invoice workflow

Imports an incoming Peppol invoice (UBL, CII, or Factur-X) and records it.