Peppol BIS Billing 3.0.21 · UBL

BR-47: Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118)

Peppol BIS Billing 3.0.21 · UBL

fatalbusiness

Original rule text

[BR-47]-Each VAT breakdown (BG-23) shall be defined through a VAT category code (BT-118).

Stored validation assertion
exists(cac:TaxCategory[cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']/cbc:ID)

BR-47 is a fatal rule in the business layer of Peppol BIS Billing 3.0.21 · UBL. An invoice that breaks it is rejected. It refers to BG-23, BT-118.

What this rule requires

The rule requires that every VAT breakdown (BG-23) carries a VAT category code (BT-118). In UBL, each cac:TaxTotal/cac:TaxSubtotal must contain a cac:TaxCategory whose cac:TaxScheme/cbc:ID is VAT (case-insensitive) and that has a cbc:ID child. In CII, each ram:ApplicableTradeTax with ram:TypeCode equal to VAT must have a ram:CategoryCode. This is a fatal rule, so a document missing this code does not pass validation.

How to fix

For UBL: in every cac:TaxTotal/cac:TaxSubtotal, add or complete cac:TaxCategory with cac:TaxScheme/cbc:ID set to VAT and provide the VAT category code in cac:TaxCategory/cbc:ID. For CII: for every ram:ApplicableTradeTax where ram:TypeCode is VAT, provide ram:CategoryCode with the applicable VAT category code. If unsure which code to use, check the relevant code list for BT-118.

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

Where to go next

No published Peppol BIS Billing UBL release comparison lists a change to BR-47.

Validate an invoice against these rules · All release changes