Skip to main content

BR-DE-8 Buyer city must be provided

Under German invoice regulations (§ 14 Abs. 4 Nr. 1 UStG) and the XRechnung standard specification, the buyer postal address (BG-8) must contain the city name (BT-52). In German public procurement, public entities (such as federal ministries, state agencies, and city administrations) often operate multiple offices or departments across different municipalities. An explicit city name ensures correct administrative allocation and budget accounting in public ERP backends.

Problem Description

ERROR

German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0

Interactive pipeline

Click a stage to see what it checks, or type a rule ID to light up the stage that reports it.

Try:

BR-DE-8 XRechnung rule (Germany)

Reported in stage 3: National rules (CIUS).

Level error: the report recommends rejecting the invoice.

Stage 3 · What it checks

  • The specification identifier in BT-24 selects the rule set, for example XRechnung 3.0 or Peppol BIS Billing 3.0.
  • XRechnung adds the German BR-DE rules: buyer reference (BT-10), seller contact, payment instructions.
  • Peppol adds PEPPOL-EN16931 and country rules. XRechnung applies some PEPPOL-EN16931 rules too.

Example codes

Typical fix

Fill the fields the rule set requires in your master data, such as the Leitweg-ID in BT-10 or the seller contact.

A validator checks an e-invoice in stages. First the file must be well-formed XML that matches the UBL or CII schema (XSD). Then the EN 16931 business rules run: BR core rules, BR-CO calculations, BR-CL code lists, BR-DEC decimals and VAT-category rules such as BR-S. Next come the national or network rules that BT-24 selects: BR-DE for XRechnung, PEPPOL-EN16931 for Peppol BIS Billing. The report lists every failed rule: one error means reject, warnings alone still mean accept. BR-DE-8: XRechnung rule (Germany), reported in the stage “National rules (CIUS)”. Rule sets: KoSIT validator 1.6.3 with the XRechnung configuration of 31 Aug 2026 (EN 16931 artefacts 1.3.16), Peppol BIS Billing 3.0.21.

Context and Significance

Missing buyer city information causes immediate validation rejection in XRechnung validator rulepacks (BR-DE-8), preventing the invoice from passing public procurement preflight checks.

Solution

In your customer master data (e.g. SAP customer master, DATEV debitor profile, Dynamics 365 customer account), verify that the buyer city is maintained. In UBL 2.1 syntax, populate <cbc:CityName> inside <cac:AccountingCustomerParty><cac:Party><cac:PostalAddress>. In UN/CEFACT CII syntax, populate <ram:CityName> inside <ram:BuyerTradeParty><ram:PostalTradeAddress>. Do not leave the city element blank or merge it into the street line.

Quick actions

Valid Examples

  • Buyer postal address with BT-52 = "Hamburg", postal code "20095", and country code "DE"
  • Buyer postal address with BT-52 = "Köln", postal code "50667", and country code "DE"

Invalid Examples

  • Buyer address specifies street and postal code but leaves cbc:CityName / ram:CityName empty
  • Customer record in ERP has missing city field, generating empty XML element (<cbc:CityName></cbc:CityName>)

Code Examples

Valid XML
<cac:AccountingCustomerParty>
  <cac:Party>
    <cac:PartyName><cbc:Name>Bezirksamt Mitte</cbc:Name></cac:PartyName>
    <cac:PostalAddress>
      <cbc:StreetName>Karl-Marx-Allee 31</cbc:StreetName>
      <cbc:CityName>Berlin</cbc:CityName>
      <cbc:PostalZone>10178</cbc:PostalZone>
      <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
    </cac:PostalAddress>
  </cac:Party>
</cac:AccountingCustomerParty>
Invalid XML
<cac:AccountingCustomerParty>
  <cac:Party>
    <cac:PartyName><cbc:Name>Bezirksamt Mitte</cbc:Name></cac:PartyName>
    <cac:PostalAddress>
      <cbc:StreetName>Karl-Marx-Allee 31</cbc:StreetName>
      <cbc:PostalZone>10178</cbc:PostalZone>
      <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
    </cac:PostalAddress>
  </cac:Party>
</cac:AccountingCustomerParty>

Affected Fields

Validation Tools