Receiving electronic invoices (obligation from 1 September 2026)
Status as of 26/07/2026: scope delivered and operational — Factur-X/CII/UBL extraction (Epic 5, Epic 6), XSD validation + official FNFE-MPE schematron (Epic 3), generation and conversion (Epic 1, Epic 6).
What the reform says
Since 1 September 2026, all French companies liable for VAT — regardless of their size — must be able to receive structured electronic invoices.
These invoices must obligatorily transit through a plateforme agréée (the legally defined term for France's government-accredited invoicing platforms; PA for short). Terminology: the term "partner dematerialization platform" was the former designation (an acronym now legally obsolete); since the 2026 finance law (article 123, in force as of 21/02/2026), the legal term entered into article 289 bis of the CGI (French tax code) is "plateforme agréée". "Dematerialization operators" (OD) have become "compatible solutions" (SC).
The public invoicing portal (PPF) is no longer a free deposit platform: since the 15 October 2024 ruling, it is limited to a recipient directory and a data hub for the tax administration.
What Heartwood covers today
Receiving an invoice is above all about reading it and checking that it complies — two operations that require no plateforme agréée status at all, and that Heartwood performs:
- Extraction of a received document to normalized JSON
(
POST /v1/extract) — accepts a Factur-X (PDF/A-3), a raw CII or a UBL, detects the format automatically. See extraction examples. - Validation of a received document (
POST /v1/validate) — XSD and official FNFE-MPE schematron (realBR-*rules), for the EN 16931 and EXTENDED-CTC-FR profiles, in both CII and UBL. Each violation is cited with its official rule code, allowing precise feedback to the issuing supplier. See validation report. - Conversion CII ↔ UBL (
POST /v1/convert) — useful if your internal system can only read one of the two serializations.
What Heartwood does not do
- Transmission. Heartwood is not a plateforme agréée and will not become one: it neither deposits nor routes any invoice. Connecting to a PA remains indispensable and separate.
- Probative-value archiving, status lifecycle management, e-reporting: within the scope of plateformes agréées.
How this fits with your plateforme agréée
Your PA delivers received invoices to you. Depending on your situation:
- It already provides you a usable JSON → Heartwood mainly serves you to check (independent validation citing the official rules) before integration into accounting.
- It delivers the raw file (Factur-X, CII, UBL) → Heartwood extracts it to normalized JSON, whatever the format, without you having to implement three parsers.
- You process invoices outside the PA circuit (foreign supplier, document transmitted directly, historical backfill) → Heartwood reads and validates them the same way.
Accepted profiles and formats
The French minimum core standard rests on three formats — Factur-X, UBL, CII — all serializations of the European standard EN 16931, and on two profiles: EN 16931 and EXTENDED-CTC-FR (AFNOR standard XP Z12-012, version 1.4.0 of 30/06/2026). Heartwood validates against the official rule packs of these two profiles.