errorbusinessDEUEN 16931

DE-R-004:The element "Seller post code" (BT-38) shall be provided.

Fix: This requires user input to resolve. Provide the correct value for `cbc:PostalZone` (BT-38). Provide the required value in the free validator.

Seller postal code is missing. German invoices must include the seller's postal code (BT-38).

Severity
Fatal
Rule set
EN 16931
Country
DEU
Fix type
INPUT REQUIRED
Confidence
85%
Category
codelist

Engine Classification

Business data required · Explicit input workflow · No assumptions made

Required input: Invoice type code

What is DE-R-004?

DE-R-004 is a fatal validation rule defined in the EN 16931 specification (DEU national rules). It validates the InvoiceTypeCode element in the UBL invoice XML.

When this rule fires, the invoice is rejected by Peppol access points and never reaches the buyer.

Target path: /Invoice/cbc:InvoiceTypeCode

Why This Error Matters

Invoice will be rejected by German XRechnung validators. Germany has additional mandatory fields beyond EN16931 baseline, including seller contact details, complete addresses, and buyer reference (Leitweg-ID).

DE-R-004 is a hard failure — the invoice must be corrected and re-sent before it can reach the recipient.

Validator Behavior

  • ·Causes invoice rejection
  • ·Rejected by XRechnung endpoints
  • ·Error returned: DE-R-004
  • ·Specification: EN 16931

How to Fix It

1.

Locate the field

Check cbc:InvoiceTypeCode at /Invoice/cbc:InvoiceTypeCode. The current value does not meet the rule requirements for DE-R-004.

2.

Set the correct value

This requires user input to resolve. Provide the correct value for `cbc:PostalZone` (BT-38).

3.

Re-validate your invoice

Upload the corrected invoice to confirm DE-R-004 is resolved.

Before / After

Failing XML
<cac:PostalAddress>
  <cbc:PostalZone>INVALID_CODE</cbc:PostalZone>
</cac:PostalAddress>
Corrected XML
<cac:PostalAddress>
  <cbc:PostalZone>VALID_CODE</cbc:PostalZone>
</cac:PostalAddress>

Technical Reference

XPath/Invoice/cbc:InvoiceTypeCode
SpecEN 16931
Operationset_value
StrategySet correct XRechnung invoice type code (requires user selection)

Common Causes

  • ·German invoice missing seller post code
  • ·BT-38 Seller post code element empty or absent
  • ·cbc:PostalZone in seller address not provided
  • ·Seller postal address incomplete for XRechnung
  • ·German validation requires seller postal code

Seeing this in production? The API handles DE-R-004 automatically. See the fix response →

Frequently Asked Questions

Seller postal code is missing. German invoices must include the seller's postal code (BT-38).

This requires user input to resolve. Provide the correct value for `cbc:PostalZone` (BT-38). You can also use Invoice Navigator's compliance engine to correct this automatically in your pipeline.

Yes, DE-R-004 is a critical error that will cause invoice rejection. It must be fixed before submission.

Many instances of DE-R-004 can be automatically corrected using Invoice Navigator's compliance engine. The fix is applied in your pipeline with full audit evidence.

Related Content

Last updated: 14 April 2026

Share this guide:

Validate your invoice

Drop your XML here to check for DE-R-004

Fix DE-R-004 with guided input

Upload your invoice and we'll ask for the missing data, then apply a safe, auditable fix.