WordPress.org

Plugin Directory

OuiFacture – Facture électronique Factur-X for WooCommerce

OuiFacture – Facture électronique Factur-X for WooCommerce

Description

OuiFacture turns your WooCommerce store into a compliant French electronic invoicing machine. Every order automatically gets a legally compliant PDF invoice with an embedded Factur-X XML file (PDF/A-3, profile EN 16931) — the format required by the French e-invoicing reform (réforme de la facturation électronique, échéances 2026–2027).

Automatic. On every order.

Features

  • Automatic generation of a Factur-X invoice when the order reaches the status you choose (processing — the default — or completed) — no clicks needed. An order that jumps straight to completed is invoiced then; each order is invoiced exactly once.
  • PDF/A-3 with embedded EN 16931 CII XML, validated against the official Factur-X XSD schemas at generation time.
  • French legal invoice layout: seller block (raison sociale, forme juridique, capital, RCS, SIRET, TVA), buyer block, line items HT, VAT breakdown by rate, totals HT/TVA/TTC, payment terms, and the mandatory legal mentions (pénalités de retard, indemnité forfaitaire de 40 €, escompte).
  • Gap-free sequential numbering (prefix + year + counter, optional yearly reset) — race-safe, numbers are immutable once issued, regeneration never changes the number.
  • B2B checkout fields: optional SIRET and intra-community VAT number on the classic checkout, validated (Luhn / FR VAT key) and shown in the admin order screen and in the XML.
  • Customer access: download link in My Account Orders, on the order-received page, and optional PDF attachment to the “order completed” email.
  • Admin control: metabox on every order with Generate / Regenerate / Download.
  • Secure storage: invoices live in a protected uploads folder with unguessable file names and are only served through authenticated endpoints.
  • HPOS compatible (High-Performance Order Storage).
  • No external calls, no tracking: everything is generated locally on your server.

Compliance notes

  • Invoices embed the CII XML at the EN 16931 profile of Factur-X 1.x, validated against the official XSDs before the PDF is written.
  • Invoice numbers are sequential and gap-free; a number is only consumed once the invoice files have been written successfully.
  • On uninstall, the plugin removes its settings but keeps generated invoices: French law requires you to retain them for 10 years.

Limitations of this version

  • The SIRET/VAT checkout fields are only added to the classic (shortcode) checkout. Stores using the block-based checkout still get automatic invoices, but the two B2B fields are not shown there yet — block checkout support is planned.
  • Refunds do not produce credit notes (avoirs); the original invoice is kept unchanged, as required (an issued invoice is immutable).
  • One VAT category per order line (standard/zero). Margin schemes, VAT exemption reasons and non-EUR specifics beyond currency code pass-through are not handled.
  • PDF/A-3 conversion covers embedded file relationships, XMP metadata and output intents as produced by the bundled Factur-X writer; full ISO 19005-3 conformance of exotic source PDFs is not re-verified at runtime.

Screenshots

Installation

  1. Upload the plugin to /wp-content/plugins/ or install it through the WordPress plugin screen.
  2. Activate it (WooCommerce must be active).
  3. Go to WooCommerce OuiFacture and fill in your seller identity (raison sociale, SIRET, n° TVA, adresse…). These appear on every invoice.
  4. Choose the trigger status (default: processing). Done — invoices now generate automatically.

FAQ

Is this the format required by the French reform?

The plugin produces Factur-X PDF/A-3 invoices with an embedded EN 16931 CII XML — the mixed format retained by the French reform. Transmission through a Plateforme de Dématérialisation Partenaire (PDP) is not included in this version.

Where are my invoices stored?

In wp-content/uploads/ouifacture/, protected by an .htaccess deny rule and random file names. Downloads always go through authenticated endpoints. Note: the .htaccess rule only applies to Apache/LiteSpeed servers — on nginx, add a location deny rule for that folder to your server configuration (file names remain unguessable either way).

Can I regenerate an invoice?

Yes, from the order screen. The invoice number and date never change on regeneration (a French invoice number is immutable); only the document content is rebuilt.

Reviews

There are no reviews for this plugin.

Contributors & Developers

“OuiFacture – Facture électronique Factur-X for WooCommerce” is open source software. The following people have contributed to this plugin.

Contributors

Changelog

1.0.2

  • Translations are now served through translate.wordpress.org: the bundled .po/.mo files are no longer packaged and the obsolete load_plugin_textdomain() call has been removed (not needed since WordPress 4.6).
  • Housekeeping following the plugin review; no change to invoice generation, numbering or output.

1.0.1

  • Plugin display name now ends in “for WooCommerce” (WordPress.org trademark guidelines).
  • The default generation trigger is now processing (was completed): invoices are issued as soon as payment is received. Orders that skip straight to completed are still invoiced there, exactly once per order.
  • French translation updated.

1.0.0

  • Initial release: automatic Factur-X (EN 16931) generation, gap-free numbering, B2B checkout fields, customer downloads, email attachment, HPOS support, French translation.