Status codes
Status codes correspond to a lifecycle event that is modeled as a GOBL document that matches its purpose. Payment events 211 and 212 are GOBL bill/payment documents. Other codes are invoice lifecycle events bill/status. Thefr-ctc-flow6-v1 addon maps each document to its CDV ProcessConditionCode. You set the GOBL fields, not the code.
Issued by the platform
Emitted automatically by Invopop as the Plateforme Agréée — you never build or send these.Issued by the buyer
Issued by the supplier
Invoice lifecycle
After an invoice is issued it moves through a sequence of lifecycle events. Each event is a GOBL status or GOBL payment that references the invoice and carries one CDVProcessConditionCode. For the full list of codes see Status codes.
The paths below are common examples, not an exhaustive set: any code can in principle follow another (e.g. a 205 approval can still be followed by a 210 refusal). The typical sequences are:
Workflows
Building a status
You never set the CDV code directly — you build the GOBL document and thefr-ctc-flow6-v1 addon derives it.
Start from the schema and let the document type plus the line key select the code. Each example shows its type and key pair. In this example, response + accepted derives 205.
supplier and customer as on the invoice, whichever direction the event travels, and point the line’s doc at the invoice’s full number and issue date. The platform resolves the invoice by supplier SIREN + number + year and links the two in the console’s Related tab.
key: rejected covers three outcomes:
- 210 Refused (default).
- 207 Disputed.
- 206 Partially approved.
fr-ctc-flow6-status extension:
type alone derives the code and the payment methods carry the amount, while the invoice reference sits in the line’s document field. Codes for each payment direction are derived and there’s no need to swap parties.
Reasons, faults and actions
Codes 206, 207, 208 and 210 must carry at least onereason on the line. The reason says why, the faults say which field, and the actions say what the supplier should do next.
MAJ, with the corrected value in message. See the 209 example.
Available reasons for codes
206 — Partiellement approuvée (Partially Approved)
206 — Partiellement approuvée (Partially Approved)
207 — En litige (Disputed)
207 — En litige (Disputed)
208 — Suspendue (Suspended)
208 — Suspendue (Suspended)
210 — Refusée (Refused by buyer)
210 — Refusée (Refused by buyer)
Examples
One example per code you build, each referencing the same invoice (INV-2026-0042, supplier SIREN 698680774). Every example pairs the Minimal hand-authored GOBL input with the Built version produced by gobl build — which adds the derived fields (the fr-ctc-flow6-* extensions, party roles, ISO scheme ids and endpoints). The interesting detail is on the dispute / partial / refusal codes: their reason carries faults (the exact field, its actual vs expected value, and the XML path) plus an action telling the issuer what to do next. The plain acknowledgements (201–205) carry no reason — the code itself is the message.
201 — Émise par la plateforme (Issued by platform)
201 — Émise par la plateforme (Issued by platform)
bill.Status · type: response · line key: issued. A plain acknowledgement — no reason or action.202 — Reçue par la PA (Received)
202 — Reçue par la PA (Received)
bill.Status · type: response · line key: acknowledged. A plain acknowledgement.203 — Mise à disposition (Made available)
203 — Mise à disposition (Made available)
bill.Status · type: response · line key: other. A plain acknowledgement.204 — Prise en charge (Taken into account)
204 — Prise en charge (Taken into account)
bill.Status · type: response · line key: processing. A plain acknowledgement.205 — Approuvée (Approved)
205 — Approuvée (Approved)
bill.Status · type: response · line key: accepted. A plain acknowledgement — the invoice is fully approved.206 — Approuvée partiellement (Partially approved)
206 — Approuvée partiellement (Partially approved)
bill.Status · type: response · line key: rejected + pinned ext 206. The reason faults show the invoiced vs approved quantity; the action requests a partial credit note (credit-partial → CNP).207 — En litige (In dispute)
207 — En litige (In dispute)
bill.Status · type: response · line key: rejected + pinned ext 207. The reason faults pinpoint the disputed field — actual VAT rate (DIV) vs expected (DVA) and its XML path; the action requests a full credit note (credit-full → CNF).208 — Suspendue (Suspended)
208 — Suspendue (Suspended)
bill.Status · type: response · line key: querying. The reason names what is missing (order reference); the action asks the supplier to provide it (provide → PIN).209 — Complétée (Completed)
209 — Complétée (Completed)
bill.Status · type: update · line key: other. Issued by the supplier to lift a suspension raised over bank details: a finance-terms reason (condition CBB, coordonnées bancaires à modifier) whose fault supplies the corrected IBAN — code MAJ (the value to apply), the IBAN in the message, and the paths pointing at the invoice’s IBAN field (BT-84).210 — Refusée (Refused by buyer)
210 — Refusée (Refused by buyer)
bill.Status · type: response · line key: rejected. The reason faults pinpoint the failing field; the action asks for a corrected reissue (reissue → NIN).211 — Paiement transmis (Payment advice)
211 — Paiement transmis (Payment advice)
bill.Payment · type: advice. Issued by the buyer (payer); the methods carry the amount and the value_date the payment date. Because it is payer-issued, the built version inverts the CDV roles — BY on the supplier and SE on the customer (you still place the seller in supplier and the buyer in customer, direction is automatic).212 — Encaissée (Payment receipt)
212 — Encaissée (Payment receipt)
bill.Payment · type: receipt. Issued by the supplier (payee); the methods carry the amount received.Reading submitted statuses
The France dashboard’s E-Invoicing Flow 6 tab lists every lifecycle status sent or received by the workspace, newest first. In the Console, open the Apps view, select the France app, and switch to the E-Invoicing Flow 6 tab. Each row shows the referenced Invoice code and Invoice year, the CDAR Code (for example 205 Approved), the Silo entry that holds the status document, the Owner SIREN, the invoice’s Supplier SIREN, the Role (Sender when you issued the status, Receiver when it arrived from the counterparty’s PA), the PPF status of the mandatory forward (same vocabulary as the invoicing guide), the Issue date, and the Invoice ID this status was recorded against. The PPF status only applies to the mandatory status codes — 200 Déposée, 210 Refusée, and 212 Encaissée, the only ones forwarded to the PPF. All other codes are exchanged between PAs over Peppol only, so their PPF status stays at Ready.FAQ
How do I schedule periodic reports for France?
How do I schedule periodic reports for France?
What format does France expect for periodic reports?
What format does France expect for periodic reports?
fr-ctc-flow10-v1 GOBL addon.How often must I submit France PA reports?
How often must I submit France PA reports?
What format does France PA expect for periodic reports?
What format does France PA expect for periodic reports?
🇫🇷 Invopop resources for France
🇫🇷 Invopop resources for France