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.

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.

Send via Peppol on Success

Validation passed? Premium accounts can forward the invoice over the Peppol network immediately, straight from the report view.

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.

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.
Yes. With premium, a file that passes can be handed to the Peppol network from the same page, no re-upload needed.
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.

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:

All the Tools You Need

The full toolkit, all in one place

Rather use classic tools instead of chat? Each action is just one click away too.

AI Assistant

Tell the chat what you need: it converts, checks, builds, and reads out German e-invoices.

Open tool

PDF to ZUGFeRD

Any PDF, Word, or Excel invoice goes in; a ZUGFeRD or XRechnung file comes out.

Open tool

Create ZUGFeRD PDF

The guided wizard turns your details into a ZUGFeRD or XRechnung invoice.

Open tool

Create XRechnung

Generate a valid XRechnung with Leitweg-ID, ready for public-sector buyers.

Open tool

ZUGFeRD Credit Note

Cancel or correct an e-invoice you already sent with a ZUGFeRD credit note.

Open tool

XRechnung Credit Note

Create an XRechnung credit note with Leitweg-ID for public-sector buyers.

Open tool

Create Order-X

Create an Order-X order file: the ZUGFeRD hybrid principle applied to purchase orders.

Open tool

Edit ZUGFeRD Invoice

Repair a refused or broken invoice: upload it, correct the fields, and get a valid file back.

Open tool

Edit XRechnung

Open an XRechnung as a form, fix the Leitweg-ID or any rejected field, and download a valid file.

Open tool

Validate ZUGFeRD

Run EN 16931 checks on your ZUGFeRD invoices before DATEV or your customer does.

Open tool
X

Validate XRechnung

Check XRechnung XML against EN 16931 and the German CIUS rules.

Open tool

Validate Order-X

Run incoming and outgoing Order-X orders through the official Order-X 1.0 checks.

Open tool

Extract XML

Pull structured XML straight out of any PDF invoice with AI-driven OCR.

Open tool

Extract Attachments

Pull every embedded file out of a ZUGFeRD or XRechnung invoice as a ZIP.

Open tool

Embed XML to PDF

Marry a PDF and its CII XML into one ZUGFeRD-compliant hybrid invoice.

Open tool
X

CII to ZUGFeRD

Package existing CII XML as a ZUGFeRD PDF/A-3 hybrid invoice.

Open tool

CII to UBL

Transform a CII invoice into UBL XML, the syntax most Peppol networks expect.

Open tool

UBL to CII

Map a UBL invoice to UN/CEFACT CII XML, ready to embed in ZUGFeRD or Factur-X.

Open tool

XRechnung to PDF

See any CII, UBL, or XRechnung XML as a tidy, printable PDF.

Open tool

XRechnung Viewer

Open e-invoice XML in your browser and read it like a paper invoice.

Open tool

e-Invoice Automation

Automate invoice generation, validation and Peppol delivery end to end.

Open tool
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 Data never stored
2 free uses per day · No card required