FranceFactur-Xmandate10 min read · 2026-04-29

Factur-X for WooCommerce: How to Comply with France's September 2026 Mandate

France's B2B e-invoicing mandate goes live September 1, 2026 for large and mid-sized companies. This guide covers Factur-X 1.07, the PA platform model, profiles, validation, and the French legal fields WooCommerce stores need to configure.

From September 1, 2026, every large and mid-sized French business must issue B2B invoices in a structured electronic format — transmitted through an Accredited Platform (PA, formerly PDP). Factur-X is the format most French stores will use. This guide explains what Factur-X is, what the mandate actually requires, and how to generate compliant invoices from WooCommerce — practically, today.

What is Factur-X?

Factur-X is France's national standard for electronic invoicing. Like Germany's ZUGFeRD, it's a hybrid format: a single PDF/A-3 file that contains both a human-readable PDF rendering and a machine-readable XML attachment named factur-x.xml. Recipients without automated processing read the PDF; recipients with an ERP or finance system parse the embedded XML.

Factur-X is maintained by the FNFE-MPE consortium (Forum National de la Facture Électronique et des Marchés Publics Électroniques). It aligns with the European EN 16931 norm and is technically compatible with ZUGFeRD — both formats wrap CII (Cross Industry Invoice) XML in a PDF/A-3 envelope. A correctly-built EN 16931 file is valid as both a Factur-X and a ZUGFeRD invoice. The current version is 1.07 (May 2025), which is the version mandated for the 2026 rollout.

France's B2B e-invoicing mandate timeline

The mandate has been re-scheduled twice and faced a parliamentary challenge — but in April 2025 the National Assembly rejected a proposed one-year postponement. The dates are now firm:

For B2G (selling to public administrations), Chorus Pro continues to be the channel and has been mandatory for several years.

How transmission works: the PA platform

France does not allow direct B2B invoice transmission. Every invoice flows through an Accredited Platform — the Plateforme Agréée (PA), previously called PDP. The path is:

  1. Seller generates the Factur-X file.
  2. Seller's PA receives, validates, and forwards.
  3. Buyer's PA receives and delivers to the buyer.
  4. Both PAs report metadata to the French tax authority (DGFiP).

PAs are accredited by the DGFiP. The role of a tool like invoice9 is to generate a compliant Factur-X file — the merchant contracts a PA separately for transmission. This separation matters: a generation tool that doesn't produce a schematron-valid file will be rejected at the PA layer, no matter how good the PDF looks.

Factur-X profiles

Factur-X defines five conformance profiles, in increasing order of structured-data richness:

Choose EN 16931 unless you have a specific reason not to — it's the broadest interoperability profile and is what most French PAs accept by default.

Required French invoice fields

Beyond the EN 16931 baseline, French law requires a few specifics:

How WooCommerce stores generate Factur-X

A compliant Factur-X file requires three things, and most generic PDF-invoice plugins for WooCommerce only do the first:

  1. EN 16931-compliant CII XML with the right French CIUS fields.
  2. A PDF/A-3 wrapper — not a regular PDF. PDF/A-3 is a specific archival profile that allows arbitrary file attachments; standard PDFs will be rejected by the schematron.
  3. The XML embedded as a PDF/A-3 attachment named factur-x.xml with the correct AFRelationship (Alternative) and metadata.

invoice9 generates the CII XML, renders the PDF via Typst with a PDF/A-3 output profile, and embeds the XML with the correct metadata — all in one pipeline. The merchant sees a single Factur-X 1.07 file attached to the order email and downloadable from the customer's account page.

Validation: schematron rules

Factur-X validates against a layered schematron:

invoice9 validates every generated file before returning it. If a required field is missing or malformed, you get a structured error you can fix in your plugin settings — not a silent failure that the PA rejects three days later.

Common pitfalls

Getting started: a 6-step checklist

  1. Confirm your scope. Are you in the September 2026 wave (large
    • mid) or September 2027 wave (SMB)?
  2. Pick a plugin that generates Factur-X 1.07 natively — not all do. Ask specifically about PDF/A-3 wrapping and schematron validation.
  3. Configure your French legal data: SIRET, SIREN, VAT ID, tax regime, mention de TVA. invoice9 has a dedicated French settings panel.
  4. Generate a sample invoice and run it through a Factur-X schematron validator (FNFE-MPE publishes test tools).
  5. Contract a PA for transmission. The DGFiP maintains the official accredited list. invoice9 generates the file; the PA delivers it.
  6. Test end-to-end with a known buyer before the mandate date — most rejection issues surface only on the receiving end.

Frequently asked questions

Can a non-French B2B store use Factur-X?

Yes. Factur-X is a freely-usable format and is increasingly preferred for cross-border B2B invoicing into France. If you have French B2B customers, generating Factur-X for them (even when not mandated for your country) makes their accounting workflow easier.

Is plain PDF still allowed after September 2026?

Not for in-scope B2B transactions. Plain PDF is treated as unstructured and is no longer a compliant invoice for businesses in the mandate's scope.

What if I haven't contracted a PA yet?

You can't transmit. invoice9 will still generate a valid Factur-X file, but the actual delivery to the buyer goes through your PA. Contracting a PA early is the longest-lead-time item in the rollout.

What's the difference between Factur-X and ZUGFeRD?

Same family, different governance. Factur-X is governed by the French FNFE-MPE; ZUGFeRD by Germany's FeRD. Both wrap CII XML in PDF/A-3, both align with EN 16931, and a correctly-built EN 16931 file is technically valid under both.

How does Factur-X compare to PEPPOL?

Factur-X is a format (how the invoice is structured); PEPPOL is a network (how invoices are transmitted). France's PA framework runs alongside PEPPOL — some PAs use PEPPOL as underlying transport. The two are complementary, not competing.

I sell on both Shopify and WooCommerce. Do I need different setups?

invoice9 ships on both. The same template format and the same e-invoice library powers both stores, so a buyer who orders across channels gets visually identical, format-equivalent Factur-X invoices.

Try invoice9 for WooCommerce

Factur-X 1.07. ZUGFeRD 2.x. XRechnung. PEPPOL. Drag-drop template editor. EU-hosted (Frankfurt). From $5/month.

See plugin →