Attestwire › Rule reference › BR-49
BR-49 Payment instructions must include a payment means code
noun · EN 16931 · fatal · BT-81
For a sample invoice, the library reports: The invoice carries a payment instruction group (BG-16), so it must specify the payment means type code (BT-81). BG-16 is optional in core EN 16931 — but once present it has to be actionable, and the means code is the part a payment system reads.
- Business term
BT-81- Severity
fatal
The fix
Set payment.meansCode to a UNTDID 4461 code: "58" SEPA credit transfer, "30" credit transfer, "59" SEPA direct debit, "48" bank card, "57" standing agreement, "97" clearing between partners. If you did not mean to give payment instructions at all, remove the payment object.
A passing value
"payment": { "meansCode": "58", "iban": "DE02120300000000202051" }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:
{
"rule": "BR-49",
"field": "BT-81",
"severity": "fatal",
"message": "The invoice carries a payment instruction group (BG-16), so it must specify the payment means type code (BT-81). BG-16 is optional in core EN 16931 — but once present it has to be actionable, and the means code is the part a payment system reads. An IBAN with no means code does not tell the payer whether you expect them to push a credit transfer or whether you intend to collect by direct debit, which are opposite instructions.",
"fix": "Set payment.meansCode to a UNTDID 4461 code: \"58\" SEPA credit transfer, \"30\" credit transfer, \"59\" SEPA direct debit, \"48\" bank card, \"57\" standing agreement, \"97\" clearing between partners. If you did not mean to give payment instructions at all, remove the payment object.",
"example": "\"payment\": { \"meansCode\": \"58\", \"iban\": \"DE02120300000000202051\" }",
"xpath": "/ubl:Invoice/cac:PaymentMeans/cbc:PaymentMeansCode",
"docsUrl": "https://attestwire.com/rules/BR-49"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.