The French e-invoicing reform is coming, and the question everyone asks is the wrong one. Not “which format?”, not “which platform?”, but whether your software already produces a clean electronic invoice, edge cases included.
A 30-second recap. Every VAT-registered business in France is concerned, down to the smallest ones. Receiving becomes mandatory in September 2026, and issuing follows in September 2027 for small and mid-sized companies, as early as 2026 for large and intermediate-sized ones. A non-compliant invoice is a flow rejected at the door, which means late payment, a penalty, and direct pressure on cash.
Generating a Factur-X file is a few lines of code. The real work sits elsewhere: credit notes that have to reference the right invoice, SIREN, SIRET, VAT and IBAN validators, reconciliation with the business side, plugging into a certified platform or Chorus Pro. That is where most existing chains stall, because paper used to let through everything that structured XML refuses.
This is why I wrote einvoicing and einvoicing-connect, two open source gems published on RubyGems and already running in production. EN 16931 compliant Factur-X PDF/A-3 generation, validators included, a Chorus Pro and PPF client ready to wire up, with no third-party SaaS and no external dependency. Fitting them into an existing Rails system takes a few days.
To find out where you stand, I put together a dedicated page with a 30-minute assessment. I look at your stack, your volumes and your target platform, and you leave with a concrete integration plan and a firm quote.
And to check whether a PDF is already compliant, a Factur-X validator is freely available, fully local analysis, nothing uploaded.