BR-DE-8Das Element "Buyer city" (BT-52) muss übermittelt werden.
Official rule text
The buyer's postal address must carry the city (BT-52) — EN 16931 asks only for the country, and the city comes from the German CIUS. It is the buyer's invoicing address that is meant, not the seller's (BR-DE-3) and not a differing delivery address (BR-DE-10).
- 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-8 happen?
The source system usually holds the address as one collapsed line ("Musterstraße 1, 10115 Berlin") and the mapping never splits it into fields — so the city ends up nowhere. An empty element does not count either: the expression tests with normalize-space. And for a public-sector buyer the Leitweg-ID in BT-10 does not stand in for the address — it is a routing identifier, and group BG-8 still has to be complete.
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:CityName[boolean(normalize-space(.))]- CII
ram:CityName[boolean(normalize-space(.))]
Source: rule set v2026-08-31
How do you fix BR-DE-8?
Send the city as structured data in BT-52: cac:AccountingCustomerParty/cac:Party/cac:PostalAddress/cbc:CityName in UBL, ram:BuyerTradeParty/ram:PostalTradeAddress/ram:CityName in CII.
In the XML
A UBL fragment. The CII path is named above — same change, different element names.
<cac:AccountingCustomerParty>
<cac:Party>
<cac:PostalAddress>
<cbc:PostalZone>53113</cbc:PostalZone>
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingCustomerParty><cac:AccountingCustomerParty>
<cac:Party>
<cac:PostalAddress>
<cbc:CityName>Bonn</cbc:CityName>
<cbc:PostalZone>53113</cbc:PostalZone>
<cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
</cac:PostalAddress>
</cac:Party>
</cac:AccountingCustomerParty>Related rules
NormAPI provides technical validation, not tax or legal advice.