InvoiceValidator.eu

DE-R-004

fatalPeppol BIS Billing 3.0profileUBLBT-38

The element "Seller post code" (BT-38) shall be provided.

Why it fails

The seller post code (BT-38) is missing.

How to fix it

Add the post code to the seller's postal address (UBL cbc:PostalZone).

What the validator checks

UBL — context (/ubl-invoice:Invoice/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress | /ubl-creditnote:CreditNote/cac:AccountingSupplierParty/cac:Party/cac:PostalAddress)[$supplierCountryIsDE and $customerCountryIsDE]

cbc:PostalZone[boolean(normalize-space(.))]

Related rules

Part of DE-R — XRechnung via Peppol.

Check your own invoice against DE-R-004

…or paste the XML instead

Nothing is stored, and the whole invoice is checked, not just this rule. A PDF only works if it is Factur-X / ZUGFeRD — a PDF with the invoice XML inside it.

This is a Peppol BIS Billing 3.0 rule: an invoice can be perfectly valid EN 16931 and still be rejected by it.