Peppol BIS Billing 3.0.21 · UBL

BR-AG-04: An Invoice that contains a Document level charge (BG-21) where the Document level charge…

Peppol BIS Billing 3.0.21 · UBL

fatalbusiness

Original rule text

[BR-AG-04]-An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "IPSI" 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=true()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][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=true()]/cac:TaxCategory[normalize-space(cbc:ID)='M'][cac:TaxScheme/normalize-space(upper-case(cbc:ID))='VAT']))

BR-AG-04 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-21, BT-102, BT-31, BT-32, BT-63.

What this rule requires

In XRechnung, a document-level charge (UBL: cac:AllowanceCharge with cbc:ChargeIndicator=true(); CII: ram:SpecifiedTradeAllowanceCharge with ram:ChargeIndicator/udt:Indicator=true()) whose VAT category code is "IPSI" (represented by code M in UBL cbc:ID or CII ram:CategoryCode, with VAT tax scheme/type code VAT) requires the invoice to include at least one of: the seller VAT identifier (BT-31), the seller tax registration identifier (BT-32), or the seller tax representative VAT identifier (BT-63). The UBL test requires an existing seller cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID, or a cac:TaxRepresentativeParty/cac:PartyTaxScheme[cbc:ID='VAT']/cbc:CompanyID. The CII test requires a ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID='VA' or 'FC', or a ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID='VA'. Because severity is fatal, an invoice that does not satisfy the rule fails validation. Note that the message uses "IPSI" but the test uses code M to identify that category.

How to fix

If the document-level charge is correctly IPSI (code M), add at least one required identifier: in UBL, set cac:AccountingSupplierParty/cac:Party/cac:PartyTaxScheme/cbc:CompanyID to the seller's VAT or tax registration number, or set cac:TaxRepresentativeParty/cac:PartyTaxScheme[cbc:ID='VAT']/cbc:CompanyID to the seller tax representative VAT number. In CII, set ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID='VA' or 'FC', or ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID with @schemeID='VA'. If the charge is not IPSI, change the VAT category code (UBL cbc:ID or CII ram:CategoryCode) from M to another value that is valid for the invoice.

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-AG-04.

Validate an invoice against these rules · All release changes