Peppol BIS Billing 3.0.20 · UBL

BR-B-02: An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-B-02]-An Invoice that contains an Invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Split payment" shall not contain an invoice line (BG-25), a Document level allowance (BG-20) or a Document level charge (BG-21) where the VAT category code (BT-151, BT-95 or BT-102) is “Standard rated”.

Stored validation assertion
((cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B') and (not(cac:TaxTotal/cac:TaxSubtotal/cbc:ID ='S' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='S' or //cac:ClassifiedTaxCategory/cbc:ID = 'S'))) or (not(cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory/cbc:ID ='B' or cac:AllowanceCharge/cac:TaxCategory/cbc:ID ='B' or //cac:ClassifiedTaxCategory/cbc:ID = 'B'))

BR-B-02 is a fatal rule in the business layer of Peppol BIS Billing 3.0.20 · UBL. An invoice that breaks it is rejected. It refers to BG-25, BG-20, BG-21, BT-151, BT-95, BT-102.

What this rule requires

The rule requires that an invoice does not contain both a VAT category code with value B (split payment) and a VAT category code with value S (standard rated). The CII test checks all ram:CategoryCode elements: (//ram:CategoryCode ='B' and (not(//ram:CategoryCode ='S'))) or (not(//ram:CategoryCode ='B')), which is true if either no B exists, or a B exists and no S exists. It is false only if both B and S are present anywhere in the document. The test does not require a particular category code to be present, and it allows a document with only S.

How to fix

Find all ram:CategoryCode elements in the invoice (e.g. on invoice lines, document level allowances, or document level charges for BT-151, BT-95, BT-102). If any have the value B, ensure no ram:CategoryCode has the value S; if any have S, ensure no ram:CategoryCode has B. Change the conflicting code(s) so the document contains consistent VAT category codes: use B for split payment items and avoid S, or use S for standard rated items and avoid B. The rule does not define which alternative is correct for a given invoice.

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

Where to go next

BR-B-02 changed in 1 published Peppol BIS Billing UBL release comparison:

Validate an invoice against these rules · All release changes