BT-3Invoice type code
Official rule text
[DE-R-017] The element "Invoice type code" (BT-3) should only contain the following values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).
Why this error occurs
The value must come from a fixed code list and the value in your file is not on it. Common causes: a free-text value instead of a code ("Invoice" instead of 380), a code from an older list version, lower-case codes, or a code valid in another standard but not in this one.
How to fix it
Replace the value with a code from the list named in the rule text (UNTDID 1001 for document types, UNTDID 5305 for VAT categories, ISO 4217 for currencies, ISO 3166-1 for countries, UN/ECE Recommendation 20/21 for units, EAS for electronic addresses, ISO 6523 ICD for scheme identifiers). Codes are case-sensitive.
What the validator checks
Checked element (context):
UBL
(/ubl-invoice:Invoice | /ubl-creditnote:CreditNote)[$supplierCountryIsDE and $customerCountryIsDE]Test (XPath):
cbc:InvoiceTypeCode = $supportedInvAndCNTypeCodes or cbc:CreditNoteTypeCode = $supportedInvAndCNTypeCodes
Check your invoice
Drop your XML or PDF on the validator and every failed rule is linked to its page here. Free, no account, the file is not stored.
Same check via API:
curl -F file=@invoice.xml https://einvoicechecker.com/v1/validateRelated rules
DE-R-026If "Invoice type code" contains the code 384 (Corrected invoice), "PRECEDING INVOICE…DE-R-001An invoice shall contain information on "PAYMENT INSTRUCTIONS"DE-R-002The group "SELLER CONTACT" shall be providedDE-R-003The element "Seller city" shall be providedDE-R-004The element "Seller post code" shall be providedDE-R-005The element "Seller contact point" shall be providedDE-R-006The element "Seller contact telephone number" shall be providedDE-R-007The element "Seller contact email address" shall be provided
Frequently asked questions
What does DE-R-017 mean?
DE-R-017 is a peppol national rule: The element "Invoice type code" (BT-3) should only contain the following values from code list UNTDID 1001: 326 (Partial invoice), 380 (Commercial invoice), 384 (Corrected invoice), 389 (Self-billed invoice), 381 (Credit note), 875 (Partial construction invoice), 876 (Partial final construction invoice), 877 (Final construction invoice).
Will my invoice be rejected because of DE-R-017?
No. DE-R-017 is a warning: the invoice is accepted but the recipient sees the notice. Fix it anyway, warnings often become errors in later rule versions.
Which formats does DE-R-017 apply to?
Only when the seller (or for some rules the buyer) is in the named country: the rule is triggered by the country code of the party. Dutch rules implement NLCIUS, German rules the XRechnung requirements inside Peppol. Syntax: UBL.
Source: Peppol BIS Billing 3.0.20 national rules (November 2025). Catalogue generated from the official rule sets on 2026-10-15.