AttestwireRule referenceBR-CL-16

BR-CL-16 The payment means code must be a UNTDID 4461 code

noun · EN 16931 · fatal · BT-81

For a sample invoice, the library reports: The payment means type code (BT-81) must come from UNTDID 4461, but "999" is not in that list. The code is what tells the payer's system how the money is meant to move; free text such as "bank transfer" or an invented code is not resolvable.

Business term
BT-81
Severity
fatal

The fix

Use "58" SEPA credit transfer (the default for euro-area invoices), "30" credit transfer, "59" SEPA direct debit, "48" bank card, "57" standing agreement, "97" clearing between partners, or "1" instrument not defined. Note that XRechnung then requires the matching payment group: BG-17 for 30/58, BG-18 for 48/54/55, BG-19 for 59.

A passing value

the shape this field expects
"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:

TeachingError
{
  "rule": "BR-CL-16",
  "field": "BT-81",
  "severity": "fatal",
  "message": "The payment means type code (BT-81) must come from UNTDID 4461, but \"999\" is not in that list. The code is what tells the payer's system how the money is meant to move; free text such as \"bank transfer\" or an invented code is not resolvable.",
  "fix": "Use \"58\" SEPA credit transfer (the default for euro-area invoices), \"30\" credit transfer, \"59\" SEPA direct debit, \"48\" bank card, \"57\" standing agreement, \"97\" clearing between partners, or \"1\" instrument not defined. Note that XRechnung then requires the matching payment group: BG-17 for 30/58, BG-18 for 48/54/55, BG-19 for 59.",
  "example": "\"payment\": { \"meansCode\": \"58\", \"iban\": \"DE02120300000000202051\" }",
  "xpath": "/ubl:Invoice/cac:PaymentMeans/cbc:PaymentMeansCode",
  "docsUrl": "https://attestwire.com/rules/BR-CL-16"
}

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