Paste your catalogue and see how many lines would be rejected under PINT AE 1.0.4 — before your provider tells you.
One line per item, columns separated by comma, semicolon or tab:
name, type, HS code, SAC code. Type is goods,
services or both, or blank if your system does not record it.
Names containing commas are fine if the field is quoted.
Why four columns and not three. HS and SAC are different fields in
the format, and an item typed as Both needs both of them
(ibr-186-ae). A three-column list still works — the single code is read as
whichever one the type calls for — but rows typed as Both cannot be judged from it.
This check finds lines where a required code is absent or implausible. It does not tell you which code each line should carry — that is the work itself, and it is the part that takes weeks when a finance team does it alone.
We do the execution: classification applied across your catalogue, tax numbers collected from your counterparties, transaction type flags configured from decisions you or your adviser have confirmed, and a dry run through the official schematrons before you go live. Which code is correct for an item, and which transaction type applies, are positions somebody has to sign — and that somebody is your adviser, not us. We implement and document what has been confirmed.
Send us a real extract and we will size it properly — or just keep the number above and do it yourself. Both are fine.
Most people are told that classification codes are mandatory. They are not — and knowing the real mechanism changes what you need to do.
In PINT AE 1.0.4 the requirement is conditional, and your own system switches it on:
| Rule | Fires when | What becomes mandatory |
|---|---|---|
ibr-184-ae | Item type is Goods |
Item classification identifier (HS) |
ibr-185-ae | Item type is Services |
Service accounting code (SAC) |
ibr-186-ae | Item type is Both |
Both codes |
ibr-188-ae | A classification code is present | Scheme identifier must be HS — not UNSPSC, not CPV |
All three are fatal, not warnings. And there is no rule requiring the item type itself to be present. So a catalogue that records no item type at all passes — while a catalogue that records it, and most ERPs do because inventory accounting depends on it, is already inside the mandatory branch.
ibr-187-ae exists in the
schematron with the body test="true()" — a placeholder reading "the minimum
number of digits should be X". The Ministry's consultation asked whether it should be four,
six or eight, and said codes are expected to become mandatory at a later stage. The
requirement is deferred, not withdrawn.
Classification is the single longest-lead item in an e-invoicing programme. A four-hundred line catalogue is not a morning's work — each line needs a decision, and a wrong decision surfaces months later as a rejected invoice or an auditor's question. Providers will validate your file and tell you the field is empty. Filling it is not their job and they will not do it.
Where this page and a source disagree, the source is right. Tell us: hello@involane.com