Peppol BIS Billing 3.0.21 · UBL

PEPPOL-EN16931-P0101: Credit note type code MUST be set according to the profile

Peppol BIS Billing 3.0.21 · UBL

fatalformat

Original rule text

[PEPPOL-EN16931-P0101]-Credit note type code MUST be set according to the profile.

Stored validation assertion
           not($profile = ('01','02')) or (some $code in tokenize('381 396 81 83 532', '\s')             satisfies normalize-space(text()) = $code)

PEPPOL-EN16931-P0101 is a fatal rule in the format layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected.

What this rule requires

The rule applies when the invoice profile is one of the Peppol profiles mapped to '01' or '02': urn:fdc:peppol.eu:2017:poacc:billing:01:1.0, urn:peppol:france:billing:regulated, urn:peppol:france:billing:non-regulated (profile '01'), or urn:peppol:bis:billing_with_response (profile '02'). For those profiles, the cbc:CreditNoteTypeCode element must contain one of the five allowed codes: 381, 396, 81, 83, 532. If the profile is any other value or absent, the rule passes. A fatal error means the invoice is rejected when this condition is not met.

How to fix

Set cbc:CreditNoteTypeCode to one of the allowed values: 381, 396, 81, 83, 532. Ensure the text content matches one of these exactly (surrounding whitespace is ignored). If the profile is intentionally one of the recognized ones, choose the code that corresponds to the credit note type; otherwise check /*/cbc:ProfileID to make sure it is correct.

Guidance on this rule. The original text above is authoritative.

Where to go next

PEPPOL-EN16931-P0101 changed in 1 published Peppol BIS Billing UBL release comparison:

Validate an invoice against these rules · All release changes