Nie wieder Belegen hinterherlaufen.
Heft ist in Entwicklung. Der Beleg-Agent soll fehlende Belege suchen und den Monat für deinen Steuerberater vorbereiten.
TL;DR
- Was eine XRechnung ist: ein reiner, strukturierter XML-Datensatz nach der deutschen CIUS zur europäischen Norm EN 16931. Anders als ZUGFeRD enthält sie kein PDF-Layout — ohne Viewer ist sie für Menschen kaum lesbar.
- Zwei Syntaxen: Eine XRechnung darf in zwei gleichwertigen XML-Syntaxen vorliegen — CII (UN/CEFACT) und UBL (OASIS). Beide bilden dieselben Felder ab, verwenden aber andere Tag-Namen. Ihr System muss beide lesen können.
- Echte Beispieldateien: Laden Sie unten je eine synthetische, aber technisch echte XRechnung in CII und UBL herunter (Version 3.0, stimmige Beträge, gültige Struktur).
- Feldbeispiel: Eine Tabelle und kommentierte XML-Ausschnitte zeigen die wichtigsten Felder — Spezifikationskennung, Leitweg-ID, Verkäufer, Käufer, Positionen, Steuer und Summen.
- Selbst prüfen: Öffnen Sie die Dateien im kostenlosen XRechnung- & ZUGFeRD-Viewer oder prüfen Sie eine eigene Datei mit dem E-Rechnung-Validator — beide laufen rein im Browser, ohne Upload.
- Empfang statt Erstellung: Für den Empfang brauchen Sie ein System, das beide Syntaxen ausliest; für die Erstellung eine Rechnungs- oder Buchhaltungssoftware mit XRechnung-Export.
Die E-Rechnungspflicht macht die XRechnung für immer mehr Unternehmen zum Alltag: Seit dem 1. Januar 2025 müssen alle inländischen Unternehmen strukturierte E-Rechnungen empfangen können, und wer an öffentliche Auftraggeber liefert, muss ohnehin eine XRechnung senden. Doch "Wie sieht eine XRechnung eigentlich aus?" lässt sich schwer beantworten, solange man keine echte Datei vor sich hat — reines XML sieht auf den ersten Blick kryptisch aus. Dieser Beitrag zeigt anhand konkreter Beispieldateien, wie eine XRechnung aufgebaut ist, warum es zwei Syntaxen gibt und wie Sie eigene Dateien prüfen.
Was ist eine XRechnung?
Die XRechnung ist das in Deutschland definierte Standardformat für elektronische Rechnungen an die öffentliche Verwaltung. Technisch ist sie eine CIUS (Core Invoice Usage Specification) zur europäischen Norm EN 16931: Sie schränkt das große EN-Datenmodell auf die in Deutschland benötigten Felder ein und ergänzt eigene Geschäftsregeln, etwa die Pflicht zur Leitweg-ID.
Anders als eine ZUGFeRD-Rechnung enthält die XRechnung kein PDF. Sie besteht ausschließlich aus strukturiertem XML. Das macht sie für Software optimal verarbeitbar, für Menschen ohne passenden Viewer jedoch schwer lesbar. Ein Viewer rendert die XML-Felder wieder in eine übersichtliche Ansicht mit Verkäufer, Käufer, Positionen und Summen. Wenn Sie den Unterschied zum Hybridformat vertiefen möchten, lesen Sie ZUGFeRD oder XRechnung.
Die aktuelle Fassung ist XRechnung 3.0 (Versionsbündel 3.0.x). Jede konforme XRechnung 3.0 trägt die Spezifikationskennung urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0. Diese Kennung sagt einem verarbeitenden System sofort, gegen welche Regeln es die Datei auslegen muss.
Warum eine XRechnung zwei Syntaxen hat
Die Norm EN 16931 beschreibt ein semantisches Datenmodell — also welche Informationen eine Rechnung enthält (Rechnungsnummer, Verkäufer, Nettobetrag und so weiter, jeweils als "BT"-Feld bezeichnet). Wie diese Informationen konkret in XML verpackt werden, überlässt die Norm zwei etablierten Syntaxen:
- CII (UN/CEFACT Cross Industry Invoice): dieselbe XML-Grammatik, die auch ZUGFeRD im PDF einbettet. Wurzelelement ist
CrossIndustryInvoice, die Tags tragen Präfixe wieram:undrsm:. - UBL (OASIS Universal Business Language): eine international verbreitete Syntax, die auch Peppol nutzt. Wurzelelement ist
Invoice, die Tags tragen Präfixe wiecbc:undcac:.
Beide Syntaxen sind gleichwertig zulässig. Eine XRechnung in CII und dieselbe XRechnung in UBL enthalten exakt dieselben Werte — nur die Tag-Namen unterscheiden sich. Als Empfänger können Sie sich nicht aussuchen, welche Syntax ankommt: Ihr System muss beide verstehen. Genau deshalb stellen wir hier beide Varianten bereit.
Echte XRechnung-Beispiele herunterladen (CII und UBL)
Damit das Format greifbar wird, finden Sie hier dieselbe Rechnung in beiden Syntaxen. Es sind synthetische Beispiele: Parteien und Beträge sind frei erfunden und dienen nur zur Demonstration. Technisch sind sie echt — wohlgeformte XRechnung-3.0-Dateien mit korrekter Spezifikationskennung, einer Beispiel-Leitweg-ID und in sich stimmigen Summen (netto 600,00 + 19 % USt. 114,00 = brutto 714,00 EUR).
Dieselbe Rechnung in beiden zulässigen Syntaxen. Frei erfundene Parteien, stimmige Beträge, gültige Struktur — ideal zum Ansehen im Viewer.
Synthetisches Beispiel, nur zur Demonstration — Muster GmbH und Stadtverwaltung Musterstadt sind keine realen Organisationen. Die Leitweg-ID ist ein Beispielwert.
Beide Dateien sind wohlgeformtes XML und tragen die aktuelle XRechnung-3.0-Kennung. Eine vollständige Konformitätsprüfung nach allen Geschäftsregeln (etwa die Prüfziffer der Leitweg-ID) nimmt der offizielle Validator der KoSIT vor; die hier gezeigten Dateien sind als Struktur- und Feldbeispiel gedacht, nicht als amtlich zertifizierte Prüfmuster.
Was die Beispielrechnung enthält
| Feld | Wert |
|---|---|
| Spezifikation | XRechnung 3.0 (CIUS zu EN 16931) |
| Syntaxen | CII (UN/CEFACT) und UBL (OASIS) — inhaltlich identisch |
| Spezifikationskennung (BT-24) | urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0 |
| Prozesskennung (BT-23) | urn:fdc:peppol.eu:2017:poacc:billing:01:1.0 |
| Leitweg-ID (BT-10, Beispiel) | 04011000-12345-06 |
| Rechnungsnummer | XR-2026-0815 |
| Rechnungsdatum | 15. Februar 2026 |
| Fälligkeit | 1. März 2026 |
| Verkäufer | Muster GmbH, Musterstrasse 12, 10115 Berlin (USt-IdNr. DE123456789) |
| Käufer | Stadtverwaltung Musterstadt, Rathausplatz 1, 12345 Musterstadt |
| Position 1 | Beratungsleistung, 4 Std. à 90,00 EUR = 360,00 EUR (19 % USt.) |
| Position 2 | Projektlizenz Software, 1 à 240,00 EUR = 240,00 EUR (19 % USt.) |
| Nettobetrag | 600,00 EUR |
| USt. (19 %) | 114,00 EUR |
| Gesamtbetrag | 714,00 EUR |
Beispiel im Viewer öffnen
- Laden Sie oben eine der beiden XRechnung-XML-Dateien herunter (CII oder UBL).
- Öffnen Sie den kostenlosen XRechnung- & ZUGFeRD-Viewer.
- Ziehen Sie die XML-Datei auf den Upload-Bereich. Der Viewer erkennt die Syntax, liest die Felder direkt in Ihrem Browser und stellt jedes Feld dar — Verkäufer, Käufer, Positionen, Steueraufstellung und Summen. Nichts wird hochgeladen.
Sie möchten eine eigene Datei prüfen, statt sie nur anzusehen? Ziehen Sie Ihre XRechnung in den E-Rechnung-Validator. Er prüft clientseitig, ob die Datei wohlgeformt ist, ein unterstütztes Profil trägt, die Pflichtfelder gesetzt sind und die Summen rechnerisch zusammenpassen. Die Datei verlässt Ihr Gerät dabei nicht.
Beispiel: XML-Struktur in beiden Syntaxen
Die folgenden Ausschnitte stammen aus den Dateien oben. Kommentare erklären die wichtigsten Tags; die zweite Position und einige Felder sind aus Platzgründen gekürzt. Beachten Sie, wie beide Syntaxen dieselben Werte tragen.
CII-Syntax (UN/CEFACT)
<rsm:CrossIndustryInvoice
xmlns:rsm="urn:un:unece:uncefact:data:standard:CrossIndustryInvoice:100"
xmlns:ram="urn:un:unece:uncefact:data:standard:ReusableAggregateBusinessInformationEntity:100"
xmlns:udt="urn:un:unece:uncefact:data:standard:UnqualifiedDataType:100">
<!-- Kontext: Prozess- und Spezifikationskennung (hier XRechnung 3.0) -->
<rsm:ExchangedDocumentContext>
<ram:GuidelineSpecifiedDocumentContextParameter>
<ram:ID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</ram:ID>
</ram:GuidelineSpecifiedDocumentContextParameter>
</rsm:ExchangedDocumentContext>
<!-- Kopf: Rechnungsnummer, Art und Datum -->
<rsm:ExchangedDocument>
<ram:ID>XR-2026-0815</ram:ID>
<ram:TypeCode>380</ram:TypeCode> <!-- 380 = Rechnung -->
<ram:IssueDateTime>
<udt:DateTimeString format="102">20260215</udt:DateTimeString>
</ram:IssueDateTime>
</rsm:ExchangedDocument>
<rsm:SupplyChainTradeTransaction>
<ram:ApplicableHeaderTradeAgreement>
<ram:BuyerReference>04011000-12345-06</ram:BuyerReference> <!-- Leitweg-ID -->
<ram:SellerTradeParty>
<ram:Name>Muster GmbH</ram:Name>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>
<ram:Name>Stadtverwaltung Musterstadt</ram:Name>
</ram:BuyerTradeParty>
</ram:ApplicableHeaderTradeAgreement>
<!-- Steueraufstellung und Gesamtbetrag -->
<ram:ApplicableHeaderTradeSettlement>
<ram:InvoiceCurrencyCode>EUR</ram:InvoiceCurrencyCode>
<ram:SpecifiedTradeSettlementHeaderMonetarySummation>
<ram:LineTotalAmount>600.00</ram:LineTotalAmount>
<ram:TaxBasisTotalAmount>600.00</ram:TaxBasisTotalAmount>
<ram:TaxTotalAmount currencyID="EUR">114.00</ram:TaxTotalAmount>
<ram:GrandTotalAmount>714.00</ram:GrandTotalAmount>
<ram:DuePayableAmount>714.00</ram:DuePayableAmount>
</ram:SpecifiedTradeSettlementHeaderMonetarySummation>
</ram:ApplicableHeaderTradeSettlement>
</rsm:SupplyChainTradeTransaction>
</rsm:CrossIndustryInvoice>
UBL-Syntax (OASIS)
<ubl:Invoice
xmlns:ubl="urn:oasis:names:specification:ubl:schema:xsd:Invoice-2"
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2">
<!-- Kontext, Kopf und Leitweg-ID direkt als Kopf-Elemente -->
<cbc:CustomizationID>urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0</cbc:CustomizationID>
<cbc:ID>XR-2026-0815</cbc:ID>
<cbc:IssueDate>2026-02-15</cbc:IssueDate>
<cbc:InvoiceTypeCode>380</cbc:InvoiceTypeCode>
<cbc:DocumentCurrencyCode>EUR</cbc:DocumentCurrencyCode>
<cbc:BuyerReference>04011000-12345-06</cbc:BuyerReference> <!-- Leitweg-ID -->
<cac:AccountingSupplierParty>
<cac:Party><cac:PartyName><cbc:Name>Muster GmbH</cbc:Name></cac:PartyName></cac:Party>
</cac:AccountingSupplierParty>
<cac:AccountingCustomerParty>
<cac:Party><cac:PartyLegalEntity>
<cbc:RegistrationName>Stadtverwaltung Musterstadt</cbc:RegistrationName>
</cac:PartyLegalEntity></cac:Party>
</cac:AccountingCustomerParty>
<!-- Summen -->
<cac:LegalMonetaryTotal>
<cbc:LineExtensionAmount currencyID="EUR">600.00</cbc:LineExtensionAmount>
<cbc:TaxExclusiveAmount currencyID="EUR">600.00</cbc:TaxExclusiveAmount>
<cbc:TaxInclusiveAmount currencyID="EUR">714.00</cbc:TaxInclusiveAmount>
<cbc:PayableAmount currencyID="EUR">714.00</cbc:PayableAmount>
</cac:LegalMonetaryTotal>
</ubl:Invoice>
Beide Ausschnitte zeigen dieselbe Rechnung: Kennung, Rechnungsnummer, Leitweg-ID, Parteien und Summen. In CII heißt der Nettogesamtbetrag LineTotalAmount, in UBL LineExtensionAmount — die Werte (600,00, 114,00, 714,00 EUR) sind identisch. Ein Viewer oder Verarbeitungssystem ordnet beide auf dasselbe EN-16931-Feld (BT-106, BT-112) ab.
Die Leitweg-ID kurz erklärt
Die Leitweg-ID ist eine Routing- und Käuferreferenz, mit der eine E-Rechnung eindeutig einer öffentlichen Stelle zugeordnet wird. Im XML steht sie im Feld BT-10 (BuyerReference in beiden Syntaxen). Sie ist Pflicht bei Rechnungen an öffentliche Auftraggeber und folgt dem Aufbau Grobadressierung-Feinadressierung-Prüfziffer, im Beispiel 04011000-12345-06. Die konkrete Leitweg-ID teilt Ihnen der jeweilige Auftraggeber mit; der hier gezeigte Wert ist nur ein Beispiel.
XRechnung empfangen und verarbeiten
Warum automatisierte Verarbeitung?
Weil eine XRechnung reines XML ist, lässt sie sich ohne erneutes Abtippen auslesen — vorausgesetzt, Ihr System versteht beide Syntaxen und ordnet die Felder korrekt zu. Manuelles Öffnen, Sichten und Übertragen einzelner XML-Dateien skaliert nicht. Sinnvoller ist ein Eingang, der jede eingehende Datei automatisch erkennt, die Felder ausliest und nur die unsicheren Werte zur Prüfung vorlegt.
So sieht ein typischer Empfangs-Workflow aus
- Rechnungseingang: Empfangene Rechnungen werden hochgeladen oder an eine Sammeladresse weitergeleitet — als XRechnung (CII oder UBL), ZUGFeRD oder PDF.
- Erkennung: Das System erkennt Format und Syntax und liest die strukturierten XML-Felder direkt aus, sodass die Daten nicht neu erfasst werden müssen.
- Prüfung: Jemand kontrolliert die ausgelesenen Felder; unsichere Werte und mögliche Duplikate sollten markiert sein.
- Export: Die geprüften Daten gehen an die Buchhaltung, etwa als CSV oder im DATEV-EXTF-Format für Ihren Steuerberater. Die Originaldateien bleiben unverändert erhalten.
Offen bleibt oft die Frage, zu welchen Zahlungen auf dem Konto noch der Beleg fehlt. Mit Heft entwickeln wir dafür gerade einen Beleg-Agenten: Er setzt beim Bankkonto an, sucht zu jeder Zahlung den fehlenden Beleg (Postfach, E-Rechnungen, Portale) und übergibt ihn an DATEV bzw. die Steuerkanzlei. Noch ist er nicht verfügbar.
Hefts geplanter Beleg-Agent
Der geplante Beleg-Agent soll bei deinem Bankkonto starten, Belege suchen und offene Fälle für die Monatsübergabe zeigen. Heft ist noch in Entwicklung.
XRechnung erstellen vs. empfangen
Viele Beiträge behandeln, wie man eine XRechnung erstellt — also gültiges CII- oder UBL-XML generiert, die Leitweg-ID einträgt und gegen die Geschäftsregeln validiert. Dafür brauchen Sie eine Buchhaltungs- oder Rechnungssoftware, die den Versand von XRechnungen unterstützt.
Die andere Seite ist der Empfang und die Weiterverarbeitung: XRechnungen entgegennehmen, auslesen, Felder prüfen und an die Buchhaltung übergeben. Dafür sind oft andere Werkzeuge im Einsatz als für die Rechnungsstellung.
Häufig gestellte Fragen
Wie sieht eine XRechnung aus?
Eine XRechnung ist eine reine XML-Datei ohne sichtbares Layout. Sie enthält alle Rechnungsdaten strukturiert nach der deutschen CIUS zur Norm EN 16931. Ohne Viewer wirkt sie kryptisch; ein Viewer rendert die Felder wieder in eine lesbare Rechnungsansicht. Laden Sie oben ein Beispiel herunter und öffnen Sie es im Browser-Viewer.
Was ist der Unterschied zwischen CII und UBL?
CII (UN/CEFACT) und UBL (OASIS) sind zwei zulässige XML-Syntaxen für dieselben Rechnungsdaten. Sie unterscheiden sich in den Tag-Namen und der Struktur, nicht im Inhalt. Eine XRechnung darf in beiden Syntaxen vorliegen; empfangende Systeme müssen beide verarbeiten können.
Welche XRechnung-Version ist aktuell?
Aktuell ist das Versionsbündel XRechnung 3.0 (3.0.x). Konforme Dateien tragen die Spezifikationskennung urn:cen.eu:en16931:2017#compliant#urn:xeinkauf.de:kosit:xrechnung_3.0.
Was ist die Leitweg-ID?
Die Leitweg-ID ist eine Routing- und Käuferreferenz (Feld BT-10), die eine E-Rechnung eindeutig einer öffentlichen Stelle zuordnet. Sie ist bei Rechnungen an öffentliche Auftraggeber Pflicht und wird Ihnen vom jeweiligen Auftraggeber mitgeteilt.
Ist eine XRechnung dasselbe wie ZUGFeRD?
Nein. ZUGFeRD ist ein Hybridformat (PDF mit eingebettetem CII-XML), die XRechnung ist reines XML. Beide erfüllen EN 16931. Details im Vergleich ZUGFeRD oder XRechnung und im ZUGFeRD-Rechnungsbeispiel.
Wie prüfe ich eine XRechnung-Datei?
Öffnen Sie sie im XRechnung- & ZUGFeRD-Viewer, um die Felder anzusehen, oder ziehen Sie sie in den E-Rechnung-Validator. Dieser prüft clientseitig Struktur, Profil, Pflichtfelder und die rechnerische Konsistenz der Summen. Beide Tools arbeiten ohne Upload.
Offizielle Quellen
- XRechnung — XStandards Einkauf / KoSIT — die offizielle Standardseite mit der jeweils aktuellen XRechnung-Version und den Spezifikationen (zuletzt geprüft 2026-07-17).
- KoSIT: Validator-Konfiguration XRechnung — die offizielle Prüfkonfiguration; die Konfiguration vom 31. Januar 2026 zielt auf XRechnung 3.0.x (zuletzt geprüft 2026-07-17).
- Leitweg-ID — die offizielle Informationsseite zu Aufbau und Vergabe der Leitweg-ID (zuletzt geprüft 2026-07-17).
- BMF: Fragen und Antworten zur Einführung der obligatorischen E-Rechnung — die FAQ des Bundesfinanzministeriums zur E-Rechnungspflicht (zuletzt geprüft 2026-07-17).
Heft Team
AutorThe Heft team writes guides on receipts, e-invoices and bookkeeping for businesses in Germany.
Dieser Artikel dient der allgemeinen Information und ersetzt keine rechtliche, steuerliche oder buchhalterische Beratung. Prüfe Anforderungen mit einer qualifizierten Fachperson.