Account
English

Factur-X Validator

Drop a Factur-X PDF. The embedded factur-x.xml is extracted, the profile detected and the invoice validated.

Files are processed in memory and never stored.

Factur-X in France from 2026

Factur-X is the hybrid PDF + XML format at the heart of the French e-invoicing reform. From 1 September 2026 every business in scope must be able to receive e-invoices through a certified platform (PDP), and large and mid-size companies must issue them. Small businesses and micro-entrepreneurs follow on 1 September 2027. Factur-X is one of the three formats the reform accepts, next to UBL and CII.

The profiles MINIMUM and BASIC WL are allowed for a transition period only; a proper invoice for VAT purposes should be BASIC, EN 16931 or EXTENDED.

Factur-X profiles

ProfileContentUse
MINIMUMIdentifiers, totals, VAT total, no linesTransition only, not a complete invoice for VAT
BASIC WLHeader and VAT breakdown, no linesTransition only
BASICLines with simple structureSmallest compliant invoice under EN 16931
EN 16931 (COMFORT)Full EN 16931 semantic modelRecommended default for B2B
EXTENDEDEN 16931 plus extra elements (multiple deliveries, extended references)Industry needs; not all platforms accept it

The profile is read from GuidelineSpecifiedDocumentContextParameter/ID in the XML, for example urn:cen.eu:en16931:2017. The validator shows which profile it found and applies the rule set that belongs to it.

Chorus Pro and the PDP platforms

Invoices to the French public sector already go through Chorus Pro, which accepts Factur-X and validates the embedded XML on upload. The B2B reform adds the plateformes de dématérialisation partenaires (PDP): every company picks one, and the platform checks the file before it is forwarded to the buyer and to the tax administration. A Factur-X PDF that fails EN 16931 rules is rejected at that point and the supplier has to reissue it. Checking a sample from your invoicing software here before you connect it to a PDP saves that round trip.

Factur-X also carries the French-specific data the reform asks for, such as the SIREN of both parties and the invoice category (goods, services, mixed). The validator reports the values it finds in the parsed JSON so you can compare them with your records.

What the validator checks

Frequently asked questions

How do I see the XML inside a Factur-X PDF?

Drop the PDF here and open the XML tab: the embedded factur-x.xml is extracted and shown. In Adobe Reader it is also visible under the paperclip (attachments) panel; most other PDF viewers hide it.

What is the difference between Factur-X and ZUGFeRD?

None in the file itself: Factur-X 1.0.x and ZUGFeRD 2.x are the same specification, published jointly by FNFE-MPE and FeRD. The difference is the surrounding rules: French platforms and SIREN requirements on one side, German BR-DE rules on the other. The <a href="/zugferd-validator/">ZUGFeRD validator</a> page covers the German side.

Can I validate a UBL or CII invoice without a PDF?

Yes. The French reform also accepts pure UBL and CII XML. Drop the XML file and it is validated with the same EN 16931 rules.

Is this the official FNFE-MPE validator?

No. FNFE-MPE publishes its own validation service. This tool uses the EN 16931 schematron rules and the KoSIT implementation, which cover the same European business rules. French-specific extensions (CTC-FR) are not checked yet.

My Factur-X says MINIMUM profile. Is that a problem?

MINIMUM contains only totals and identifiers, not line items. It is not a complete invoice and will be rejected by many recipients. Ask the sender to switch to BASIC or EN 16931.

Developers: same engine as an API

curl -F file=@invoice.pdf https://einvoicechecker.com/v1/validate
curl -F file=@invoice.xml https://einvoicechecker.com/v1/parse
curl -F file=@invoice.xml "https://einvoicechecker.com/v1/render?lang=en" -o invoice.html