ISO's external code sets, current by tomorrow morning

ISO 20022 messages lean on external code sets: purpose codes, category purposes, clearing systems, return reasons, status reasons and about 160 more lists. ISO publishes them as one downloadable file and revises it several times a year. Most software copies those lists once and never updates them, so they slowly drift out of date.

We built a small service so ours don’t. Every night it downloads ISO’s published file and compares it with the copy we hold. If nothing changed, that is the end of it. If something did, it prepares a pull request that shows exactly which codes were added, removed or reworded. A person reads it and approves it. Once approved, the new lists are live on the web, as plain JSON, one address per code set.

So if ISO releases a new declaration on Tuesday, a person has checked it and it is online by Wednesday.

Simple standards, enterprise use

The service is a nightly download, a comparison and static JSON files. There is no database and no proprietary format, and any system that can fetch a web address can read it. Each code set is a single address, for example /ExternalPurpose1Code, and /coverage lists every code set that exists. Today that is 163 code sets and 3,314 codes, from ISO’s release 2Q2026 v3. /manifest says where the data came from and when.

Part of a larger body of work

This is one piece of the services Beneficial Strategies builds around ISO 20022: the specification tools, the MCP server, the message libraries and the language packs. Like the rest, the code is public source, so you can read it, fork it, or point your own system at the lists.

The ISO 20022 specification, its code sets and their text are ISO’s. ISO and its Registration Authority publish them to be used and reproduced freely under the ISO 20022 Terms of use and the Intellectual Property Rights Policy. This is not the official ISO 20022 site; the sole source of up-to-date material is https://www.iso20022.org/. ISO’s material is provided “as is”, without warranty.