BR-DE-4: In der Verkäuferanschrift fehlt die Postleitzahl
Der Anschrift des Rechnungsstellers fehlt die Postleitzahl. Ergänzen Sie sie im eigenen Feld; bei einer Postfach-Anschrift gehört dort die Postleitzahl des Postfachs hin.
[BR-DE-4] Das Element "Seller post code" (BT-38) muss übermittelt werden.
Betroffen:BG-5BT-38
Was die Regel prüft
BT-38 „Seller post code“ ist in der Visualisierung das Feld „PLZ“ beim Verkäufer. Die Spezifikation führte BT-38 im Datenmodell früher als optional, obwohl BR-DE-4 das Feld verlangte. Mit XRechnung 1.2.0 wurde die Anzahl auf 1 gesetzt (Änderung XRG-v1.2.0-34 in der Versionshistorie).
- UBL: Kontext
cac:AccountingSupplierParty/cac:Party/cac:PostalAddress, Testcbc:PostalZone[boolean(normalize-space(.))]. - CII: Kontext
ram:SellerTradeParty/ram:PostalTradeAddress, Testram:PostcodeCode[boolean(normalize-space(.))].
Die Regel prüft nur, ob ein nicht leerer Wert vorhanden ist. Länge und Format prüft sie nicht. Eine Postleitzahl „1067“ statt „01067“ besteht die Prüfung, obwohl die führende Null verloren gegangen ist. Eine Ausnahme für Länder ohne Postleitzahlsystem gibt es ebenfalls nicht.
Typische Ursachen
- Postleitzahl im Ortsfeld. In den Firmendaten steht „60388 Frankfurt am Main“ komplett im Feld Ort. BT-37 ist damit belegt, BT-38 leer. Deshalb erscheint BR-DE-4 oft allein, ohne BR-DE-3.
- Postfach-Anschrift. Als Anschrift ist nur „Postfach 123456“ mit Ort hinterlegt, die zum Postfach gehörende Postleitzahl fehlt.
- Anschrift aus dem Briefkopf. Die Software übernimmt die Anschrift aus einem Textbaustein der PDF-Vorlage und kann die Postleitzahl darin nicht als eigenes Feld erkennen.
- Verkäufer mit Sitz im Ausland. Für ein Land ohne Postleitzahlen bleibt das Feld leer. XRechnung verlangt es trotzdem.
Beispiel aus der KoSIT-Testsuite
Testdatei 01.09 verwendet als Verkäuferanschrift ein Postfach. Auch dort steht die Postleitzahl im eigenen Element.
<cac:PostalAddress>
<cbc:StreetName>Postfach 123456</cbc:StreetName>
<cbc:CityName>[Seller city]</cbc:CityName>
<cbc:PostalZone>12345</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>DE</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>Quelle: KoSIT XRechnung-Testsuite 2026-08-31, Datei instances/standard/01.09a-INVOICE_ubl.xml (Apache 2.0)
ram:PostcodeCode ist das erste Kindelement der Anschrift<ram:PostalTradeAddress>
<ram:PostcodeCode>12345</ram:PostcodeCode>
<ram:LineOne>Postfach 123456</ram:LineOne>
<ram:CityName>[Seller city]</ram:CityName>
<ram:CountryID>DE</ram:CountryID>
</ram:PostalTradeAddress>Quelle: KoSIT XRechnung-Testsuite 2026-08-31, Datei instances/standard/01.09a-INVOICE_uncefact.xml (Apache 2.0)
Fehlerhaft wäre dieselbe Anschrift ohne cbc:PostalZone bzw. ram:PostcodeCode, oder mit <cbc:CityName>12345 Musterstadt</cbc:CityName> als einzigem Ortselement.
Lösung
In der Rechnungssoftware
- Trennen Sie in den Firmendaten Postleitzahl und Ort. Steht die Postleitzahl im Ortsfeld, verschieben Sie sie in das Postleitzahlfeld.
- Bei Postfach-Anschriften tragen Sie die Postleitzahl des Postfachs ein, nicht die der Hausanschrift.
- Kontrollieren Sie Postleitzahlen, die mit 0 beginnen, etwa in Dresden oder Leipzig. Geht die führende Null beim Export verloren, meldet die Prüfung das nicht.
Im XML
- UBL: Fügen Sie
cbc:PostalZonein der Verkäuferanschrift direkt nachcbc:CityNameein. Behandeln Sie den Wert im Generator als Text, nicht als Zahl. - CII: Fügen Sie
ram:PostcodeCodeals erstes Kindelement vonram:SellerTradeParty/ram:PostalTradeAddressein. An anderer Stelle meldet die Schemaprüfung einen Fehler. - Prüfen Sie die Datei anschließend erneut mit XRechnung prüfen.
Akzeptiert BR-DE-4 ausländische Postleitzahlen mit Buchstaben?
Ja. Die Regel verlangt nur einen nicht leeren Text. Werte wie „1012 AB“ oder „SW1A 1AA“ bestehen die Prüfung ebenso wie fünfstellige deutsche Postleitzahlen.
Muss die Postleitzahl zum Ort passen?
Für BR-DE-4 nicht. Das Schematron gleicht Postleitzahl und Ort nicht ab. Eine falsche Kombination fällt erst auf, wenn ein Mensch die Rechnung liest.
Quellen
- XRechnung Schematron 2.6.0 (Release v2.6.0, Dateien ubl/XRechnung-UBL-validation.sch und cii/XRechnung-CII-validation.sch)KoSIT (GitHub itplr-kosit/xrechnung-schematron), 31. August 2026 · geprüft am 7. November 2026
- XRechnung-Testsuite, Release 2026-08-31KoSIT (GitHub itplr-kosit/xrechnung-testsuite), 31. August 2026 · geprüft am 7. November 2026
- Spezifikation XRechnung Version 3.0.2KoSIT (xeinkauf.de), 20. Juni 2024 · geprüft am 7. November 2026