Add a seller identifier for a VAT-exempt allowance

Error BR-E-03 EN 16931

An Invoice that contains a Document level allowance (BG-20) where the Document level allowance VAT category code (BT-95) is "Exempt from VAT" 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

For this allowance, one of the permitted seller identifiers is missing: a tax registration ID with schemeID VA or FC, or the tax representative’s VAT identifier with schemeID VA.

What the rule means

For an allowance with category E, at least one of the checked tax identifiers of the seller or the seller’s tax representative must be present.

Affected fields BG-20 BT-95 BT-31 BT-32 BT-63
Please add a seller identifier for the VAT-exempt allowance.

A VAT-exempt allowance with category E is present, but a permitted seller identifier is missing. You can add an identifier for the seller or the applicable identifier for the tax representative.

What to do
  1. Add a seller tax registration ID with VA or FC, or a tax representative VAT identifier with VA.
  2. Use AddSellerTaxRegistration(...) for the seller identifier and check the applicable entry using LegalOrganization.ID or TaxRegistration.SchemeID.
  3. Check the tax representative identifier using GetSellerTaxRepresentativeTaxRegistration().
  4. Generate the invoice again and validate it again.
What it looks like
✗ Triggers the message
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>E</ram:CategoryCode>
  </ram:CategoryTradeTax>
  <ram:SellerTradeParty/>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SpecifiedTradeAllowanceCharge>
  <ram:ChargeIndicator>
    <udt:Indicator>false</udt:Indicator>
  </ram:ChargeIndicator>
  <ram:CategoryTradeTax>
    <ram:CategoryCode>E</ram:CategoryCode>
  </ram:CategoryTradeTax>
  <ram:SellerTradeParty>
    <ram:SpecifiedTaxRegistration>
      <ram:ID schemeID="VA">SELLER-VAT</ram:ID>
    </ram:SpecifiedTaxRegistration>
  </ram:SellerTradeParty>
</ram:SpecifiedTradeAllowanceCharge>
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)
Technical details

The test accepts either a ram:ID under ram:SellerTradeParty with schemeID VA or FC, or a ram:ID under ram:SellerTaxRepresentativeTradeParty with schemeID VA.

Where the rule applies

The rule applies to a document-level allowance identified as an allowance by ram:ChargeIndicator and as VAT-exempt by ram:CategoryCode with E.

Context (rule/@context)
//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='false']/ ram:CategoryTradeTax[ram:CategoryCode = 'E']
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']