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
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”.
((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:
- BR-B-02 in 3.0.20 → 3.0.21: Test expression rewritten
Validate an invoice against these rules · All release changes