Seller tax identifier for a document-level charge with IGIC

Error BR-AF-04 EN 16931

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) 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).

Mandatory rule: As long as it is violated, the invoice is invalid and will be rejected by validators.
What is wrong

A required seller tax identifier is missing for a document-level charge with tax category L. The test is satisfied only if the seller has a tax registration ID with schemeID VA or FC, or the tax representative has a VAT identifier with schemeID VA.

What the rule means

Category L denotes IGIC. The rule therefore requires an applicable tax identifier for the seller or the seller's tax representative.

Affected fields BG-21 BT-102 BT-31 BT-32 BT-63
Please add a seller tax identifier for the document-level charge with IGIC

A required tax identifier for the seller or the seller's tax representative is missing for the document-level charge in category L. Adding an applicable identifier will satisfy the check.

What to do
  1. Add a seller tax registration ID with schemeID VA or FC, or add a tax representative VAT identifier with schemeID VA.
  2. Review the seller details through AddSellerTaxRegistration(...) and the existing seller and representative identifiers through GetSellerTaxRegistration() and GetSellerTaxRepresentativeTaxRegistration().
  3. Generate the invoice again and validate it once more.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>true</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>L</ram:CategoryCode>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SellerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">ES12345678Z</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
Check in FactoorSharp
  • LegalOrganization.ID (SellerTradeParty: BT-31; SellerTradeParty: BT-32; SellerTaxRepresentativeTradeParty: BT-63)
  • TaxRegistration.SchemeID (For Seller VAT identifier: BT-31; For Seller tax registration identifier: BT-32)
  • FacturXInvoice.AddSellerTaxRegistration(no, schemeID) (BT-31)
  • FacturXInvoice.GetSellerTaxRegistration() (BT-31)
  • FacturXInvoice.GetSellerTaxRepresentativeTaxRegistration() (BT-63)
Good to know

VA and FC are permitted for the seller identifier; VA is permitted for the tax representative.

Technical details

The test uses three permitted XPath paths joined by OR: a seller ID with schemeID VA or FC, or a representative ID with schemeID VA.

Where the rule applies

The rule applies to a document-level charge in SpecifiedTradeAllowanceCharge whose ChargeIndicator is true and whose tax category is L. It checks the seller's and tax representative's tax registrations in the invoice document.

Context (rule/@context)
//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ ram:CategoryTradeTax[ram:CategoryCode = 'L']
Test expression (assert/@test)
/rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = ('VA', 'FC')] or /rsm:CrossIndustryInvoice/rsm:SupplyChainTradeTransaction/ram:ApplicableHeaderTradeAgreement/ ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA']