Peppol BIS Billing 3.0.20 · UBL

BR-IC-08: In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-IC-08]-In a VAT breakdown (BG-23) where the VAT category code (BT-118) is "Intra-community supply" 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 "Intra-community supply".

Stored validation assertion
(exists(//cac:InvoiceLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:InvoiceLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount))))) or (exists(//cac:CreditNoteLine) and (xs:decimal(../cbc:TaxableAmount) = (sum(../../../cac:CreditNoteLine[cac:Item/cac:ClassifiedTaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:LineExtensionAmount)) + sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=true()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)) - sum(../../../cac:AllowanceCharge[cbc:ChargeIndicator=false()][cac:TaxCategory/normalize-space(cbc:ID)='K']/xs:decimal(cbc:Amount)))))

BR-IC-08 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-23, BT-118, BT-116, BT-131, BT-92, BT-99, BT-151, BT-95, BT-102.

What this rule requires

For intra-community supply (K), the taxable amount in the VAT breakdown must equal the net amounts of lines with category K minus document-level allowances plus document-level charges with category K. In UBL, for cac:TaxCategory with cbc:ID K, cac:TaxSubtotal/cbc:TaxableAmount must exactly equal the sum of cac:InvoiceLine/cbc:LineExtensionAmount (or cac:CreditNoteLine if credit note lines are used) where the line's classified tax category ID is K, plus allowance charges with cbc:ChargeIndicator true and tax category K, minus those with false. In CII, for ram:ApplicableTradeTax with ram:CategoryCode K and ram:TypeCode VAT, ram:BasisAmount must be within 1 (after rounding the sum to two decimals) of line ram:LineTotalAmount where line tax category is K, plus header charges with ram:ChargeIndicator true and ram:CategoryTradeTax/ram:CategoryCode K, minus allowances with false. This is fatal.

How to fix

  • UBL: Set cac:TaxSubtotal/cbc:TaxableAmount for the K category to the exact calculated sum, or correct the individual line extension amounts, document-level allowance/charge amounts, or their VAT category codes so the equation holds. If both cac:InvoiceLine and cac:CreditNoteLine are present, each must satisfy its own sum.
  • CII: Set ram:BasisAmount for that ram:ApplicableTradeTax to the calculated sum (within a tolerance of less than 1), or correct the corresponding line total amounts, allowance/charge actual amounts, or their category codes.

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-IC-08.

Validate an invoice against these rules · All release changes