AttestwireRule referenceBR-56

BR-56 A seller tax representative must have a VAT identifier

noun · EN 16931 · fatal · BT-63

For a sample invoice, the library reports: The seller tax representative (BG-11) has no VAT identifier (BT-63). The representative's VAT number is the operative field of the whole group — it is the registration under which the VAT on this supply is declared and paid, and the number the buyer's own return will quote when reclaiming input tax.

Business term
BT-63
Severity
fatal

The fix

Set taxRepresentative.vatId to the representative's VAT identifier including its country prefix ("FR12345678901"), not to the seller's own VAT number.

A passing value

the shape this field expects
"taxRepresentative": { "name": "Fiscal Rep France SARL", "vatId": "FR12345678901" }

What the library returns

The full error returned by @attestwire/en16931. It includes the rule ID, affected field and suggested correction. Developers can use this object in their application:

TeachingError
{
  "rule": "BR-56",
  "field": "BT-63",
  "severity": "fatal",
  "message": "The seller tax representative (BG-11) has no VAT identifier (BT-63). The representative's VAT number is the operative field of the whole group — it is the registration under which the VAT on this supply is declared and paid, and the number the buyer's own return will quote when reclaiming input tax. The name and address identify who they are; only the VAT identifier says what they are registered as, and the UBL binding looks for it specifically under a PartyTaxScheme whose scheme is VAT.",
  "fix": "Set taxRepresentative.vatId to the representative's VAT identifier including its country prefix (\"FR12345678901\"), not to the seller's own VAT number.",
  "example": "\"taxRepresentative\": { \"name\": \"Fiscal Rep France SARL\", \"vatId\": \"FR12345678901\" }",
  "xpath": "/ubl:Invoice/cac:TaxRepresentativeParty/cac:PartyTaxScheme/cbc:CompanyID",
  "docsUrl": "https://attestwire.com/rules/BR-56"
}

xpath is always a UBL path. On a CII invoice, look for the matching CII field instead.