The ISO 20022 pain.001 message is widely used for corporate to bank payments. To date the most prevalent version of the ISO 20022 pain.001 message has been the pain.001.001.03, or version 3, released in 2009 and first brought into widespread usage as a result of SEPA in Europe. But adoption of the new version 9 of the pain.001 message from 2019-2020 is growing.
Adoption of pain.001 version 9 is especially likely in markets where new payment market infrastructures are being deployed e.g. in Canada and the Nordic region. For corporations and banks long used to working with version 3 of the pain.001 message, it is useful to consider the differences between the versions carefully.
Here, we explain the main differences in pain.001, between:
When looking at differences, it’s important to keep in mind that there's one core value that must be correct for the version to be used: namespace. The bank cannot accept a message where the namespace does not match the version that they support, even if the payment data in the message is formatted exactly as the bank requires.
The reason? It’s because the namespace attribute within <Document> changes in ISO messages, between versions, and this difference alone means the schema validation will fail at the receiving end.
The most drastic change between versions is that pain.001.001.09 (and other newer ISO messages) support the usage of the “SupplementaryData” field. Supplementary Data elements in the ISO message are defined as "xs:any", which means that they can contain any element, without restrictions on the data. For this reason, banks might release their own SupplementaryData schemas which are not related to ISO 20022 in any way.
For corporate users, in cases where your bank supports Supplementary Data elements, it’s likely that most changes in the payment message will be in this area.
If the bank has released their own SupplementaryData schemas, the namespaces of those schemas have to be included in the payment message; namespace definitions will have to be present in the XML message as well ̶ all of which makes the XML message more complicated than a message without Supplementary Data.
On the other hand, if the bank does not publish their own SupplementaryData schemas, there is no need to include namespace information in the XML message. But this approach has the effect of making the testing process difficult, as schema validation will not be able to find incorrect usage within Supplementary Data elements.
Supplementary Data elements are optional in the pain.001.001.09 message and if the bank chooses not to use the elements, a corporate user will not have to worry about this change at all.
Finally, there are differences in the element definitions between the ISO message versions.
While these are the most important differences that we have encountered, market practices and the choices of individual banks can result in many more differences. The devil is in the detail.
We’ll watch with interest to see the various usages of pain.001 version 9 across different markets. We are especially interested to monitor the adoption of Supplementary Data elements. Use of Supplementary Data gives more flexibility, but it also allows for more divergence from a standards-based approach and widespread usage may result in a higher number of technical errors in payments transactions.