Attestwire › Rule reference › BR-DE-3

BR-DE-3 XRechnung requires the seller city

noun · XRechnung · fatal · BT-37

Your invoice was refused because your own address has no city. 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 city from your letterhead. In the standard the field is BT-37, and BR-DE-3 is the rule that requires it.

Diese Regel auf Deutsch: BR-DE-3 — auf Deutsch erklärt.

Business term
BT-37 — Seller city
Severity
fatal
Applies to
xrechnung-ubl, xrechnung-cii

The fix

Set seller.address.city to the city in your address, for example "Berlin". It belongs on your company record, so set it once there rather than on each invoice.

What the rule requires

Set the seller city (BT-37). Core EN 16931 settles for the country code, because all it has to establish is which tax law applies. XRechnung, Germany’s version of the European standard, goes a step further: the address has to be deliverable, not just attributable to a country.

Together with BR-DE-4 (post code) this pair applies to the seller, and the same requirement applies again to the buyer: BR-DE-8 and BR-DE-9.

In this library the field is seller.address.city.

Das Element "Seller city" (BT-37) muss übermittelt werden.

BR-DE-3 — KoSIT XRechnung Schematron 2.6.0 (XRechnung 3.0), XRechnung-UBL-validation.sch

A passing value

the shape this field expects
"city": "Berlin"

Why it exists

An invoice is also a tax document, and §14 UStG, the German VAT act, requires the full address of the supplier. A country code alone does not meet that. The German rules close a legal gap here rather than a technical one, and they close it at the point where a validator can still catch it.

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:

TeachingError
{
  "rule": "BR-DE-3",
  "field": "BT-37",
  "severity": "fatal",
  "message": "XRechnung requires the element \"Seller city\" (BT-37). 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.city.",
  "example": "\"city\": \"Berlin\"",
  "xpath": "/ubl:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:CityName",
  "docsUrl": "https://attestwire.com/rules/BR-DE-3"
}

xpath is always a UBL path. On a CII invoice, look for the matching CII field instead.

How our check differs

Presence only: any non-blank value passes, and we do not check the city against the post code or the country. The rule is reported only when the invoice has a seller address. With no seller address at all, the finding is BR-08 instead.

See also: BR-DE-4 — the seller post code, same rule shape; BR-DE-8 — the same requirement for the buyer city.