French e-invoicing reform FAQ¶
Practical answers for developers and finance teams. This is a technical summary, not tax advice; the reference texts are the LOI de finances 2024 (art. 91), the DGFiP external specifications and the AFNOR XP Z12-013 standard.
Dates¶
| Date | Obligation | Who |
|---|---|---|
| 1 Sept 2026 | Receive e-invoices through a Plateforme Agréée (PA) | Every VAT-registered business established in France |
| 1 Sept 2026 | Issue e-invoices and transmit e-reporting data | Large companies and mid-caps (ETI) |
| 1 Sept 2027 | Issue e-invoices and e-reporting | SMEs and micro-businesses, including micro-entrepreneurs under the VAT franchise |
Since 1 September 2026 a French B2B customer can therefore legitimately refuse a plain PDF from a large supplier, and from September 2027 from anyone.
What counts as an e-invoice¶
A structured file in one of the three formats of the "socle minimal", exchanged through the platforms:
- Factur-X (PDF/A-3 with an embedded CII XML), the format humans can still open. Profiles accepted: EN 16931, EXTENDED-CTC-FR (BASIC is not enough for the French mandatory fields).
- UBL 2.1 Invoice / CreditNote.
- CII (UN/CEFACT Cross Industry Invoice) XML on its own.
A PDF without XML, an e-mailed image or a Word file are not e-invoices. This API produces the first two and validates all three.
Mandatory data beyond EN 16931¶
The French rules (fr-ctc, rule ids BR-FR-*) add checks on top of the European norm. The ones that fail most often:
| Rule | What it checks | How to satisfy it here |
|---|---|---|
| BR-FR-01/02 | Invoice number: max 35 chars, letters, digits, . _ / - |
number |
| BR-FR-03/04 | Seller and buyer SIREN present (scheme 0002) | seller.siren, buyer.siren |
| BR-FR-05 | Late-payment penalties, EUR 40 recovery fee and early-payment discount mentions | Added automatically (french_mentions) |
| BR-FR-06 | Credit notes / corrections reference the preceding invoice | preceding_invoices |
| BR-FR-08 | SIRET consistent with SIREN | siret must start with siren |
| BR-FR-10 | Delivery address when different from the buyer's | delivery.address |
| BR-FR-12/13 | Business process code BT-23 (B1/S1/M1, B2/S2/M2) | operation_type, already_paid |
| BR-FR-14 | VAT on debits option mention when applicable | notes with the wording |
The API only returns files that pass the selected rule set (check=fr-ctc by default), so you learn about a problem as a 400 with the rule id and message instead of a rejection by the platform weeks later.
Franchise en base (micro-entrepreneurs)¶
Micro-entrepreneurs under the VAT franchise must issue e-invoices too (from September 2027) and receive them (from September 2026). Their invoices use VAT category E with the reason "TVA non applicable, art. 293 B du CGI" and VATEX code VATEX-FR-FRANCHISE. See the example on the Invoice fields page.
Transmission: what this API does not do¶
Issuing a compliant file is step one. Sending it to your customer goes through a Plateforme Agréée (formerly PDP) which routes it via the annuaire and reports to the DGFiP. This API is a format engine used before or after the platform:
- Your software builds the invoice JSON, calls
generate, then uploads the file to your PA (or to your customer's) via that platform's API. - Inbound: your PA delivers Factur-X / UBL / CII files, you call
extractto book them andvalidateto catch broken files.
This separation keeps the API cheap and vendor-neutral: it works with every PA.
Penalties¶
EUR 15 per invoice not issued electronically, capped at EUR 15,000 per calendar year; EUR 250 per e-reporting transmission missed, capped at EUR 15,000 per year. No penalty for a first offence within three years.
Germany, Belgium, the rest of the EU¶
EN 16931 is the shared base. Factur-X is byte-compatible with ZUGFeRD 2.x (Germany, mandatory reception since 2025), UBL 2.1 with the Peppol BIS Billing 3.0 used in Belgium and the Nordics (Peppol adds its own rule set), and the EU ViDA package generalises structured invoices for intra-EU B2B from 2030. Validate with check=base for non-French contexts.
Useful references¶
- DGFiP external specifications (spécifications externes) and the annuaire documentation on impots.gouv.fr
- FNFE-MPE: Factur-X specification and profiles
- CEN TC 434: EN 16931-1 (semantic model), 16931-3-2 (UBL), 16931-3-3 (CII)
- Chorus Pro for invoices to the French public sector (already mandatory since 2020)