Attestwire › Rule reference › PEPPOL-EN16931-CL007
PEPPOL-EN16931-CL007 The invoice currency must be on Peppol’s ISO 4217 list
noun · Peppol BIS · fatal · BT-5
For a sample invoice, the library reports: "XCG" is not in the ISO 4217 currency list Peppol admits for BT-5 — the invoice currency, which every amount on the document is denominated in.
- Business term
BT-5- Severity
fatal
The fix
Set currency to an ISO 4217 alphabetic code in upper case, from the PEPPOL_CURRENCY_CODES list this package exports. If the currency you need is genuinely absent, the invoice cannot be sent over Peppol in it — bill in a currency the network knows and state the original in the note (BT-22).
A passing value
"currency": "EUR"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": "PEPPOL-EN16931-CL007",
"field": "BT-5",
"severity": "fatal",
"message": "\"XCG\" is not in the ISO 4217 currency list Peppol admits for BT-5 — the invoice currency, which every amount on the document is denominated in. Peppol maintains its own copy of ISO 4217 and refreshes it on its own release cadence, so it is not always the same list as the one BR-CL-04 enforces: a currency the CEN artefact has just added is refused here until Peppol catches up, and one the CEN artefact has just retired is still accepted. Passing BR-CL-04 is therefore not evidence of passing this rule. This is a Peppol BIS Billing 3.0 profile rule: it applies because profile is \"peppol-bis-3\". It does not apply to the en16931, xrechnung-ubl or xrechnung-cii profiles, whose validators will accept the same document.",
"fix": "Set currency to an ISO 4217 alphabetic code in upper case, from the PEPPOL_CURRENCY_CODES list this package exports. If the currency you need is genuinely absent, the invoice cannot be sent over Peppol in it — bill in a currency the network knows and state the original in the note (BT-22).",
"example": "\"currency\": \"EUR\"",
"xpath": "/ubl:Invoice/cbc:DocumentCurrencyCode",
"docsUrl": "https://attestwire.com/rules/PEPPOL-EN16931-CL007"
}
xpath is always a UBL path. On a CII invoice, look for the
matching CII field instead.