If you build invoicing or ERP software with French customers, this post gives you where the French reform stands after its first month, what changes on 1 September 2027 when SMEs and micro-enterprises must start issuing e-invoices, the four new mandatory mentions, how the official guide says to handle rejected and refused invoices, the penalties, and a checklist.
Where France stands
The reform went live on 1 September 2026: every VAT-registered business in France must be able to receive e-invoices through an approved platform (plateforme agréée), and large companies and mid-caps (ETI) must issue them and send e-reporting data.
At the first follow-up committee on 8 October 2026 the government gave these figures as of 4 October: 75% of businesses filing VAT had chosen a receiving platform, and more than 20 million invoices worth over EUR 70 billion had been exchanged. Business organisations raised the cost and readability of platform offers, switching platforms, adapting software and the needs of the smallest firms. Large companies pointed to interoperability problems between some solutions and to lifecycle statuses not being passed on correctly. The minister confirmed that no business will be fined before the end of 2026, and the starting guide is being updated.
Timeline
| Date | What happens |
|---|---|
| 1 Sep 2026 | All businesses receive via an approved platform; large companies and ETI issue and e-report |
| Until 31 Dec 2026 | No fines (the obligation itself is not postponed) |
| 1 Sep 2027 | SMEs, very small businesses and micro-enterprises issue; e-reporting ramps up; line description, quantity and unit price join the transmitted data |
What a French e-invoice has to be
- A structured format: UBL, CII, or Factur-X (structured data plus a readable image). The common minimum every platform supports is AFNOR XP Z12-012; platform APIs are XP Z12-013, B2B use cases XP Z12-014.
- Sent through an approved platform. A PDF by e-mail is not an e-invoice under the reform.
- Four new mentions: the client's SIREN (when the client is a business), the delivery address if different, the nature of the operations (goods, services or both), and "Option pour le paiement de la taxe d'après les débits" when the supplier opted to pay VAT on debits.
Rejected is not refused
The official starting guide separates the cases your software has to handle:
- Rejected by a platform: format error, missing or inconsistent mandatory data, wrong party, routing problem. Fix the file and send it again electronically; keep the file, the message, the cause and the correction.
- Refused by the buyer: a lifecycle status that must give a reason and may only be used for the reasons the standard allows, not for a commercial dispute. If you re-issue, use a new invoice number.
- Recipient not found in the directory: check SIREN, SIRET, establishment and name, then ask your platform, then the client. An e-mailed copy is a continuity measure, not a new invoice.
- Duplicates: re-sending must never cause double payment, booking or VAT deduction; mark copies and link them to the original.
Penalties (2026 finance law)
- EUR 50 per invoice not issued electronically, at most EUR 15,000 a year.
- EUR 500 per missing e-reporting transmission, at most EUR 15,000 a year per type.
- No receiving platform: formal notice, then EUR 500 after three months and EUR 1,000 for each further three months.
- A first offence fixed spontaneously or within 30 days of a request is not fined.
Checklist before 1 September 2027
- Connect to at least one approved platform's API for issuing and receiving; let customers switch platform without re-keying.
- Store the client's SIREN (and SIRET where used) and put supplier and client SIREN in the invoice's legal registration identifiers (BT-30 / BT-47, scheme 0002); check the field against your platform's XP Z12-012 profile.
- Add the four new mentions, including a separate delivery address and a goods/services/both flag.
- Make line description, quantity and unit price mandatory.
- Validate against EN 16931 before sending, then your platform's XP Z12-012 rules; show the rule and the field, not just "rejected".
- Store and show lifecycle statuses; re-send after a rejection, new number after a refusal.
- Prevent duplicates and keep the evidence the guide asks for.
Catching a missing client SIREN before the platform does
Disclosure: I build W System, an EU e-invoicing and counterparty-check API. It is not an approved French platform and does not transmit invoices in France. What it does help with here: validating your UBL, CII and Factur-X files against EN 16931, and, for French parties, flagging a missing supplier or client SIREN (with a suggested value from the FR VAT number) before you hand the file to your platform. You can try it in the free in-browser validator at wsystem.dev/e-invoice-validator. The full article, with a live API response and all official sources, is on wsystem.dev.
Not tax advice; re-check the official guide before you release.
Comments
Join the discussionNo comments yet. Be the first to comment.