Attestwire › Rule reference › BR-55

BR-55 Every preceding invoice reference must give the invoice number

noun · EN 16931 · fatal · BT-25

For a sample invoice, the library reports: Preceding invoice reference 1 (BG-3) carries no invoice number (BT-25). BG-3 is how a corrective or partial invoice says which document it adjusts, and the number is the only part of it that identifies one. A date alone does not: a seller who issued four invoices that day has said nothing.

Business term
BT-25
Severity
fatal

The fix

Set precedingInvoices[].invoiceNumber to the BT-1 of the invoice being corrected or referenced, exactly as it was issued. Add issueDate (BT-26) alongside it when your numbering is not unique across years.

A passing value

the shape this field expects
"precedingInvoices": [{ "invoiceNumber": "2026-000141", "issueDate": "2026-07-31" }]

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-55",
  "field": "BT-25",
  "severity": "fatal",
  "message": "Preceding invoice reference 1 (BG-3) carries no invoice number (BT-25). BG-3 is how a corrective or partial invoice says which document it adjusts, and the number is the only part of it that identifies one. A date alone does not: a seller who issued four invoices that day has said nothing. Without BT-25 the buyer cannot net the correction against the original, and your own VAT return cannot show which period the adjustment belongs to.",
  "fix": "Set precedingInvoices[].invoiceNumber to the BT-1 of the invoice being corrected or referenced, exactly as it was issued. Add issueDate (BT-26) alongside it when your numbering is not unique across years.",
  "example": "\"precedingInvoices\": [{ \"invoiceNumber\": \"2026-000141\", \"issueDate\": \"2026-07-31\" }]",
  "xpath": "/ubl:Invoice/cac:BillingReference[1]/cac:InvoiceDocumentReference/cbc:ID",
  "docsUrl": "https://attestwire.com/rules/BR-55"
}

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