# BR-G-08

Quoted from a public specification. This page is not a validator, and it is not tax, legal, or accounting advice.

- Country: EU
- Syntax: UBL
- Severity: fatal
- Statement language: en
- Last verified: 2026-10-17

## Official statement

> 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".

Source: https://docs.peppol.eu/poacc/billing/3.0/rules/ubl-tc434/BR-G-08/

Peppol BIS Billing 3.0, May 2026 release, EN 16931 model bound to UBL

Severity note: fatal, from the Flag column of the Peppol BIS Billing 3.0 UBL rules index retrieved 2026-10-17.

## Plain-language reading

In a VAT breakdown whose category is "Export outside the EU", the taxable amount (BT-116) must equal the sum of invoice line net amounts (BT-131) minus document-level allowance amounts (BT-92) plus document-level charge amounts (BT-99), counting only export lines, allowances, and charges. The official message includes "the" before "VAT category code" and says "net amounts" in the plural. The published test compares category code G, adds the G charges and subtracts the G allowances from the G line net amounts, and requires the taxable amount to equal that sum. It does not allow a difference of less than 1. Each branch also requires an invoice line or a credit note line to exist.

## What to change

Set BT-116 on the G breakdown to the G line net amounts, minus the G allowances, plus the G charges.

## Illustration

Illustration of the condition in the official statement. Not an example published by the source.

**Fails the stated condition.** G lines net to 100, there is a G allowance of 10, and the G breakdown taxable amount is 100.

**Passes the stated condition.** G lines net to 100, there is a G allowance of 10, and the G breakdown taxable amount is 90.

## Published context and test

Copied from the source. Not reimplemented on this page.

```
/*/cac:TaxTotal/cac:TaxSubtotal/cac:TaxCategory[normalize-space(cbc:ID) = 'G'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']
```

```
(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)))))
```

[All rule notes](https://einvoicegoblin.com/rules/index.md) · [JSON](https://einvoicegoblin.com/rules/BR-G-08.json) · [HTML](https://einvoicegoblin.com/rules/BR-G-08/) · [llms.txt](https://einvoicegoblin.com/llms.txt) · [Invoice page](https://einvoicegoblin.com/) · [Privacy](https://einvoicegoblin.com/privacy.html)
