Description
The French electronic invoicing reform sets two deadlines:
- 1 September 2026 — every VAT-registered French business must be able to receive an electronic invoice.
- 1 September 2027 — small and medium businesses must issue their invoices electronically and report their consumer sales to the tax administration.
Between businesses, a PDF sent by email will no longer be enough. A structured, machine-readable file is required so that the customer’s accounting software can pick up the amounts without retyping them.
This plugin produces that file from your WooCommerce orders.
What the plugin does
- Generates, for every paid order, the CII / EN 16931 XML, Factur-X BASIC profile
- Adds SIRET and EU VAT number fields to the checkout, shown only to business customers
- Validates the SIRET check digit, so a typo is caught in front of the customer instead of at invoice rejection time
- Applies continuous, gap-free numbering, as required by article 242 nonies A of annex II of the French tax code
- Exports the consumer sales summary, aggregated by day and VAT rate, for e-reporting
- Handles the VAT exemption scheme (article 293 B of the French tax code)
- Stores files in a protected directory, unreachable from the web
What the plugin does NOT do
Better said upfront than letting you believe you are compliant when you are only halfway there:
- It generates the XML, not the PDF/A-3. A complete Factur-X file is a PDF with that XML embedded in it. Here the XML is produced, validated and downloadable; embedding it into the PDF is planned for a later version.
- It does not transmit anything to a certified platform. Filing with a dematerialisation platform remains your responsibility.
- It does not replace your accountant, and it is not legal or tax advice.
No dependencies
The plugin bundles no third-party library. Plugins that ship their own copy of Dompdf, FPDI or an XML engine are the number one cause of conflicts between WordPress plugins. There is nothing here to break.
Compatibility
Compatible with High-Performance Order Storage (HPOS).
Language
The plugin interface and the generated documents are in French, since the reform it implements is French. The plugin is fully translation-ready.
Installation
- Install and activate the plugin. WooCommerce must be active.
- Go to WooCommerce Facturation électronique.
- Fill in your company name, SIRET, address and VAT scheme.
- That is all: the XML is generated automatically as soon as an order is paid.
The XML for each order can be downloaded from the order screen.
FAQ
-
Will my consumer customers see the SIRET field?
-
No. The field only appears when the customer states they are ordering on behalf of a business.
-
What happens if my SIRET is wrong?
-
The plugin refuses to issue and tells you exactly what is missing or invalid, rather than producing a file the recipient will reject.
-
Am I concerned if I only sell to consumers?
-
Yes, but differently. You will have no electronic invoice to issue, but from 1 September 2027 you will have to report your sales to the tax administration (e-reporting). The export designed for this is included.
-
Can I continue my existing invoice numbering?
-
Yes. You set the next number to use in the settings, and the series continues from there without a gap.
-
Does the plugin modify my existing orders?
-
No. It acts on orders paid after activation. An order that has already been invoiced is never renumbered.
-
Where are the files stored?
-
In a subdirectory of the uploads folder, protected by an .htaccess file and an empty index, so it is neither listable nor directly downloadable.
Reviews
There are no reviews for this plugin.
Contributors & Developers
“Wioxpro EN 16931 Invoicing for WooCommerce” is open source software. The following people have contributed to this plugin.
ContributorsTranslate “Wioxpro EN 16931 Invoicing for WooCommerce” into your language.
Interested in development?
Browse the code, check out the SVN repository, or subscribe to the development log by RSS.
Changelog
1.0.0
- First public release.
- CII / EN 16931 XML generation, Factur-X BASIC profile, on every paid order.
- SIRET and VAT fields at checkout, with SIRET check digit validation.
- Continuous legal numbering, reserved through an atomic increment.
- CSV export of the e-reporting summary.
- HPOS compatibility declared.