BR-56 The seller tax representative (BG-11) has no VAT identifier (BT-63)
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.
This rule is implemented and its error payload below is real, but the long-form write-up — normative text, worked example, divergence note — is not written yet. Everything the library knows about this rule is on this page. Ask and we will prioritise it.
- Business term
BT-63- Severity
fatal
What the library returns
The exact object in result.errors when this rule fires.
Generated by running @attestwire/en16931, not transcribed:
{
"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 locates the element in the generated UBL document,
which is where a KoSIT or Peppol validator will report the same problem.
A passing value
"taxRepresentative": { "name": "Fiscal Rep France SARL", "vatId": "FR12345678901" }The fix
Set taxRepresentative.vatId to the representative's VAT identifier including its country prefix ("FR12345678901"), not to the seller's own VAT number.