ErrorPeppol BIS 3.0Input required

PEPPOL-EN16931-CL007

Currency code must be according to ISO 4217:2005

What does this rule mean?

The currency code is not from ISO 4217.

Peppol narrows the EN 16931 code lists further so every receiver on the network can resolve the value without a prior agreement.

Official rule message (standard)

Currency code must be according to ISO 4217:2005

Where the rule applies

Syntax: CII · UBL

The same rule, expressed twice: UBL and CII name the same fields with different paths. Running a CII file against the UBL rules is why you get errors that mean nothing.

UBL

  • cbc:Amount | cbc:BaseAmount | cbc:PriceAmount | cbc:TaxAmount | cbc:TaxableAmount | cbc:LineExtensionAmount | cbc:TaxExclusiveAmount | cbc:TaxInclusiveAmount | cbc:AllowanceTotalAmount | cbc:ChargeTotalAmount | cbc:PrepaidAmount | cbc:PayableRoundingAmount | cbc:PayableAmount

CII

  • ram:TaxTotalAmount[@currencyID]

Technical test

The rule passes when this Schematron expression holds true:


                    some $code in $ISO4217
                        satisfies @currencyID = $code

How to fix it

A missing or incorrect business entry only you can supply. Add or correct it, then re-check.

Use the three-letter ISO 4217 code (e.g. EUR).

Correct the affected entry in your XML, then re-check the invoice. Validation runs locally in your browser — your file never leaves your machine.

Check an e-invoice here

Drop an XML or ZUGFeRD PDF file here. Validation runs locally in your browser against EN 16931 — your file never leaves your machine.

100% local — no upload, no account.

Related rules

← Back to the error library