# BR-DE-11 Deliver-to post code must be provided when a delivery address is used

Under the XRechnung standard specification, whenever a distinct delivery address (BG-15 / DELIVER TO ADDRESS) is included on the invoice, the deliver-to postal code (BT-78) must be explicitly provided. Automated logistics and public procurement inventory management systems rely on exact postal codes to route deliveries and reconcile receipt vouchers.

## Problem Description

> **ERROR**: German XRechnung rule (KoSIT, BR-DE) · XRechnung 3.0

> **Where BR-DE-11 is checked**
>
> 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-11: XRechnung rule (Germany), reported in the stage “National rules (CIUS)”.

## Context and Significance

Rule BR-DE-11 is checked alongside BR-DE-10: both city and postal code are mandatory whenever the delivery address block BG-15 is populated.

## Solution

In your ERP shipping or sales order configuration, ensure the ship-to location includes the postal code. In UBL 2.1 syntax, populate <cbc:PostalZone> within <cac:Delivery><cac:DeliveryLocation><cac:Address>. In UN/CEFACT CII syntax, populate <ram:PostcodeCode> within <ram:ApplicableHeaderTradeDelivery><ram:ShipToTradeParty><ram:PostalTradeAddress>. If physical delivery address details are not applicable, omit the delivery address container completely.

- [Validate XML](/en/xrechnung-validator?source=resource&rule=BR-DE-11)
- [Convert invoice](/en/pdf-to-xrechnung?source=resource&rule=BR-DE-11)

## Valid Examples

- Deliver-to address with BT-78 = "80331" and BT-77 = "München"
- Deliver-to address with BT-78 = "70173" and BT-77 = "Stuttgart"

## Invalid Examples

- Delivery address (cac:Delivery/cac:DeliveryLocation/cac:Address) contains street and city but omits cbc:PostalZone
- Postal code left as empty string while other address elements are populated

## Code Examples

### Valid XML
```
<cac:Delivery>
  <cac:DeliveryLocation>
    <cac:Address>
      <cbc:StreetName>Lagerweg 12</cbc:StreetName>
      <cbc:CityName>Stuttgart</cbc:CityName>
      <cbc:PostalZone>70173</cbc:PostalZone>
      <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
    </cac:Address>
  </cac:DeliveryLocation>
</cac:Delivery>
```

### Invalid XML
```
<cac:Delivery>
  <cac:DeliveryLocation>
    <cac:Address>
      <cbc:StreetName>Lagerweg 12</cbc:StreetName>
      <cbc:CityName>Stuttgart</cbc:CityName>
      <cac:Country><cbc:IdentificationCode>DE</cbc:IdentificationCode></cac:Country>
    </cac:Address>
  </cac:DeliveryLocation>
</cac:Delivery>
```

## Affected Fields

- [BT-78 Deliver to post code](/resources/xrechnung/bt-78-deliver-to-post-code)
- [BG-15 Deliver to address](/resources/xrechnung/bt-80-deliver-to-country-code)
- [BT-77 Deliver to city](/resources/xrechnung/bt-77-deliver-to-city)
- [BT-80 Deliver to country code](/resources/xrechnung/bt-80-deliver-to-country-code)

## Related Rules

- [BR-20](/resources/kosit-validator-errors/br-20-tax-representative-country-code-required)
- [BR-DE-10](/resources/kosit-validator-errors/br-de-10-deliver-to-city-required)

## Validation Tools

- [Official KoSIT Validator](https://github.com/itplr-kosit/validator): Run the official KoSIT validator with the XRechnung configuration to check EN 16931 and XRechnung rules.
- [Convert PDF to XRechnung](/pdf-to-xrechnung): Find validation errors during conversion and review each correction.

## Related Resources

- [Official Specification](https://xeinkauf.de/xrechnung/)
- [Test Suite](https://github.com/itplr-kosit/xrechnung-testsuite)
- [All validation errors](/resources/kosit-validator-errors): Overview of the EN 16931, XRechnung and Peppol validation rules explained here.
