XRechnung Beispiel-Datei — Aufbau einer echten XRechnung
Kurz gesagt: Eine XRechnung besteht aus benannten Feldern in XML, die in der Norm EN 16931 als Business Terms mit den Kennungen BT-1 bis BT-181 festgelegt sind. XRechnung PRO stellt eine vollständige Beispieldatei kostenlos zum Herunterladen bereit, mit der sich der Aufbau nachvollziehen und die eigene Verarbeitung testen lässt.
Die Beispieldatei
Die vollständige Datei können Sie direkt herunterladen und in einem Texteditor öffnen:
- XRechnung-Beispiel.xml — vollständige XRechnung in UBL-Syntax, etwa 5 KB
Wenn Sie sehen wollen, wie dieselbe Rechnung lesbar aussieht, laden Sie die Datei in den kostenlosen XRechnung-Konverter.
Der Kopf der Datei
Am Anfang steht, um welche Art Dokument es sich handelt und nach welchem Standard es erzeugt wurde:
<?xml version="1.0" encoding="UTF-8"?>
<Invoice xmlns="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2">
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xoev-de:kosit:standard:xrechnung_3.0</cbc:CustomizationID>
<cbc:ID>RE-2026-0125</cbc:ID>
<cbc:IssueDate>2026-07-14</cbc:IssueDate>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>991-12345-67</cbc:BuyerReference>
Die Zeile mit der CustomizationID ist die wichtigste der ganzen Datei. Sie sagt: dies ist eine XRechnung nach Version 3.0, und sie erfüllt EN 16931. Fehlt sie, ist die Datei keine XRechnung.
Die wichtigsten Felder im Überblick
| BT | Bedeutung | UBL-Element | Pflicht |
|---|---|---|---|
| BT-1 | Rechnungsnummer | cbc:ID | ja |
| BT-2 | Rechnungsdatum | cbc:IssueDate | ja |
| BT-5 | Währung | cbc:DocumentCurrencyCode | ja |
| BT-10 | Leitweg-ID | cbc:BuyerReference | bei Behörden |
| BT-27 | Name des Verkäufers | cac:AccountingSupplierParty | ja |
| BT-31 | USt-IdNr. des Verkäufers | cac:PartyTaxScheme | wenn vorhanden |
| BT-44 | Name des Käufers | cac:AccountingCustomerParty | ja |
| BT-9 | Fälligkeitsdatum | cbc:DueDate | nein |
| BT-109 | Nettobetrag | cbc:TaxExclusiveAmount | ja |
| BT-110 | Steuerbetrag | cbc:TaxAmount | ja |
| BT-112 | Bruttobetrag | cbc:TaxInclusiveAmount | ja |
| BT-115 | Zahlbetrag | cbc:PayableAmount | ja |
Eine Rechnungsposition
Jede Position steht in einem cac:InvoiceLine-Block:
<cac:InvoiceLine>
<cbc:ID>1</cbc:ID>
<cbc:InvoicedQuantity unitCode="C62">1</cbc:InvoicedQuantity>
<cbc:LineExtensionAmount currencyID="EUR">500.00</cbc:LineExtensionAmount>
<cac:Item>
<cbc:Name>Wartungsvertrag Juli 2026</cbc:Name>
<cac:ClassifiedTaxCategory>
<cbc:ID>S</cbc:ID>
<cbc:Percent>19.00</cbc:Percent>
</cac:ClassifiedTaxCategory>
</cac:Item>
<cac:Price>
<cbc:PriceAmount currencyID="EUR">500.00</cbc:PriceAmount>
</cac:Price>
</cac:InvoiceLine>
Drei Dinge fallen dabei auf und führen in der Praxis zu Fehlern:
- Beträge immer mit Punkt als Dezimaltrennzeichen.
500.00, nicht500,00. Das ist XML, nicht Excel. - Der
unitCodeist verpflichtend.C62bedeutet „Stück“,HURbedeutet „Stunde“. Die Codes stammen aus der UN/ECE-Empfehlung 20. - Die Steuerkategorie ist ein Code, kein Text.
Sfür den Regelsteuersatz,AEfür Reverse Charge,Efür steuerfrei,Zfür Nullsatz.
Die häufigsten Fehler in selbst erzeugten Dateien
Aus der Praxis der Validierung, absteigend nach Häufigkeit:
- Summen passen nicht. Die Summe der Positionen weicht vom Nettobetrag ab, meist durch Rundung je Position statt am Ende.
- Leitweg-ID fehlt. Bei Behördenrechnungen ein Pflichtfeld, das in selbst gebauten Exporten regelmäßig vergessen wird.
- Falsches Dezimaltrennzeichen. Komma statt Punkt — die Datei ist damit unlesbar.
- Steuerkategorie und Steuersatz widersprechen sich. Kategorie
Efür steuerfrei, aber 19 % im Prozentfeld. - Fehlende Zahlungsangaben. IBAN nicht angegeben, obwohl Überweisung als Zahlungsart genannt ist.
Ob Ihre eigene Datei betroffen ist, sagt Ihnen der XRechnung-Validator in Sekunden.
Häufige Fragen dazu
Darf ich die Beispieldatei für eigene Tests verwenden?
Ja, uneingeschränkt. Die Datei enthält ausschließlich erfundene Stammdaten und ist dafür gedacht, die eigene Verarbeitung zu testen — etwa ob die Buchhaltungssoftware die Rechnung einliest oder ob ein Betrachter sie korrekt darstellt.
Warum sieht die Datei so unübersichtlich aus?
Weil sie nicht für Menschen geschrieben ist. Eine XRechnung ist ein Datenformat für Software. Wenn Sie den Inhalt lesbar sehen wollen, laden Sie die Datei in den kostenlosen Konverter — dort erscheint sie als aufbereitete Rechnung.
Was bedeuten die BT-Nummern?
BT steht für Business Term. Die Norm EN 16931 nummeriert jedes mögliche Rechnungsfeld durch, damit über Sprach- und Softwaregrenzen hinweg klar ist, welche Angabe gemeint ist. BT-1 ist immer die Rechnungsnummer, egal in welchem Land und in welcher Software.