Auf dieser Seite
Die kurze Antwort
BR-09 schlägt fehl, wenn die cac:PostalAddress des Verkäufers kein cac:Country/cbc:IdentificationCode hat oder nur ein leeres. Schreiben Sie den zweistelligen Code nach ISO 3166-1 alpha-2 für das Land, in dem die Anschrift des Verkäufers liegt, als letztes Kindelement in diese Anschrift: im aufgezeichneten Beispiel GB.
Ein Ländername ist kein Ersatz. Im Versuch ließ cac:Country/cbc:Name mit United Kingdom anstelle des Codes BR-09 weiter fehlschlagen und fügte die Warnung UBL-CR-166 hinzu, weil der Name außerhalb des Rechnungsmodells liegt.
Was die Regel prüft
Die Regel wird innerhalb jeder cac:PostalAddress des Verkäufers ausgewertet und meldet an dieser Anschrift. Sie entfernt Leerraum am Rand des Textes von cac:Country/cbc:IdentificationCode und schlägt fehl, wenn nichts übrig bleibt, ob nun die Gruppe cac:Country fehlt oder der Code darin leer ist.
Ein leerer oder nur aus Leerzeichen bestehender Code bringt zwei weitere Befunde mit. Im Versuch meldeten ein leeres cbc:IdentificationCode und eines mit einem einzelnen Leerzeichen jeweils BR-09, dazu BR-CL-14 für einen Wert, der nicht auf der Länderliste steht, und PEPPOL-EN16931-R008 für das Element ohne Inhalt.
Ob der Text ein echter Code ist, wird hier nicht geprüft. Im Versuch bestand gb in Kleinbuchstaben BR-09 und wurde von BR-CL-14 abgewiesen, das exakt mit der Liste nach ISO 3166-1 vergleicht, Großschreibung eingeschlossen.
Hat der Verkäufer überhaupt keine Anschrift, fehlt der Regel der Ort, an dem sie laufen könnte. Ein solches Dokument meldet stattdessen BR-08, und BR-09 bleibt still.
| Begriff | Bedeutung | UBL-Element |
|---|---|---|
| BT-40 | Ländercode des Verkäufers | cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cac:Country/cbc:IdentificationCode |
| BG-5 | Postanschrift des Verkäufers | cac:AccountingSupplierParty/cac:Party/cac:PostalAddress |
Wie es in einer Integration dazu kommt
Mögliche Ursachen, abgeleitet aus der Form der Regel und nicht aus gemessener Nutzung:
- Die Firmeneinstellungen führen das Land des Verkäufers als Namen, und das Mapping schreibt ihn in
cac:Country/cbc:Nameoder lässt ihn weg, weil er kein Code ist. - Das Heimatland wird angenommen statt gespeichert, sodass der Datensatz des Verkäufers kein Länderfeld hat und der Export kein
cac:Countryschreibt. - Die Anschriften von Verkäufer und Käufer werden von getrenntem Code aufgebaut, und das Land wurde nur in das Mapping des Käufers aufgenommen.
- Eine Zuordnung von gespeichertem Ländernamen zu Code scheitert an einer unerwarteten Schreibweise und liefert eine leere Zeichenkette, die als leeres Element geschrieben wird.
So korrigieren Sie das Dokument
- Nehmen Sie das Land aus den Stammdaten des Verkäufers: das Land der Anschrift, die in
cac:AccountingSupplierParty/cac:Party/cac:PostalAddressübermittelt wird. - Wandeln Sie es in den Code nach ISO 3166-1 alpha-2 in Großbuchstaben um, zum Beispiel
GB,DEoderNL. - Schreiben Sie ihn als
cac:Country/cbc:IdentificationCodean das Ende der Anschrift, nachcbc:PostalZoneund nach einem etwaigencbc:CountrySubentityodercac:AddressLine. - Übermitteln Sie kein
cac:Country/cbc:Name. Der Code ist das einzige Länderelement, das das Modell verwendet, und der Name zieht eine Warnung nach sich. - Hat der Datensatz des Verkäufers kein Land, brechen Sie den Export ab und vervollständigen Sie den Datensatz, statt ein leeres Element zu schreiben.
Vorher und nachher
Dies sind Ausschnitte, keine vollständigen Dokumente. Die vollständigen synthetischen Dokumente, aus denen sie stammen, sind unten verlinkt.
Ausschnitt der fehlerhaften Rechnung: Die Anschrift des Verkäufers endet bei der Postleitzahl
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>1 Example Street</cbc:StreetName>
<cbc:CityName>London</cbc:CityName>
<cbc:PostalZone>SW1A 1AA</cbc:PostalZone>
</cac:PostalAddress>
<!-- tax scheme and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>Ausschnitt der korrigierten Rechnung: Die Anschrift des Verkäufers schließt mit dem Ländercode GB
<cac:AccountingSupplierParty>
<cac:Party>
<cbc:EndpointID schemeID="0088">7300010000001</cbc:EndpointID>
<cac:PostalAddress>
<cbc:StreetName>1 Example Street</cbc:StreetName>
<cbc:CityName>London</cbc:CityName>
<cbc:PostalZone>SW1A 1AA</cbc:PostalZone>
<cac:Country>
<cbc:IdentificationCode>GB</cbc:IdentificationCode>
</cac:Country>
</cac:PostalAddress>
<!-- tax scheme and legal entity omitted from this fragment -->
</cac:Party>
</cac:AccountingSupplierParty>Die korrigierte Rechnung schließt die Anschrift des Verkäufers mit cac:Country ab, das GB enthält; die fehlerhafte Rechnung endet nach der Postleitzahl und ist sonst identisch. BR-09 ist der einzige Befund des fehlerhaften Dokuments. Die Anschrift des Käufers behält ihr Land, daher bleibt BR-11 still, und ohne Code gibt es für BR-CL-14 nichts zu prüfen.
Was der Validator gemeldet hat
- Die fehlerhafte Rechnung meldet BR-09. Das korrigierte Dokument besteht jeden Prüfschritt ohne Befunde.Fehlerhaftes XML herunterladenKorrigiertes XML herunterladen
Aufgezeichnet mit phive 12.1.0 / phive-rules-peppol 4.5.6 / Saxon-HE 12.10, der Engine hinter dem kostenlosen Validator, mit synthetischen Daten. Ein aufgezeichnetes Ergebnis ist ein Regressionsnachweis für diese Dokumente, keine Zertifizierung.
Wo die Regel gilt
- Gilt gleichermaßen für
InvoiceundCreditNote. Im Versuch meldete eine Gutschrift, deren Verkäuferanschrift kein Land hatte, nurBR-09, an dercac:PostalAddressdes Verkäufers. - Eine Regel aus EN 16931. Der Prüfschritt Peppol beanstandete im aufgezeichneten Beispiel nichts am fehlenden Land des Verkäufers.
- Die Anschrift des Käufers hat dieselbe Anforderung unter eigener Kennung. Im Versuch meldete das Entfernen beider Länder
BR-09undBR-11nebeneinander, jede an ihrer eigenen Anschrift. - Ein Steuervertreter des Verkäufers braucht, falls vorhanden, ebenfalls einen Ländercode in seiner eigenen Anschrift, was
BR-20prüft.
Verwandte Regeln
- BR-08 verlangt die Postanschrift des Verkäufers, in die dieser Code gehört
- BR-11 verlangt dasselbe von der Postanschrift des Käufers
- BR-CL-14 prüft den Code gegen die Länderliste nach ISO 3166-1, sobald er vorhanden ist
- BR-20 verlangt auch in der Anschrift des Steuervertreters einen Ländercode
- Alle Regeln der Referenz ansehen
- Hintergrund (auf Englisch): Understanding EN 16931 validation errors
Umfang und Quelle
Geschrieben für Peppol BIS Billing 3.0.21 (May 2026), EN 16931 1.3.16, angewendet auf Invoice- und CreditNote-Dokumente in UBL 2.1. Andere Profile, Syntaxen und Releases können diese Kennung anders definieren. Version des Hinweiskatalogs 2026-09-28.1: Quelle geprüft am 2026-09-28, Erklärung zuletzt aktualisiert am 2026-09-28.
Die offizielle Definition von BR-09 (auf Englisch) enthält den normativen Wortlaut und den Test. Diese Seite ist unsere Erklärung dazu, keine Kopie.
Die Erklärung ändert das Urteil der Engine nicht. Dass Sie diesen Befund beheben, heißt nicht, dass das Dokument jeden Prüfschritt besteht. Die Validierung bescheinigt keine rechtliche oder steuerliche Konformität und überträgt kein Dokument über Peppol.

