VAT identifier for a document-level charge exported outside the EU

Error BR-G-04 EN 16931

An Invoice that contains a Document level charge (BG-21) where the Document level charge VAT category code (BT-102) is "Export outside the EU" shall contain the Seller VAT Identifier (BT-31) 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 a document-level charge in category G, neither the seller nor the tax representative has a tax registration ID with schemeID VA. The test requires at least one of these two VAT identifiers.

What the rule means

Category G denotes an export outside the EU. The invoice must therefore contain the VAT identifier of the seller or the seller's tax representative.

Affected fields BG-21 BT-102 BT-31 BT-63
Please add a VAT identifier for the export document-level charge

The document-level charge in category G has no VAT identifier for either the seller or the seller's tax representative. Either applicable identifier is sufficient for this check.

What to do
  1. Add a tax registration ID with schemeID VA for the seller or the tax representative.
  2. Review the seller identifier through AddSellerTaxRegistration(...) or GetSellerTaxRegistration(), and the tax representative identifier through 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>G</ram:CategoryCode>
  </ram:CategoryTradeTax>
</ram:SpecifiedTradeAllowanceCharge>
✓ Correct
<ram:SellerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">DE123456789</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
Check in FactoorSharp
  • LegalOrganization.ID (SellerTradeParty: BT-31; SellerTaxRepresentativeTradeParty: BT-63)
  • FacturXInvoice.AddSellerTaxRegistration(no, schemeID) (BT-31)
  • FacturXInvoice.GetSellerTaxRegistration() (BT-31)
  • FacturXInvoice.GetSellerTaxRepresentativeTaxRegistration() (BT-63)
  • FacturXInvoice.GetShipToTaxRegistration() (BT-63)
Good to know

This rule requires an identifier with schemeID VA.

Technical details

The test accepts an ID with schemeID VA under SellerTradeParty or under SellerTaxRepresentativeTradeParty; the two paths are joined by OR.

Where the rule applies

The rule applies to a document-level charge in SpecifiedTradeAllowanceCharge whose ChargeIndicator is true and whose tax category is G. It checks the VAT identifier of the seller or the seller's tax representative.

Context (rule/@context)
//ram:SpecifiedTradeAllowanceCharge[ram:ChargeIndicator/udt:Indicator='true']/ ram:CategoryTradeTax[ram:CategoryCode = 'G']
Test expression (assert/@test)
( //ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ ram:ID[@schemeID = 'VA'] )