Faktura

PEPPOL-EN16931-P0100

fatalPeppol BIS Billing 3.0profileCIIUBL

Invoice type code MUST be set according to the profile.

Why it fails

The invoice type code is not one the Peppol profile permits.

How to fix it

Use 380 (commercial invoice), 384 (corrected invoice), 389 (self-billed) or 326 (partial). See also P0112 — 326 and 384 are restricted to German trading pairs.

What the validator checks

CII — context ram:ExchangedDocument/ram:TypeCode

$profile != '01' or (some $code in tokenize('71 102 218 219 326 331 382 553 817 870 875 876 877 380 383 384 386 388 393 82 80 84 395 575 623 780 381 396 81 83 532', '\s') satisfies normalize-space(text()) = $code)

UBL — context cbc:InvoiceTypeCode

$profile != '01' or (some $code in tokenize('71 80 82 84 102 218 219 326 331 380 382 383 384 386 388 393 395 553 575 623 780 817 870 875 876 877', '\s') satisfies normalize-space(text()) = $code)

Related rules

Part of PEPPOL-EN16931 — Peppol BIS Billing 3.0.

Validate an invoice against this rule →

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