Skip to content

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 extract to book them and validate to 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)