Attestwire › Rule reference › ATW-PAYMENT-MEANS-INFERRED

ATW-PAYMENT-MEANS-INFERRED An unstated payment means code is inferred from the account it is paid to

noun · Attestwire · information · BT-81

For a sample invoice, the library reports: payment.meansCode was not given, so the payment means type code (BT-81) was set to "58", SEPA credit transfer: there is an IBAN (BT-84), the invoice currency (BT-5) is EUR, and the IBAN's country, DE, takes part in the SEPA scheme. This is the code validateInput judged and the generators write.

Business term
BT-81
Severity
information

The fix

Nothing needs fixing. If the buyer should pay another way, state payment.meansCode yourself; a stated code is never replaced.

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": "ATW-PAYMENT-MEANS-INFERRED",
  "field": "BT-81",
  "severity": "information",
  "message": "payment.meansCode was not given, so the payment means type code (BT-81) was set to \"58\", SEPA credit transfer: there is an IBAN (BT-84), the invoice currency (BT-5) is EUR, and the IBAN's country, DE, takes part in the SEPA scheme. This is the code validateInput judged and the generators write.",
  "fix": "Nothing needs fixing. If the buyer should pay another way, state payment.meansCode yourself; a stated code is never replaced.",
  "example": "\"payment\": { \"meansCode\": \"58\", \"iban\": \"DE02120300000000202051\" }",
  "xpath": "/ubl:Invoice/cac:PaymentMeans/cbc:PaymentMeansCode",
  "docsUrl": "https://github.com/attestwire/en16931#not-implemented-yet"
}

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