Validate an e-invoice online
Check an XML invoice or a Factur-X PDF against its schema, the official rules of its profile and, if you wish, the rules of France or Germany. Free, no account.
How to validate an e-invoice
Upload your invoice: an XML file (CII, UBL, XRechnung) or a Factur-X or ZUGFeRD PDF, up to 10 MB. Or try one of the samples.
Choose the rules of a country if you need them: France for the 2026 reform, Germany for the e-invoicing obligation. Or none.
Press Validate the invoice and read the report, layer by layer: each finding gives the rule, its message and where it is in the invoice.
What is checked
The schema of its format: UBL 2.1, UN/CEFACT CII D22B, the schema of its Factur-X profile, or CII D16B for an XRechnung, as the official XRechnung validator checks it.
The official rules of the profile it declares: EN 16931 (CEN 1.3.16), Factur-X 1.09.2 (the same as ZUGFeRD 2.5.2), EXTENDED-CTC-FR (FNFE-MPE 1.4.0.04), Peppol BIS Billing 3.0.21 or XRechnung 3.0.2 (KoSIT 2.6.0).
If you ask for them, the rules of a country. For France, the BR-FR rules of the reform and two checks of ours: the scope of the invoice and whether its format is accepted. For Germany, whether it is an e-invoice under § 14 UStG, and, for information, what a public buyer would reject.
What a validator cannot tell
A validator checks what is in the file. It cannot know whether a SIREN or a VAT number really exists, whether the invoice number was used before, or whether the goods were delivered. In France, the validation of your approved platform (PA) is the one that counts; in Germany, checking the e-invoices you receive is advised but not required. The checks marked CTC Engine are ours, not official.
Frequently asked questions
Is it free? Do I need an account?
Yes, it is free, and you do not need an account.
What happens to my invoice?
Your file is checked in memory. The report stays available on our server for about thirty seconds, only so that your browser can fetch it, then it is discarded. Nothing is kept after that, and your invoice is not used for anything else or shared with anyone.
Which invoices can I validate?
CII and UBL invoices (and UBL credit notes) as XML files, and Factur-X or ZUGFeRD PDFs, whose invoice is taken out of the PDF first. The profile the invoice declares chooses its rules: EN 16931, the Factur-X profiles from MINIMUM to EXTENDED, EXTENDED-CTC-FR, Peppol BIS Billing 3.0 or XRechnung. An invoice with another profile is checked against EN 16931.
Which rules are used?
The official ones, as their publishers release them: the EN 16931 rules of CEN (1.3.16), the Factur-X rules of FNFE-MPE and FeRD (1.09.2), the XRechnung rules of KoSIT (3.0.2), the Peppol rules of OpenPeppol (3.0.21) and the French rules of FNFE-MPE (1.4.0.04). The report names the version of each one.
If my invoice is valid here, will it be accepted?
It meets the rules that were checked, which are those the official validators use. It can still be refused for what no validator sees in a file, such as a reference your customer expects. In France, the validation of your approved platform (PA) is the one that counts.
Why are some messages in German or French?
Each message is the one of the official rules, in the language its publisher wrote it in: German for the XRechnung rules (BR-DE), French for the rules of the French reform (BR-FR), English for the others. The code of the rule is the same in every language.
What are the checks of CTC Engine?
A few checks that the official rules leave out, with codes that start with CTCE- and shown apart: for France, the scope the invoice declares and whether its format is one the reform accepts; for Germany, whether its profile makes it an e-invoice. They are not official.