Attestwire › Rule reference › BR-DE-4
BR-DE-4 XRechnung requires the seller post code
noun · XRechnung · fatal · BT-38
Your invoice was refused because your own address has no post code. An XRechnung needs a city and a post code for both seller and buyer, while core EN 16931 is satisfied by the country code alone. Put in the post code from your letterhead, as text, so leading zeros survive. In the standard the field is BT-38, and BR-DE-4 is the rule that requires it.
Diese Regel auf Deutsch: BR-DE-4 — auf Deutsch erklärt.
- Business term
BT-38— Seller post code- Severity
fatal- Applies to
xrechnung-ubl, xrechnung-cii
The fix
Set seller.address.postalCode, for example "10115", as a string, so a leading zero is not lost.
What the rule requires
Set the seller post code (BT-38). Its partner is BR-DE-3 for the city; together they turn the country-level address of EN 16931 into one a letter could reach.
The field is a string, not a number. Leading zeros are kept, and foreign formats with letters, such as SW1A 1AA, or with fewer digits, such as 1010, are just as valid. Copy the value as it appears on your letterhead.
In this library the field is seller.address.postalCode.
Das Element "Seller post code" (BT-38) muss übermittelt werden.
A passing value
"postalCode": "10115"Why it exists
For the same reason as the city: §14 UStG requires the full address, and in German postal practice there is no full address without a post code. The check catches the gap where it is still cheap to fix.
What the library returns
The full error returned by @attestwire/en16931. It includes the rule ID,
affected field and suggested correction. Developers can use this object in their application:
{
"rule": "BR-DE-4",
"field": "BT-38",
"severity": "fatal",
"message": "XRechnung requires the element \"Seller post code\" (BT-38). Core EN 16931 only requires the country code, but the German CIUS additionally makes city and post code mandatory on both parties so that the address is deliverable, not merely jurisdictional.",
"fix": "Set seller.address.postalCode.",
"example": "\"postalCode\": \"10115\"",
"xpath": "/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone",
"docsUrl": "https://attestwire.com/rules/BR-DE-4"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.
How our check differs
Presence only. We do not check the format, the length, or whether the post code belongs to the city, so "x" passes here. The rule is reported only when the invoice has a seller address; with none at all, the finding is BR-08.
See also: BR-DE-3 — the seller city; BR-DE-9 — the same requirement for the buyer post code.