VAT identifiers for intra-community supplies

Error BR-IC-02 EN 16931

An Invoice that contains an Invoice line (BG-25) where the Invoiced item VAT category code (BT-151) is "Intra-community supply" shall contain the Seller VAT Identifier (BT-31) or the Seller tax representative VAT identifier (BT-63) and the Buyer VAT identifier (BT-48).

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 K, but either both the seller's and tax representative's VAT identifiers are missing, or the buyer's VAT identifier is missing. A VAT identifier for the seller or tax representative and, additionally, a buyer VAT identifier are required.

What the rule means

Category K denotes an intra-community supply. This rule requires both a VAT identifier for the seller or tax representative and a VAT identifier for the buyer.

Affected fields BG-25 BT-151 BT-31 BT-63 BT-48
Please add the seller and buyer VAT identifiers for the intra-community supply

An invoice line is marked as an intra-community supply (K). The VAT identifier for the seller or tax representative, the buyer's VAT identifier, or both are missing.

What to do
  1. Add the seller's or tax representative's VAT identifier with schemeID VA.
  2. Also add the buyer's VAT identifier with schemeID VA; check AddBuyerTaxRegistration(...) for this.
  3. If you set the seller identifier programmatically, check AddSellerTaxRegistration(...).
  4. Generate the invoice again and validate it.
What it looks like
✗ Triggers the message
<ram:SellerTradeParty/>
<ram:SellerTaxRepresentativeTradeParty/>
<ram:BuyerTradeParty/>
✓ Correct
<ram:SellerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">DE123456789</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:SellerTradeParty>
<ram:BuyerTradeParty>
  <ram:SpecifiedTaxRegistration>
    <ram:ID schemeID="VA">FR12345678901</ram:ID>
  </ram:SpecifiedTaxRegistration>
</ram:BuyerTradeParty>
Check in FactoorSharp
  • LegalOrganization.ID (SellerTradeParty: BT-31; SellerTaxRepresentativeTradeParty: BT-63)
  • FacturXInvoice.AddBuyerTaxRegistration(no, schemeID) (BT-48)
  • FacturXInvoice.AddSellerTaxRegistration(no, schemeID) (BT-31)
  • FacturXInvoice.BuyerTaxRegistration (BT-48)
  • FacturXInvoice.GetBuyerTaxRegistration() (BT-48)
Technical details

The test joins two conditions with and: a seller or tax representative ID with schemeID VA, and a buyer ID with schemeID VA. CategoryCode K triggers the check.

Where the rule applies

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

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