Technischer Deep-Dive
XML-Rechnungsstruktur erklärt: UBL, CII und wichtige Felder
Eine E-Rechnung ist keine zufällige XML-Datei. Sie folgt einer strukturierten Logik: Rechnungskopf, Parteien, Positionen, Steuern, Summen und Zahlungsdaten. Dieser Artikel erklärt die Struktur praxisnah.
Zuletzt fachlich geprüft: 14. Mai 2026
Kurz gesagt
XML-Rechnungen wie XRechnung, UBL oder CII speichern Rechnungsdaten in klar getrennten Bereichen. Was im PDF als eine visuelle Seite erscheint, wird in XML als strukturierte Daten modelliert: Kopf, Verkäufer, Käufer, Positionen, Steuern, Summen und Zahlung.
Diese Struktur ist der Grund, warum Software Rechnungen automatisch verarbeiten kann. Sie ist aber auch der Grund, warum eine Datei scheitern kann, obwohl sie für Menschen in einem Viewer plausibel aussieht.
Semantisches Modell und XML-Syntax
EN 16931 beschreibt, welche fachlichen Rechnungsinformationen benötigt werden. UBL und CII beschreiben, wie diese Informationen technisch als XML geschrieben werden. XRechnung nutzt diese Syntaxen und konkretisiert sie für deutsche Anforderungen.
Die gleiche fachliche Information kann in UBL und CII anders aussehen. Deshalb sollte man nicht nur nach Elementnamen suchen, sondern verstehen, welcher Business Term gemeint ist.
Die wichtigsten Bausteine einer XML-Rechnung
Fast jede strukturierte Rechnung folgt derselben fachlichen Logik. Die technische Benennung kann je nach Syntax variieren, aber die Geschäftsbereiche bleiben ähnlich.
| Baustein | Was darin steht | Typischer Fehler |
|---|---|---|
| Rechnungskopf | Rechnungsnummer, Datum, Währung, Dokumenttyp | Falsches Datum, fehlende Nummer, unpassender Typcode |
| Parteien | Verkäufer, Käufer, Adresse, Land, Steuer-IDs | Stammdaten fehlen oder sind nicht strukturiert |
| Referenzen | Käuferreferenz, Bestellung, Vertrag, Leitweg-ID | Leitweg-ID fehlt oder steht im falschen Feld |
| Positionen | Beschreibung, Menge, Einheit, Preis, Positionswert | Menge, Einheit oder Positionssumme passt nicht |
| Steuern | Steuerkategorie, Satz, Basis, Betrag | Steuerlogik oder Befreiungsgrund ist inkonsistent |
| Summen und Zahlung | Netto, Steuer, Brutto, Zahlbetrag, IBAN, Fälligkeit | Rundung, Gesamtbetrag oder Zahlungsangabe fehlt |
Rechnungskopf
Der Rechnungskopf enthält grundlegende Informationen: Rechnungsnummer, Rechnungsdatum, Dokumenttyp, Währung und Profilangaben. Diese Daten helfen Systemen, die Datei einzuordnen und den richtigen Validierungspfad zu wählen.
Häufige Fehler entstehen, wenn ein Profil nicht eindeutig angegeben ist, ein Dokumenttyp nicht zur Rechnung passt oder Pflichtinformationen zwar im PDF stehen, aber nicht strukturiert exportiert wurden.
Verkäufer, Käufer und Adressen
In XML sind Verkäufer und Käufer nicht nur Textblöcke. Sie bestehen aus strukturierten Feldern: Name, Straße, Postleitzahl, Ort, Land, steuerliche Identifikatoren und elektronische Adressen.
Für automatische Verarbeitung ist das wichtig. Ein Mensch kann eine Adresse in einem PDF interpretieren. Software braucht die Adresse in eindeutig getrennten Feldern, inklusive Ländercode und gegebenenfalls Identifikatoren.
Referenzen: Käuferreferenz, Bestellung und Leitweg-ID
Referenzen verbinden die Rechnung mit dem zugrunde liegenden Geschäftsvorgang. Dazu gehören Käuferreferenz, Bestellnummer, Vertragsreferenz oder Lieferantennummer. Bei öffentlichen Auftraggebern ist die Leitweg-ID besonders wichtig.
Diese Angaben dürfen nicht beliebig in Freitextfeldern stehen. Der Empfängerprozess erwartet sie oft an einer bestimmten Stelle. Ein häufiger Fehler ist die Verwechslung von Bestellnummer und Käuferreferenz.
Positionen: Das Herz der Rechnung
Rechnungspositionen enthalten, was geliefert oder geleistet wurde: Beschreibung, Menge, Einheit, Einzelpreis, Positionswert und Steuerzuordnung. Jede Position muss später zur Summe der Rechnung passen.
Fehler entstehen oft durch Rundung, Einheiten, negative Beträge, Rabatte oder abweichende Steuerkategorien. Wenn die Positionen nicht sauber strukturiert sind, scheitern Summen- und Steuerregeln.
Steuern und Steueraufschlüsselung
Die Steuerlogik ist in XML-Rechnungen besonders streng. Es reicht nicht, irgendwo einen Steuerbetrag zu nennen. Steuerkategorie, Steuersatz, Steuerbasis und Steuerbetrag müssen zusammenpassen.
Bei Steuerbefreiung, Reverse Charge oder Nullsteuersatz müssen die strukturierten Angaben zur fachlichen Aussage der Rechnung passen. Sonst kann die Rechnung an EN-16931-Business-Rules scheitern.
Summen und Zahlungsdaten
Am Ende der Rechnung stehen Nettosumme, Steuerbetrag, Bruttosumme, eventuell Vorauszahlungen, Rundungen und der tatsächlich zu zahlende Betrag. Diese Summen müssen rechnerisch zu Positionen, Zuschlägen und Abschlägen passen.
Zahlungsdaten wie IBAN, Zahlungsart, Fälligkeit oder Verwendungszweck sind nicht nur Komfort. Sie können für automatische Buchung und Zahlungsfreigabe notwendig sein.
Warum die Struktur für Fehleranalyse wichtig ist
Wenn ein Validator einen Fehler meldet, hilft die Struktur bei der Ursachenanalyse. Ein Schemafehler betrifft meist den Aufbau. Eine Business Rule betrifft fachliche Zusammenhänge wie Summen, Steuerlogik oder Pflichtfelder.
Deshalb ist ein lesbarer Bericht so hilfreich: Er übersetzt technische XML-Strukturen in Rechnungsbereiche, die Buchhaltung, Lieferant oder ERP-Team verstehen und korrigieren können.
Praktische Checkliste
- Nicht nur XML-Elementnamen betrachten, sondern fachliche Business Terms verstehen
- Rechnungskopf, Parteien, Positionen, Steuern, Summen und Zahlung getrennt prüfen
- Referenzen wie BT-10, Bestellung und Leitweg-ID nicht vermischen
- Bei ZUGFeRD/Factur-X die eingebettete XML-Struktur validieren
- Summenfehler von Positionsdaten und Rundungslogik aus analysieren
- Fehlerbericht nutzen, um technische XML-Pfade in fachliche Korrekturen zu übersetzen
Merksatz
Eine XML-Rechnung ist kein PDF in spitzen Klammern. Sie ist ein strukturiertes Datenmodell, in dem jeder Rechnungsbereich eine eigene fachliche Rolle hat.