Peppol BIS Billing 3.0.20 · UBL

BR-AF-03: An Invoice that contains a Document level allowance (BG-20) where the Document level…

Peppol BIS Billing 3.0.20 · UBL

fatalbusiness

Original rule text

[BR-AF-03]-An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "IGIC" shall contain the Seller VAT Identifier (BT-31), the Seller tax registration identifier (BT-32) and/or the Seller tax representative VAT identifier (BT-63).

Stored validation assertion
(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']) and (exists(//cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID) or exists(//cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/(normalize-space(upper-case(cbc:ID)) = 'VAT')]/cbc:CompanyID))) or not(exists(//cac:AllowanceCharge[cbc:ChargeIndicator=false()]/cac:TaxCategory[normalize-space(cbc:ID)='L'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']))

BR-AF-03 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-20, BT-95, BT-31, BT-32, BT-63.

What this rule requires

The rule is fatal. In UBL, if an invoice contains a document-level allowance (cac:AllowanceCharge with cbc:ChargeIndicator=false()) whose cac:TaxCategory/cbc:ID is L and whose tax scheme ID upper-cased is VAT, then the invoice must also contain at least one of: a cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, or a cac:TaxRepresentativeParty/cac:PartyTaxScheme[cac:TaxScheme/normalize-space(upper-case(cbc:ID)) = 'VAT']/cbc:CompanyID. If no such allowance exists, the rule passes. In CII, a matching allowance is ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator/udt:Indicator=false() and ram:CategoryTradeTax with ram:CategoryCode='L' and upper-case ram:TypeCode='VAT'; if such an allowance exists, the invoice must contain ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID either VA or FC, or ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID='VA'. The message says BT-95 is “IGIC”, but the test checks category/code L under a VAT scheme, not a literal “IGIC” value.

How to fix

If an invoice has the described document-level allowance, add at least one of the seller identifiers. In UBL, put a cbc:CompanyID inside cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme, or inside cac:TaxRepresentativeParty/cac:PartyTaxScheme where the tax scheme is VAT. In CII, add ram:SpecifiedTaxRegistration/ram:ID in ram:SellerTradeParty with schemeID VA or FC, or in ram:SellerTaxRepresentativeTradeParty with schemeID VA. If no such document-level allowance is present, the rule is satisfied and no identifier is required by this rule. Note the message says “IGIC” but the test checks for code L; ensure the allowance's category/code matches what the test expects (L under VAT) before relying on this rule.

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-AF-03.

Validate an invoice against these rules · All release changes