Home / UBL E-Invoice Kit

🧾 UBL E-Invoice Kit β€” Validator, Viewer & Creator (EN 16931)

Multi-reader: drop .xml to view & PDF  Β·  .pdf to extract text β†’ UBL draft  Β·  .csv to pre-fill β†’ UBL. 100% private β€” files never leave your browser.

✍️ By: CA Neha Tabassum, Chartered Accountant

Three steps: view, create, print

Step 1 β€” View / validate / import

☁️ Drop .xml, .pdf or .csv here or click to browse

πŸ”’ 100% Local Browser Security: XML parsing, syntax checking, and invoice rendering run strictly in-browser via Web APIs. Your billing files, pricing data, and taxpayer IDs are completely isolated from outside servers.

Step 2 β€” Create UBL (form β†’ XML download)

Note: Chrome/Edge may warn β€œ.xml could harm your device” β€” this is standard for XML downloads. Click Keep, or use Copy XML instead.

How to Validate and View UBL 2.1 E-Invoices

As governments across Europe mandate structured electronic invoicing, businesses must format documents according to strict XML schemas. This kit gives developers, ERP integrators, and finance teams an instant structural check, a human-readable invoice preview, and a standards-based UBL 2.1 creator β€” all client-side.

  1. Upload or paste XML: drag and drop your UBL 2.1 .xml file or paste raw XML markup into the editor. PDF and CSV files are also accepted as assistive import sources (see below).
  2. Run the structural check: click View & Validate to verify XML well-formedness, the UBL root, namespaces, and the presence of key fields (ID, dates, parties, totals, lines).
  3. Review the invoice preview: the file renders as a clean professional invoice directly below the results β€” no scrolling needed.
  4. Create or export: build a new standards-based UBL 2.1 file from 6 form fields, or print any preview to a single-page PDF.

The European E-Invoicing Framework: EN 16931 & Peppol BIS Billing 3.0

To standardize e-invoicing across tax regimes, the European Committee for Standardization (CEN) established Directive 2014/55/EU and standard EN 16931 β€” the semantic data model for structured electronic invoices.

1. Semantic Model vs. Technical Syntax

The semantic model defines what information an invoice must contain (net price, tax percentage, line description), while technical syntaxes define how that data is encoded. The two official syntaxes under EN 16931 are:

2. Peppol BIS Billing 3.0 Specification

Peppol (Pan-European Public Procurement OnLine) uses UBL 2.1 to build its Peppol BIS Billing 3.0 specification, with strict business rules (e.g. tax-calculation consistency) so invoices flow across international Peppol Access Points. Note: this kit performs a fast structural check β€” formal Schematron conformance certification still requires an official Peppol validator.

Anatomy of a UBL 2.1 XML Invoice

A compliant UBL 2.1 document consists of root namespaces, header components, supplier/customer entities, tax subtotals, and invoice lines β€” the same fields this kit extracts and previews:

UBL XML Node TagData ElementRequiredExample
<cbc:CustomizationID>Specification identifierMandatoryurn:cen.eu:en16931:2017#compliant#…
<cbc:ID>Invoice reference numberMandatory<cbc:ID>INV-2026-001</cbc:ID>
<cac:AccountingSupplierParty>Seller details & Tax IDMandatoryContains <cac:Party> and <cbc:CompanyID>
<cac:AccountingCustomerParty>Buyer details & Tax IDMandatoryContains <cac:Party> and <cbc:EndpointID>
<cac:TaxTotal>Tax breakdown subtotalsMandatory<cbc:TaxAmount currencyID="EUR">210.00</cbc:TaxAmount>
<cac:LegalMonetaryTotal>Final payable totalsMandatory<cbc:PayableAmount currencyID="EUR">1210.00</cbc:PayableAmount>
<cac:InvoiceLine>Line item & costMandatory (β‰₯1)Contains <cbc:InvoicedQuantity> and <cac:Price>

Last verified: 25 September 2026. Sources: EU Commission VAT rates, ECB euro reference rates and national tax authorities. Confirm with your local authority before filing.

Official sources: Peppol Β· EU Taxation & Customs

National European E-Invoicing Mandates Overview

EU countries enforce national derivatives built upon EN 16931. Align your XML outputs accordingly:

1. Germany: XRechnung & ZUGFeRD

Germany mandates XRechnung (pure UBL/CII XML) for public procurement (B2G) with expanding B2B duties. ZUGFeRD / Factur-X is a hybrid format combining a human-readable PDF/A with embedded XML metadata.

2. France: Partner Dematerialization Platforms (PDP)

France's e-invoicing transition requires structured UBL, CII, or Factur-X formats transmitted through verified billing portals or accredited PDP platforms.

3. Italy: FatturaPA (SDI System)

Italy routes domestic B2B and B2C invoices through the central Sistema di Interscambio (SDI). While FatturaPA uses a proprietary XML syntax, converters translate SDI files into UBL 2.1 for cross-border use.

Troubleshooting Common XML Validation Errors

When checking UBL 2.1 files, integration errors typically fall into three categories:

1. Namespace & schema declaration mismatches

If the root <Invoice> element lacks proper namespace declarations (e.g. xmlns:cac or xmlns:cbc), parsers fail immediately β€” this kit flags such files as non-UBL.

2. Discrepancies in tax subtotals

Line-item tax amounts must mathematically equal the total in <cac:TaxTotal>. Rounding gaps (e.g. off by €0.01) fail formal Peppol checks β€” verify with the VAT calculator.

3. Missing buyer reference or order ID

Public buyers enforce fields like <cbc:BuyerReference> (e.g. Leitweg-ID in Germany). Files without it are rejected by government portals even when structurally valid.

Frequently Asked Questions (FAQs)

What is UBL 2.1 in e-invoicing?

Universal Business Language (UBL) 2.1 is an open XML-based standard developed by OASIS. It serves as the primary technical syntax for structured electronic invoices across European and global trading networks.

What is the EN 16931 European Standard?

EN 16931 is the European standard for e-invoicing establishing a semantic data model to ensure interoperability across EU member states for B2G and B2B commercial transactions.

Are my uploaded UBL XML files saved on your servers?

No. All XML parsing and structural checking occur locally in your browser session using JavaScript. Your confidential business data is never sent to or stored on external servers.

What is the difference between a PDF invoice and an XML e-invoice?

A standard PDF invoice is an unstructured visual document meant for human reading that requires manual data entry or error-prone OCR scanning. An XML e-invoice is a structured, machine-readable dataset that accounting software can import and process automatically without human intervention.

Can I convert standard JSON invoice payloads into UBL 2.1 XML?

Yes, in an assistive way: copy the values from your JSON payload into the Step 2 creation form (ID, dates, parties, amounts, VAT) and generate a clean standards-based UBL 2.1 file for download.

What is an Endpoint ID in Peppol e-invoicing?

An Endpoint ID (for example 0088:5790000000001) serves as a digital electronic address, often tied to a GLN, national tax number, or trade register ID, used to route e-invoices directly to a recipient's accounting system over the Peppol network.

Does this tool validate custom UBL extensions?

The viewer reads core UBL 2.1 structural elements and safely ignores unknown extension blocks. For formal Schematron conformance certification, use an official Peppol validator in addition to this quick structural check.

Structural check only β€” not a formal Schematron/XSD certification and not legal advice. Confirm mandate details with your tax authority.

Understanding UBL 2.1 XML and ViDA E-Invoicing Standards

The European Union's VAT in the Digital Age (ViDA) initiative is transitioning member states toward real-time digital reporting through structured electronic invoicing formats like UBL 2.1.

Why Structured E-Invoicing Matters