Standard invoice, 19 %
RE-2026-1001 · Gross €3,498.60
A service to a business, paid by SEPA transfer with BIC and account holder, the order number as buyer reference.
Examples
40 business cases, from the standard invoice to the final invoice on a building site, each in UBL, in CII and as a ZUGFeRD PDF: as XRechnung, as public authorities require it, and for businesses also by EN 16931. Our generator produced the files, and the official KoSIT validator checked every one of them. Free to use, with no sign-up and no attribution.
120 files · 0 errors, 0 warnings · KoSIT rule set v2026-08-31 · CC0
Checked · Rule set v2026-08-31 · Check record (index.json)
RE-2026-1001 · Gross €3,498.60
A service to a business, paid by SEPA transfer with BIC and account holder, the order number as buyer reference.
FV-2026-0815 · Gross €413.88
Specialist books for a tax firm, every line at 7 %.
KR-2026-0312 · Gross €770.37
Coffee beans at 7 %, equipment at 19 %: two groups in the VAT breakdown (BG-23).
2026-017 · Gross €1,030.00
Category E with the § 19 note; a tax number instead of a VAT ID, which doubles as the seller identifier (BR-CO-26).
MI-2026-10-003 · Gross €4,850.00
A month’s rent and service charge for a warehouse, category E with the exemption reason.
AH-2026-4711 · Gross €21,900.00
A used car: category E with the required note “Gebrauchtgegenstände/Sonderregelung”, no VAT shown.
TB-2026-0098 · Gross €8,694.00
Drywall work for a German construction company: category AE, both sides’ VAT IDs (BR-AE-02).
RE-2026-1002 · Gross €5,760.00
A software licence for a company in Austria: category AE, the buyer with an ATU number and a foreign address.
EX-2026-0042 · Gross €7,080.00
Category G (§ 4 No. 1(a) UStG), paid by credit transfer with payment means 30, BIC and account holder.
SM-2026-0207 · Gross €41,200.00
A solar installation for a municipality: category Z without an exemption reason (BR-Z-10), the Leitweg-ID as buyer reference and recipient address.
FO-2026-0031 · Gross €435.00
Category O: no VAT ID on the invoice (BR-O-02) and no rate on the line (BR-O-05), the tax number as identifier.
IG-2026-0117 · Gross €5,765.00
Machine parts to the buyer’s warehouse in Wels: category K, both VAT IDs and the delivery address (BG-15), whose country the rule set insists on (BR-IC-12).
GU-2026-0007 · Gross €452.20
Refunds hours not worked and names the original invoice; in UBL a CreditNote document.
KR-2026-0318 · Gross €709.35
Replaces an invoice with a wrong price and names it (BG-3), so BR-DE-26 stays silent.
MB-2026-0560 · Gross €6,878.20
The first of two partial deliveries of one order.
AR-2026-01 · Gross €71,400.00
Construction work for a city, billed by progress, with a Leitweg-ID.
TSR-2026-01 · Gross €142,800.00 · due €71,400.00
Settles one construction stage and deducts the paid progress invoice as a prepayment (BT-113).
SR-2026-01 · Gross €190,400.00 · due €47,600.00
The whole work less every payment. CII holds only one preceding invoice (BG-3), UBL several, so the earlier one is named in the note.
GS-2026-0042 · Gross €5,293.93
A publisher settles an author’s royalties: issued by the recipient, 7 % on the grant of copyright.
EG-2026-33017 · Gross €788.97
2 % if paid within 10 days, in XRechnung’s #SKONTO# notation that accounting software reads (BR-DE-18).
RE-2026-1003 · Gross €367.71
A monthly subscription by direct debit: mandate reference, creditor ID and debited account (BG-19).
BW-2026-104477 · Gross €258.71
Payment means 54 with the card’s last four digits, holder and network (BG-18).
WS-2026-0921 · Gross €457.56 · due €0.00
Paid in cash on collection: prepaid in full, amount due €0.00.
MB-2026-0571 · Gross €8,128.89
A 10 % volume discount on one line (BG-27), reason code 95.
KR-2026-0330 · Gross €1,557.84
A 3 % loyalty discount at document level (BG-20), its base computed from the lines.
BS-2026-07781 · Gross €969.85
Freight as a document-level charge (BG-21) with code FC, taxed like the goods at 19 %.
DM-2026-1290 · Gross €604.52
A 20 % rush charge on one line (BG-28); a unit price with four decimals.
EM-2026-0611 · Gross €1,629.59
Labour, travel and material listed apart, the labour share stated in the note.
RE-2026-1004 · Gross €9,335.55
The Leitweg-ID as buyer reference (BT-10) and as the recipient’s electronic address with scheme 0204.
RE-2026-1005 · Gross €761.60
The seller by VAT ID (scheme 9930), the buyer by GLN (scheme 0088) instead of email.
BS-2026-07790 · Gross €1,433.30
Tonnes, metres, square metres, kilograms, litres and days; quantities with decimals, prices with four.
BB-2026-55120 · Gross €2,492.87
A long order: the PDF page runs on to a second page.
BM-2026/10-118 · Gross €458.22
„Quotes“, &, ß, Ø and ½ in names and lines, escaped in the XML.
WV-2026-10-031 · Gross €1,520.23
October as the invoicing period (BG-14) instead of a delivery date, the contract number (BT-12) and a period per line (BG-26); the on-site call has none.
RE-2026-4412 · Gross €4,319.70
What the buyer’s goods receipt matches against: the purchase order number (BT-13), the order line per line (BT-132), the delivery note number (BT-16) and the project (BT-11).
SM-2026-047 · Gross €2,106.30
A design studio to a bakery, in the ZUGFeRD profile EN 16931: without the buyer reference, contact person and email addresses only XRechnung asks for (BR-DE-15, BR-DE-2).
SM-2026-047-G1 · Gross €142.80
The cancelled print check from case 36 as a credit note (381) referring to the invoice (BG-3), judged by EN 16931 alone.
MB-2026-0091 · Gross €4,855.20
Consulting hours in September, the timesheet as a PDF file inside the e-invoice itself (BG-24, BT-125) and the statement of work as a link (BT-124).
MW-2026-1187 · Gross €1,204.88
What a German GmbH must state on every business letter (§ 35a GmbHG): the register number (BT-30), seat, register court and managing directors (BT-33), in the XML and at the foot of the PDF.
MB-2026-30871 · Gross €843.00
Screws and dowels priced per hundred (BT-149) with list price and discount (BT-148, BT-147), the seller’s and the buyer’s article numbers (BT-155, BT-156), the GTIN (BT-157) and a note on a line (BT-127).
Every case starts as a request to our API (POST /v1/invoices), just as a program would send it; it sits next to the invoices as JSON. From it, the same generator behind the invoice form and the API writes the invoice in UBL and in CII: as XRechnung or, for the invoices to businesses, by EN 16931. The ZUGFeRD PDF is our readable invoice page with the CII file inside, as PDF/A-3 with the XRECHNUNG or the EN 16931 profile.
All 120 invoice files are checked with the KoSIT validator and the XRechnung configuration v2026-08-31, the PDF by its embedded XML. The scenario, warnings, size and SHA-256 checksum of each file are in the check record.
When a new KoSIT rule set comes out, our build fails until every file has been checked again. The date at the top is the date of that check.
Currencies other than the euro are missing, and only one case shows attachments, with a PDF.
The ZUGFeRD files carry the XRECHNUNG or the EN 16931 profile; there are no examples for BASIC or EXTENDED here. The PDF page is in German.
Every name, number and account is invented. Whether a rate or an exemption fits your business is not something the examples can tell you; that remains a question for your tax adviser.
The files are released under CC0 1.0: you may copy, change and use them in software, tests, training and documentation, commercially too, without naming us.
Each case’s JSON file is the body for POST /v1/invoices. With it you generate the same invoice yourself, as UBL, CII or ZUGFeRD:
curl -X POST 'https://api.normapi.de/v1/invoices?syntax=zugferd' \
-H "Authorization: Bearer $NORMAPI_KEY" \
-H 'Content-Type: application/json' \
--data-binary @01-standardrechnung-normapi.json \
-o 01-standardrechnung.pdfThe invoices to businesses (EN 16931) need &profile=en16931 in the address for this; otherwise the API asks for what XRechnung requires. As test cases for invoice intake, import all three files of a case: gross and amount due must come out the same for all three, and both are listed here with every case.
Here: every case has a file in UBL and one in CII to download, both checked with the KoSIT validator; all but the two invoices to businesses are XRechnung. The standard invoice is a good start; the cases with a Leitweg-ID show what an invoice to a public authority looks like.
Yes, with every case: a PDF/A-3 with the invoice embedded, in the XRECHNUNG profile or, for the invoices to businesses, EN 16931. It opens like any PDF; our ZUGFeRD viewer shows the XML inside.
No. § 14 UStG asks for an e-invoice that follows the EN 16931 standard; XRechnung is its version for public administration and adds the Leitweg-ID, a contact person and electronic addresses. The invoice to a bakery and its credit note show an EN 16931 e-invoice without them.
Every file passes the check with the KoSIT validator and the XRechnung configuration v2026-08-31, checked on 22 October 2026. Every new rule set release gets every file checked again. Whether the details would fit a real transaction, no check can know.
They are two XML syntaxes for the same standard, EN 16931, and German public authorities must accept both. UBL comes from the Peppol world; CII is what every ZUGFeRD PDF carries. The two files of a case show the same invoice; very little fits one syntax and not the other, such as several preceding invoices, which CII cannot hold.
Yes, the case with the timesheet: the PDF sits base64-encoded inside the invoice itself, as an additional document (BG-24), with a link to the statement of work beside it. PDF, PNG, JPEG, CSV, XLSX and ODS are permitted, each file under a name of its own (BR-DE-22). The XRechnung viewer unpacks such attachments again.
Yes. The files are released under CC0 1.0: copy, change and pass them on, in software, tests and training, without attribution.
It carries the authority’s Leitweg-ID as buyer reference (BT-10), usually also as the recipient’s electronic address with scheme 0204. The invoice to a public authority, the zero rate for solar panels and the three construction invoices show this.