
In simple English
Banks and financial networks require payment instructions in a strict, complex XML format called ISO 20022. Writing this format by hand often leads to rejected payments and costly banking errors. This software library lets you build these files using standard JavaScript objects. It handles formats like SEPA for Europe, ACH for the United States, and international SWIFT transfers. It costs nothing to download and runs entirely on your own server.
What it is
A TypeScript library for generating and parsing ISO 20022 financial messaging files. It supports multiple payment networks and cash management report formats.
What it is good for
Solo developers and small business owners building custom billing, payout, or treasury systems who need to generate valid bank payment files without studying hundreds of pages of financial specifications.
- Generates valid XML files for major payment networks including SEPA, ACH, FedNow, and SWIFT.
- Provides full TypeScript type safety so you catch missing fields before sending money.
- Parses incoming bank statement files to help reconcile your accounts automatically.
- Requires comfort with TypeScript and bank payment terminology like IBAN, BIC, and routing numbers.
- Does not connect directly to bank APIs, so you must still submit the generated files yourself.
- Some payment types and formats are still marked as works in progress.
Writing complex financial XML files by hand or paying for expensive enterprise treasury software
Node.js
- hledgerorg/hledger4.8k stars
Double-entry accounting over plain text files, with command-line, terminal, web and editor interfaces.
- akaunting/akaunting10k stars
Self-hosted invoicing and expense tracking, with the double-entry accounting sold separately as an add-on.
- ledger/ledger6.1k stars
Double-entry accounting from a plain text file, run from the command line, with no database of any kind.
npm install iso20022.js