BR-DE-4: what it means and how to fix it

The seller's post code must be given.

RuleBR-DE-4
StandardXRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT)
SeverityError (the invoice is not conformant)
ConcernsBT-38: Seller post code

How to fix it

Add the post code to the seller's address.

Where the field is in the XML

TermCII (XRechnung-CII, ZUGFeRD, Factur-X)UBL (XRechnung-UBL, Peppol)
BT-38
Seller post code
ram:SellerTradeParty/ram:PostalTradeAddress/ram:PostcodeCodecac:AccountingSupplierParty/cac:Party/cac:PostalAddress/cbc:PostalZone

Check your own file for this rule

Up to 5 MB. Read in memory for this one request and not stored.

From your code

curl -H "Authorization: Bearer $API_KEY" -H "Content-Type: application/xml" \
  --data-binary @invoice.xml "https://agent-data-tools.revmesh2074.workers.dev/einvoice/validate"

The answer lists every broken rule with its number, the field, a message with the figures from your file and the fix. E-invoice API: validate, convert to JSON, and create XRechnung or ZUGFeRD XML from JSON.

Questions

What does BR-DE-4 mean?

The seller's post code must be given. It is a rule of XRechnung 3.0 (the German CIUS of EN 16931, published by KoSIT).

How do I fix BR-DE-4?

Add the post code to the seller's address.

Is BR-DE-4 an error or a warning?

An error: a validator reports the invoice as not conformant, and a recipient that validates incoming e-invoices can reject it.

Does BR-DE-4 apply to ZUGFeRD and Factur-X too?

Only when the file declares the XRechnung specification identifier (the ZUGFeRD profile "XRECHNUNG" does). Files in the plain EN 16931 profile are checked against the European rules, not the German additions.

Rule numbers are those of XRechnung 3.0 (KoSIT); the explanation is ours. Not tax or legal advice.