Why I Built an Elixir ISO 20022 Parser (And why I hate banking standards)

I spent the last few months building an ISO 20022 parser in Elixir after dealing with banking integrations professionally and repeatedly running into the same problems:

  • gigantic XML schemas

  • painful tooling

  • inconsistent message variants

  • weak library support outside Java ecosystems

Ended up exporting some of that work and cleaning it up to start a full elixir library as a good excuse to learn more about elixir. Would be interested in what people think and if anyone else (god forbid) has use for this

14 Likes

What a delightfully entertaining read. I hope to never need this library but I am grateful it exists! :joy:

4 Likes

It is really great to start seeing Elixir getting more ecosystem libraries into payments standards.

I think pacs.008 could be a nice addition to the library

2 Likes

The joys of a standard including pain messges :face_with_peeking_eye: I‘ve had a system creating those to make payment of invoices simpler, though it has since been replaced with those invoice qr codes - low volume, but nobody wants the manual typing. It‘s always been using a proprietary C library (libsepa) through its php interface, even when the system switched from php to elixir years ago.

3 Likes

Absolutely! We had some rough pacs.008 code included but I’ve left it out as I’m trying to keep the library as clean as possible and only including some when I’m satisfied they are readable and meet some cases.

Thanks for checking it out

1 Like

This reminds me a lot of older HL7 standards in healthcare.

2 Likes