All Tools

E-Invoice Validator

Check electronic invoices locally in your browser against structure (XSD) and business rules. The profile is detected automatically: XRechnung, ZUGFeRD / Factur-X, PEPPOL BIS 3.0 and plain EN 16931 – UBL and CII. Nothing is uploaded.

Validation runs entirely in your browser. Your invoice never leaves your computer.

Drop an XML or ZUGFeRD / Factur-X PDF here or click to choose

Structure (XSD)

Checks element order, names and data types against the official UBL and CII schemas. Catches misspelled tags, wrongly nested or unknown elements.

Business rules

Checks the EN 16931 core rules and the profile-specific extensions – XRechnung (BR-DE-*) or PEPPOL BIS 3.0: totals, tax logic, mandatory fields, Leitweg-ID, IBAN and code lists.

Local & private

Saxon-JS and libxml2 (WebAssembly) run directly in the browser. No server transfer, no login, nothing stored.

What is checked?

A conformant e-invoice has to pass two layers: the syntactic structure (XSD) and the business rules (Schematron). This validator checks both – like the official KoSIT validation, but without any upload.

  • UBL – Invoice and CreditNote per OASIS UBL 2.1.
  • CII – CrossIndustryInvoice (UN/CEFACT), the format behind ZUGFeRD and the XRechnung CII variant.

Background in the article what the XRechnung means and in the overview of e-invoicing in Europe.

Profile & version

The profile is detected automatically from the CustomizationID: XRechnung, PEPPOL BIS 3.0 or plain EN 16931 – each with its matching rule set. The syntax (UBL/CII) is determined from the XML root.

Create e-invoices, not just check them

GrandTotal produces XRechnung and ZUGFeRD files straight from your invoices – with Leitweg-ID, tax logic and all mandatory fields.

Learn more about GrandTotal