validation

Why invoice code lists cause validation errors

Understand currency, country, unit, payment-means, tax-category, exemption and endpoint-scheme code lists.

invoice code listsUNCL 4461 payment codeVATEX EAS codes

What it means

Structured invoices use controlled codes for currencies, countries, units, tax categories, payment means, document types and exemptions.

Profiles often restrict broad international lists to a smaller permitted subset.

Implementation method

  1. 1
    Pin the code-list release used by the profile.
  2. 2
    Map source labels to codes through a governed table.
  3. 3
    Reject unknown or deprecated values before export.
  4. 4
    Store both the source meaning and emitted code for traceability.

Common mistakes

!
Sending “kg” instead of the required unit code

Build an explicit control or test case for this condition.

!
Using a valid ISO code that the profile does not permit

Build an explicit control or test case for this condition.

!
Hard-coding tax categories without exemption reasons

Build an explicit control or test case for this condition.

!
Updating code lists without regression tests

Build an explicit control or test case for this condition.

Questions and answers

Why can a valid ISO code be rejected?

The national or network profile may allow only a subset or require additional context.

Should code lists be embedded in application logic?

Prefer versioned, testable reference data so releases can be changed without rewriting business code.

Can EInvoiceLab officially certify invoice code lists?

No. EInvoiceLab can inspect, prepare and explain technical data, but official conformance, delivery or acceptance depends on the active authority, network, accredited provider and validation artefacts.

Should I keep the original structured file?

Yes. Preserve the original XML or JSON, its hash, every validation report and the final authority or network response. A readable PDF should not replace the source document.