France PPF Mandate
France E-Invoicing 2026–2027 on Odoo (PPF + Facturx)
France's e-invoicing mandate finally lands: B2B e-invoicing through the Portail Public de Facturation (PPF) is mandatory for receiving from 1 September 2026 and for issuing in phased waves through 2027. Every French taxable business will be in scope. Odoo handles the mandate end-to-end — Factur-X (or pure XML UBL) generation, PPF routing direct or via a Partner Dematerialisation Platform (PDP), and the parallel B2B e-reporting requirement for transaction data.
Last reviewed:
What it is
France's e-invoicing reform, finalised after multiple postponements, mandates B2B e-invoicing for all French taxable businesses. Receiving capability mandatory from 1 September 2026 — every French taxable business must be able to receive e-invoices. Issuing capability rolls out in waves: large enterprises first, then mid-sized, then SMEs through 2027. Two compliant pathways: (1) submit directly via the Portail Public de Facturation (PPF), the state-operated portal; (2) submit via a Partner Dematerialisation Platform (PDP), a private accredited service provider. Parallel requirement: e-reporting of transaction data (for B2C, intra-Community, and non-PPF-eligible transactions) directly to DGFiP.
Why it matters
Non-compliance with the French e-invoicing mandate carries penalties starting at EUR 15 per invoice not issued correctly (capped at EUR 15,000 per year per offence), plus VAT recovery risks if invoices are rejected by the PPF/PDP. For multi-country European groups, France joins Italy (FatturaPA, live since 2019), and the broader EU's ViDA (VAT in the Digital Age) trajectory — businesses that get France right on day one are also building the foundation for ViDA compliance later. Native Odoo e-invoicing handles France alongside other EU regimes on one platform.
Features
-
Factur-X (hybrid PDF + XML) generation
Factur-X — the French/German hybrid format combining human-readable PDF with structured XML data embedded — generated natively. Customers receive a familiar PDF; the PPF/PDP parses the embedded XML for processing.
-
Pure UBL (Universal Business Language) XML
Pure UBL 2.1 XML in EN 16931-aligned format also supported for buyers / PDPs that prefer it. Configurable per customer or per transaction type.
-
PPF direct submission
Direct submission to the Portail Public de Facturation (PPF) — France's state-operated invoicing platform. Receipt status, validation, rejections tracked inline. Free of charge from the government.
-
PDP routing
Routing through a Partner Dematerialisation Platform (PDP) — private accredited service providers. Useful for businesses with multi-country EU operations who want a single PDP across France + Italy + other ViDA-bound regimes.
-
E-reporting for transactions outside scope
Transactions outside the B2B-domestic PPF scope — B2C, intra-Community supplies, exports — require e-reporting (transaction data submission) to DGFiP. Odoo handles this in parallel with PPF submission, with the same data model.
-
Status tracking and reconciliation
Each invoice's lifecycle tracked: submitted, validated, accepted by buyer, rejected, paid. Status changes synchronised back into Odoo for finance team visibility.
-
Group structure support
Multi-entity French groups (parent + subsidiaries) handled in one Odoo instance. Each French entity submits through its own PPF / PDP relationship as appropriate. Inter-company invoicing follows the same rules as third-party.
-
10-year archive
Statutory 10-year archive retention with searchable retrieval. Documents retrievable on DGFiP audit request with all submission receipts intact.
-
Multi-country EU compliance
France alongside Italy FatturaPA, Spain Verifactu, Belgium Peppol BIS, Poland KSeF, and the broader ViDA roadmap — all handled in one Odoo instance with the right localisation per entity.
How it works
-
Mandate scope assessment
We confirm which of your entities are in scope for which mandate phase (receiving from Sept 2026; issuing per wave through 2027 based on enterprise size). Output: written rollout roadmap.
-
PPF or PDP decision
Decision on whether to submit directly via the free PPF or via a paid PDP. Trade-offs: PPF is free but minimum-features; PDPs offer features (multi-format support, advanced analytics, ViDA-readiness for other countries) at a per-invoice or per-month price. We recommend based on your specific operational needs.
-
Odoo configuration
French localisation activated. Tax codes, customer master data validation (SIREN/SIRET formats, VAT numbers), invoice templates (bilingual French primary), PPF/PDP API endpoints. Factur-X PDF templates designed.
-
Sandbox testing
End-to-end test invoices submitted to PPF or PDP sandbox. Factur-X and UBL formats validated. Credit notes, amendments, edge cases exercised.
-
Production go-live
Switch from sandbox to production at the mandate effective date for your wave. First 30 days: monitoring on every submission, daily status report on validation rates and rejections.
-
E-reporting parallel implementation
For businesses with B2C, intra-Community, or international transactions: the e-reporting submission to DGFiP runs in parallel with PPF/PDP submission. Same Odoo source data, different routing.
Deployment timeline
Single-entity French business: 4–6 weeks from green light. Multi-entity French groups: 6–10 weeks. PDP-routed setups are slightly faster than direct PPF (PDPs handle more of the integration complexity). Existing Odoo France customers: 2–4 weeks to layer e-invoicing onto the existing setup.
Best for
Every French taxable business with a SIREN number. Particularly: B2B operators currently issuing paper or PDF-only invoices to French customers; multi-entity French groups with intra-group invoicing; multinational groups with French subsidiaries managing PPF alongside Italy FatturaPA, Spain Verifactu, etc.; businesses approaching the wave-1 issuing mandate (large enterprises from 1 Sept 2026) where readiness matters most.
Frequently asked questions
-
What's the exact timeline for the French e-invoicing mandate?
Receiving capability: mandatory for all French taxable businesses from 1 September 2026. Issuing capability rolls out in waves: large enterprises (over 5,000 employees / EUR 1.5B turnover / EUR 2B balance sheet) from 1 September 2026; mid-sized enterprises from 1 September 2027; SMEs and micro-enterprises in subsequent phases through 2027. The dates were confirmed after multiple postponements; we update guidance as France's DGFiP publishes finalisations.
-
What's the difference between PPF and PDP?
PPF (Portail Public de Facturation) is the state-operated, free-of-charge platform. PDP (Partner Dematerialisation Platform) is a private, accredited service provider that you pay (typically per-invoice or per-month). PDPs offer richer features — multi-format support, multi-country routing, advanced analytics, integration depth — that can justify the cost for higher-volume or multi-country businesses. Smaller businesses with simple flows often start on PPF.
-
What format is required — Factur-X or pure XML?
Both are acceptable. Factur-X (hybrid PDF + embedded XML) is convenient for customers who want a human-readable invoice with structured data. Pure UBL 2.1 XML (EN 16931-aligned) is preferred by some PDPs and by buyers with high-volume automation. Odoo generates both; you can configure per customer or per transaction type.
-
What about B2C transactions?
B2C invoicing is not covered by the PPF (it's B2B-only). Instead, B2C transaction data must be submitted as e-reporting directly to DGFiP. Odoo handles this in parallel with PPF for B2B — same source data, different routing.
-
What about intra-Community supplies and exports?
Also covered by e-reporting (not PPF). Intra-Community supplies to other EU buyers, exports outside the EU, and other non-PPF-eligible categories submit transaction data to DGFiP via the e-reporting mechanism. Odoo's e-reporting workflow handles this from the same Odoo data.
-
What happens if an invoice is rejected by PPF / PDP?
Rejection responses are captured in Odoo with the specific error code attached. Typical rejections: invalid SIREN/SIRET, mismatched TVA number, malformed addresses, missing mandatory fields. Most rejections are validation issues fixable in seconds; persistent ones get triaged to the appropriate team. Auto-retry handles transient platform outages.
-
Can we keep our existing customer-facing invoice template?
Yes — the customer-facing PDF (in Factur-X) can retain your existing visual design, with the embedded XML being the format-compliant part the PPF/PDP parses. Customers don't see XML; your finance team and the PDP/PPF do. We rebuild the existing template as a Factur-X-compatible PDF during implementation.
-
What about credit notes and invoice corrections?
Credit notes (full and partial) generated as separate Factur-X / UBL documents with reference to the original invoice. Invoice corrections handled per DGFiP guidance — typically credit-note-plus-replacement-invoice. The workflow is built into the French localisation.
-
How does France e-invoicing compare to Italy FatturaPA?
Italy is more mature (live since 2019) with its own SDI portal and 100% B2B coverage already. France is implementing a similar concept (state-operated platform plus accredited intermediaries) but with the PPF/PDP optionality, the parallel e-reporting requirement, and the wave-based rollout. Both regimes generate UBL-based XML and aim at the same EU ViDA direction. Multi-country EU groups on Odoo handle both.
-
Will this evolve into EU ViDA compliance?
France's mandate is one of the EU member-state implementations of the broader ViDA (VAT in the Digital Age) trajectory. ViDA pushes toward standardised digital reporting across the EU. France's PPF-based model and Italy's FatturaPA are already moving in this direction. Investing in proper e-invoicing now is also investing in ViDA-readiness.
-
What's the implementation cost?
Single-entity France: EUR 8,000–18,000 (USD 8,700–19,600) fixed-price. Multi-entity French groups: EUR 18,000–45,000 (USD 19,600–49,000). PDP fees are separate (typically EUR 50–200/month per entity or per-invoice fee depending on PDP and volume). For existing Odoo France customers, layering e-invoicing onto existing setup is cheaper.
-
We're a non-French parent with a French subsidiary. Does this apply?
Yes — the mandate applies to the French entity regardless of parent geography. We frequently deploy Odoo (or layer France compliance onto an existing global Odoo instance) for the French subsidiary while group HQ runs different systems. France PPF works independently of HQ ERP choice.