BR-DE-4Das Element "Seller post code" (BT-38) muss übermittelt werden.
Official rule text
The seller's postal address must carry the post code (BT-38) — and the check is only that something is there, not that it looks like one. EN 16931 does not require BT-38 at all; the German CIUS is what makes it mandatory, with BR-DE-9 as the buyer's equivalent.
- Severity
- Error
- Applies to
- CII, UBL
- Rule set
- v2026-08-31
- Checked on
Written and checked against the official KoSIT rule set by Dmytro Yalanskyi, NormAPI.
Why does BR-DE-4 happen?
As with the city, the post code usually sits inside a combined address line and is never populated as its own field on export. A placeholder gets through technically: that existence check is the only expression in the whole rule set that touches BT-38 — neither XRechnung nor EN 16931 tests length, digits or country. "00000" passes validation and surfaces only at the recipient.
What the validator checks
The expression the official KoSIT rule set evaluates — not paraphrased, but read from the Schematron file it ships. UBL and CII address different document trees, so the same rule reads differently in each.
- UBL
cbc:PostalZone[boolean(normalize-space(.))]- CII
ram:PostcodeCode[boolean(normalize-space(.))]
Source: rule set v2026-08-31
How do you fix BR-DE-4?
Send the post code in BT-38: cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone in UBL, ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCode in CII. Note that CII calls the element PostcodeCode, not PostalCode — a regular slip when mapping by hand. The city beside it is BR-DE-3.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Musterstraße 1</cbc:StreetName>
<cbc:CityName>Berlin</cbc:CityName>
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingSupplierParty><cac:AccountingSupplierParty>
<cac:Party>
<cac:PostalAddress>
<cbc:StreetName>Musterstraße 1</cbc:StreetName>
<cbc:CityName>Berlin</cbc:CityName>
<cbc:PostalZone>10115</cbc:PostalZone>
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingSupplierParty>Related rules
NormAPI provides technical validation, not tax or legal advice.