Validate UBL invoices for France

UBL 2.1 is required for B2G in France. France is rolling out one of the most ambitious e-invoicing reforms in the EU.

Check a UBL invoiceChecking is free. The tool detects the profile itself.

At a glance

FormatUBL 2.1
StandardEN 16931
MandateB2G only
PeppolConnected

What we validate

UBL 2.1 XML schema validation
EN 16931 business rules
Namespace and element structure
Code list validation
Party and address structure
Tax calculation rules
Invoice line consistency

Common UBL rejections

UBL-CR-001Invalid XML syntaxUBL-CR-002Invalid namespaceUBL-SR-01Namespace declaration requiredUBL-SR-06Invalid date formatUBL-CR-005Empty element not allowed

France e-invoicing requirements

PhaseStatusScope
B2GLive (Jan 2020)All suppliers to public entities
B2B receivingSep 2026All businesses
B2B sendingSep 2027Large and mid-sized companies
Validation enginePPF (Portail Public de Facturation) + certified PDPs
Required CIUSFactur-X (French EN 16931 CIUS)
Routing identifierSIRET number (mandatory for routing)
PeppolYes — Peppol recognized as a delivery channel

France's B2B reform introduces a unique PDP-mediated architecture that affects how you design your integration.

UBL FAQ

What is UBL 2.1?
UBL (Universal Business Language) 2.1 is an open XML standard from OASIS. It defines 65 business document types, including the invoice and the credit note. Later UBL versions exist, but EN 16931 and Peppol BIS are built on UBL 2.1.
Is UBL the same as Peppol?
No. UBL is the document format; Peppol is the network. Peppol BIS Billing is built on UBL 2.1 with additional business rules.
Should I use UBL or CII for EN 16931?
Both are valid syntaxes for EN 16931. UBL is more common internationally (Peppol uses it), while CII is used in hybrid formats like ZUGFeRD and Factur-X.
What are the cbc: and cac: prefixes?
They are the conventional prefixes for two UBL namespaces: cbc (CommonBasicComponents) holds simple values, cac (CommonAggregateComponents) holds composite structures such as parties and addresses.
Which standards are built on UBL?
Peppol BIS Billing 3.0, XRechnung (UBL variant), A-NZ Peppol (Australia and New Zealand) and Singapore's InvoiceNow all use UBL 2.1 as their syntax. A generic UBL check covers the schema and EN 16931; format-specific rules need the format's own check.
Is checking free?
Checking is free. The first verified download every 30 days is free. After that €1.90 per invoice, or €9 a month for all of them. Checking needs no account. You only pay when a file has passed the check and you download it.
Do you fix my invoice automatically?
No. We never change amounts, line items or taxes. Where mandatory details are missing, you supply them, we enter them and check the file again. If the export from your invoicing system is structurally broken, you get the error report for your software support, free of charge.
Where is my file checked, and is it stored?
On our servers, not in your browser. Your file is used only to check and fix your invoice and to deliver your result. Results are kept so you can download a verified file again for 90 days; validation logs are deleted after 90 days. You can request deletion at any time.

Read on

About UBL →France e-invoicing guide →All validators →
Related