BR-G-08: In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the…
Peppol BIS Billing 3.0.21 · UBL
Original rule text
[BR-G-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Export outside the EU" the VAT category taxable amount (BT-116) shall equal the sum of Invoice line net amounts (BT-131) minus the sum of Document level allowance amounts (BT-92) plus the sum of Document level charge amounts (BT-99) where the VAT category codes (BT-151, BT-95, BT-102) are "Export outside the EU".
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='G']/xs:decimal(cbc:Amount)))))BR-G-08 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, BT-116, BT-131, BT-92, BT-99, BT-151, BT-95, BT-102.
What this rule requires
Rule BR-G-08 requires that a VAT breakdown with VAT category code G ("Export outside the EU") has a taxable amount equal to the sum of line net amounts for lines with VAT category G, plus document-level charges with category G, minus document-level allowances with category G. In UBL the test requires exact equality between cbc:TaxableAmount and the computed value from cbc:LineExtensionAmount, cbc:Amount with cbc:ChargeIndicator. In CII the test requires ram:BasisAmount to be within +/-1 currency unit of the same computed sum (rounded to two decimals). Fatal, so an invoice failing this is rejected.
How to fix
Make the taxable amount match the computed value, or correct the line net amounts, document charges or allowances for category G so they sum correctly. In UBL adjust ../cbc:TaxableAmount of the cac:TaxSubtotal so it equals the sum of cbc:LineExtensionAmount of lines whose cac:Item/cac:ClassifiedTaxCategory/cbc:ID is G, plus cbc:Amount from cac:AllowanceCharge where cbc:ChargeIndicator is true and cac:TaxCategory/cbc:ID is G, minus cbc:Amount where cbc:ChargeIndicator is false. In CII adjust ram:BasisAmount to be within +/-1 of the rounded sum of ram:LineTotalAmount of lines with ram:ApplicableTradeTax/ram:CategoryCode = 'G', plus header ram:ActualAmount from ram:SpecifiedTradeAllowanceCharge where ram:ChargeIndicator is true and ram:CategoryTradeTax/ram:CategoryCode is G, minus those where false. If the amounts are correct, check which elements are missing or aggregated in the wrong category.
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-G-08.
Validate an invoice against these rules · All release changes