ZUGFeRD PDF/A-3b EN 16931

Free ZUGFeRD Validator Online

Check the PDF container and the embedded XML of your ZUGFeRD invoices in seconds.

Drag and drop your invoices here, or click to browse.

Meets the standards EN 16931 ZUGFeRD / Factur-X XRechnung KoSIT GoBD Archive PDF/A-3

How It Works

Upload, check, fix: a full compliance report in seconds.

Step 1

Drop In Your File

Upload one ZUGFeRD PDF at a time, or sign in to check up to 100 in one batch. Files are checked in memory and discarded, nothing is stored.

Step 2

Every Rule Layer Checked

PDF/A-3b conformance, the embedded XML attachment, the schema, and all EN 16931 business rules are verified in a single pass.

Step 3

Read the Plain-Language Report

Each violation lists the affected field (BT reference), what went wrong, and how to fix it, so corrections take minutes, not hours.

Why Validate Your ZUGFeRD Invoices Here?

A rejected e-invoice delays payment. Find schema and business-rule errors before DATEV or your customer does.

Complete EN 16931 Rule Check

Every syntax and business rule of the European norm runs against the embedded CII XML, at exactly the strictness the declared ZUGFeRD profile requires.

Checks the PDF Container Too

ZUGFeRD files fail imports for container reasons as often as XML ones: we verify PDF/A-3b conformance and the embedded attachment, not just the data.

Ready for DATEV, Lexware & SAP

Confirm the file will import cleanly into DATEV, Lexware, and SAP before your customer's accounting department ever sees it.

A Report You Can Work From

Every violated rule is listed with the field it concerns and a plain-language explanation of the fix, in the order you should tackle them.

What the ZUGFeRD Validator Checks

Generating a file is not the same as generating a valid file. The validator runs three independent checks on every upload: all three must pass for your invoice to be accepted by accounting systems and public portals.

Validation Layer 1: XML Schema

The embedded XML must conform to the Cross Industry Invoice (CII) D16B schema. Schema errors are structural: a missing element, a wrong data type, or an attribute in the wrong namespace. These are caught before any business rules are applied and usually indicate a code generation or serialisation bug.

Validation Layer 2: EN 16931 Schematron Rules

The Schematron layer enforces over 200 semantic business rules defined in the European e-invoicing standard. Rules are identified by codes such as BR-01, BR-CO-15, or DE-R-001. Common failures:

  • BR-08 - Invoice currency code is missing (BT-5)
  • BR-CO-15 - VAT category tax amount does not match the calculated value
  • BR-S-08 - Tax rate (BT-119) is mandatory when VAT category is Standard
  • DE-R-003 - Seller tax ID (BT-31 or BT-32) is required for German domestic invoices

Each error in the report includes the rule code, the XPath of the failing element, and a plain-language description, no need to read the spec to understand what to fix.

Validation Layer 3: PDF/A-3b Conformance

ZUGFeRD requires the PDF container to be a PDF/A-3b archive. A regular PDF will fail even if the embedded XML is perfectly valid. Common causes: missing embedded fonts, no ICC output intent, incorrect XMP metadata, or the XML attachment not declared with the AFRelationship key set to Alternative.


Profile-Specific Checks

The validator applies additional rules depending on which ZUGFeRD profile the file declares. Higher profiles require more data fields: submitting a MINIMUM-profile file where EN 16931 is expected will produce dozens of missing-field errors.

Profile Line items required Allowances & charges Full EN 16931 rules
MINIMUM No No No
BASIC WL No Yes No
BASIC Yes No No
EN 16931 Yes Yes Yes
EXTENDED Yes Yes Yes + extensions

Validating an XRechnung instead?

XRechnung is pure XML with its own German rule set (CIUS) on top of EN 16931, including the mandatory Leitweg-ID. It has a dedicated tool:


Related reading

Frequently Asked Questions

Common questions from German businesses validating ZUGFeRD files.

EN 16931 at the strictness of the declared ZUGFeRD 2.x profile, from Minimum to Extended, plus PDF/A-3b container checks on the hybrid file itself.
Yes. The typical upload is a ZUGFeRD PDF/A-3b with embedded CII XML; standalone XML is accepted as well and validated against the rules it declares.
A report that names each violated rule, the field it concerns, and a plain-language explanation of the fix, in the order you should tackle them.
Nothing for one invoice at a time. A premium account adds batch upload of up to 100 invoices and stricter XRechnung rule levels.
Yes. XRechnung business rules and Leitweg-ID checks are included, so a passing file is ready for federal, state, and municipal recipients.
All ZUGFeRD 2.x profiles from Minimum to Extended. The declared specification identifier tells the validator which profile rules to apply, so no manual selection is needed.
ZUGFeRD validation covers two layers: the PDF/A-3b container and the embedded CII XML. XRechnung is pure XML but applies the stricter German CIUS rules on top of EN 16931. For standalone XRechnung files, use the dedicated XRechnung validator.
A readable PDF says nothing about the data layer. Import failures are usually caused by a missing or misnamed XML attachment, a broken AFRelationship entry, or business-rule violations inside the XML. The validator checks all three layers and names the one that fails.
Validation confirms the file conforms to EN 16931, which is what German law requires of a domestic B2B e-invoice format. Legal compliance also depends on the content itself: correct parties, correct tax treatment, and GoBD-compliant retention, which no automated tool can fully judge.
Yes, and you should: German businesses have had to accept incoming e-invoices since January 2025, and checking received files before booking them protects your input VAT deduction from formally defective invoices.
GoBD Archive

Receiving e-invoices? You must archive them properly.

Since 2015, the GoBD, the tax office's rules for digital records, have applied to every business, freelancers included: digital invoices must be kept as the original file, unchanged, exportable and readable for the whole 8-year retention period. With the e-invoicing mandate a print no longer counts. Our archive takes care of it for you.

  • Every invoice stored exactly as it arrived: XML, PDF or photo
  • Locked against changes, so nothing can be altered afterwards
  • A second copy in another German data centre
  • Find any invoice by date and export it with an index for your tax advisor
  • Team access: several team members can work in the same archive
  • No ERP, no installation: right next to your e-invoicing tools
Built for the German mandate

One toolkit for ZUGFeRD and XRechnung

Every German business has had to accept e-invoices since January 2025. Both formats are covered here.

ZUGFeRD or XRechnung? Let the assistant pick the tool Tell the chat what you need: it converts, checks, builds, and reads out German e-invoices. Open assistant

Create

Fill one form, get a ZUGFeRD PDF or an XRechnung with Leitweg-ID

Check & repair

Test against EN 16931 and the XRechnung CIUS, then fix what a buyer rejected

Convert

Move an invoice between PDF, CII, UBL and XRechnung

Open & extract

Open a file, see what is inside it, and take the data with you

Look up & automate

Check who you are invoicing, or move the whole flow to an API
Ready for mandatory e-invoicing?

Make every invoice compliant, in a single message

Subscribe to get unlimited tools, choosable compliance profiles and the full set of premium features.

EN 16931 & PDF/A-3b compliant Results in seconds No installation GoBD-compliant archive
1 free tool use per hour · No card required