Glossary

A plain-language reference for the e-invoicing terms used across the InvoiceSpec documentation. If a term shows up in Getting Started, the API Reference, or the Invoice JSON Schema and you are not sure what it means, look it up here. The definitions focus on what a developer needs to know to build a compliant request — not on the full regulatory history.

Standards & syntaxes

EN 16931

The European standard for the semantic data model of an electronic invoice. It defines which information a compliant European e-invoice must carry (the "what"), not the file format used to carry it (the "how"). Every document InvoiceSpec generates conforms to EN 16931. See also CIUS, CII, and UBL.

CIUS

A Customization of EN 16931 for a specific country, region, or industry. A CIUS narrows the European standard with extra required fields and stricter rules. XRechnung is the German public-sector CIUS of EN 16931.

CII

Cross Industry Invoice — one of the two XML syntaxes (file formats) the EN 16931 standard allows. It is the syntax InvoiceSpec uses for XRechnung XML and the XML embedded inside a ZUGFeRD PDF. The other allowed syntax is UBL.

UBL

Universal Business Language — the second XML syntax allowed by EN 16931. It represents the same EN 16931 data model as CII but with different element names and structure. InvoiceSpec currently emits CII; UBL is the alternative XML representation.

syntax

The concrete file format used to serialize an invoice — XML (either CII or UBL) or a PDF with embedded XML (ZUGFeRD / Factur-X). Distinct from EN 16931, which defines the content; a syntax defines how that content is serialized into bytes.

German formats

XRechnung

The German public-sector e-invoice format — a CIUS of EN 16931. It adds German-specific rules on top of the European standard (for example a required buyer reference, the Leitweg-ID) and is mandatory for invoices to German federal authorities. InvoiceSpec generates XRechnung as CII XML via the XRechnung generation API.

ZUGFeRD

Zentraler Unterausschuss Gebühren- und Finanzdaten-erhebung Rechnungs-Daten — a German e-invoice format that ships a human-readable PDF/A-3 with a machine-readable CII XML invoice embedded inside it. One file serves both accounts-payable humans and automated systems. InvoiceSpec generates ZUGFeRD PDFs via the ZUGFeRD generation API. Structurally compatible with Factur-X.

Factur-X

The French equivalent of ZUGFeRD: the same PDF/A-3 + embedded CII XML structure, governed by a Franco-German agreement. A ZUGFeRD file and a Factur-X file are structurally compatible — the difference is the national naming and governance.

PDF/A-3

An ISO-standardized archival PDF format that allows embedding arbitrary files (an "attachment") inside the PDF. ZUGFeRD and Factur-X use PDF/A-3 to carry the XML invoice as an embedded attachment alongside the visible, human-readable PDF.

profile

A named level of a format that defines which fields and rules apply. ZUGFeRD/Factur-X defines profiles — MINIMUM, BASIC, COMFORT, EXTENDED, and XRECHNUNG — that range from a minimal set of fields to the full EN 16931 model. The profile controls what a recipient can expect in the document and which BRs are enforced.

Document building blocks

BT (Business Term)

An EN 16931 field identifier (for example BT-1 is the invoice number). Every piece of invoice data the standard recognizes has a stable BT code. The Invoice JSON Schema explorer maps each InvoiceSpec request field to its BT so you can see exactly which standard field you are setting.

BG (Business Group)

An EN 16931 container identifier (for example BG-32 is the invoice line group). A BG groups related BTs into a logical block such as a seller, a line item, or a payment. Object and array fields in the InvoiceSpec request map to BGs.

BR (Business Rule)

An EN 16931 validation rule (for example BR-1 requires an invoice number). BRs are the base-level checks every compliant EN 16931 invoice must pass. A CIUS such as XRechnung adds further rules on top (for example the German BR-DE-15 that requires a Leitweg-ID).

Validation & governance

Schematron

A rule language used to validate XML documents beyond what an XSD schema can express. EN 16931 and XRechnung ship Schematron rule sets that encode the BRs and CIUS-specific rules. InvoiceSpec runs these rules after generation and reports any failures in the response.

KoSIT

The German federal Koordinierungsstelle für IT-Standards (Coordination Office for IT Standards). KoSIT publishes and maintains the XRechnung standard and its validation artifacts (XSD and Schematron).

Delivery & identifiers

Peppol BIS

A Business Interoperability Specification used over the Peppol network for cross-border e-invoice delivery in Europe. Peppol BIS Billing 3.0 is based on EN 16931. It is a delivery-network profile, not a new file format — the document payload is still CII or UBL.

Leitweg-ID

A standardized German routing identifier used to address an invoice to the correct recipient in the public sector. It is required on XRechnung invoices to German federal authorities, enforced by the BR-DE-15 BR.

BR-DE-15 checks only that a buyerReference (BT-10) is present and non-blank — it does not verify the Leitweg-ID's format or checksum. InvoiceSpec does not perform Leitweg-ID format or checksum validation today, and neither does KoSIT's official XRechnung validation artifact (the Schematron rule set that ships with the standard). This is a shared gap across standard e-invoicing tooling, not an InvoiceSpec-specific defect: no widely used e-invoicing validator enforces the Leitweg-ID checksum. The XRechnung Invoice JSON Schema explorer carries this same clarification inline on the buyerReference field. If you need strict routing validation, validate the Leitweg-ID format in your own integration before sending the request.

InvoiceSpec concepts

AUTO mode

An InvoiceSpec request mode where the engine derives line net amounts, document totals, and tax amounts from the values you do provide, so you don't have to compute and send every total yourself. Fields marked Engine calculated in the Invoice JSON Schema can be omitted in AUTO mode.