VAT identifier for invoice lines exported outside the EU

Error BR-G-02 EN 16931

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) 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

The invoice contains an invoice line with tax category G, but neither SellerTradeParty nor SellerTaxRepresentativeTradeParty contains a SpecifiedTaxRegistration/ID with schemeID VA. One of these VAT identifiers must be present.

What the rule means

Category G denotes an export outside the EU. For such an invoice line, the rule requires the seller's or the tax representative's VAT identifier.

Affected fields BG-25 BT-151 BT-31 BT-63
Please add a VAT identifier for the export invoice line

An invoice line is marked as an export outside the EU (G), but both the seller's and the tax representative's VAT identifiers are missing. Either one of these identifiers is sufficient.

What to do
  1. Add the seller's or the tax representative's VAT identifier in SpecifiedTaxRegistration/ID with schemeID VA.
  2. If you set the seller identifier programmatically, check AddSellerTaxRegistration(...).
  3. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:SellerTradeParty/>
<ram:SellerTaxRepresentativeTradeParty/>
✓ 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)
Technical details

The XPath test passes if at least one of the two ID elements with schemeID VA is present. An invoice line with CategoryCode G triggers the check.

Where the rule applies

The rule applies to an invoice line's ApplicableTradeTax with CategoryCode G. It checks the seller's or tax representative's VAT identifier at document level.

Context (rule/@context)
//rsm:SupplyChainTradeTransaction/ram:IncludedSupplyChainTradeLineItem/ram:SpecifiedLineTradeSettlement/ ram:ApplicableTradeTax[ram:CategoryCode = 'G']
Test expression (assert/@test)
( //ram:SellerTradeParty/ram:SpecifiedTaxRegistration/ram:ID[@schemeID = 'VA'] or //ram:SellerTaxRepresentativeTradeParty/ram:SpecifiedTaxRegistration/ ram:ID[@schemeID = 'VA'] )