How to integrate the SEPA API in Node.js

Published on · Updated on

How to integrate the SEPA API in Node.js

How to consume the GenerateSEPA API from Node.js with fetch or axios, step by step.

TL;DR

  • Estimated time: 5–15 minutes depending on file size.
  • Tool: GenerateSEPA.
  • Result: a SEPA XML file ready for your bank.

Before you start

You need:

  • A source file (Norma, CSV, Excel or JSON).
  • Your Creditor Identifier (CID). If you don’t have one yet, compute it at SEPA Creditor Identifier.
  • Access to your bank’s online portal.

Steps

  1. Get your API key — From the GenerateSEPA dashboard, copy your personal token.
  2. Call /api/v1/sepa/direct_debits — POST your operations as JSON.
  3. Receive the XML — The response is a pain.008 ready to sign and submit.
  4. Handle errors — Any 4xx includes an errors field with the offending IBANs/operations.

Mandatory validation

Before sending the file, always validate with our SEPA XML Validator. 80% of returns are caught here.

Common errors

  • Wrong check digit in debtor IBAN → AC01.
  • Unsigned mandate or wrong date → MD01.
  • Concept with non-ASCII characters → some banks reject it.

Conclusion

Follow these steps and your batch will be sent in under 10 minutes. If you get stuck, ping us from the site.


Frequently Asked Questions

Do I need a paid plan?
You get one free conversion per month with GenerateSEPA. For volume, check the monthly plans.
Does the generated file work with any bank?
Yes, SEPA XML is standard and every bank in the SEPA area accepts it. Some banks ask for `pain.001.001.09`, which we support.
Can I automate the process?
Yes, via the API or Zapier/Make/n8n connectors. See our automation guides.

Convert your file to SEPA XML

Try it now →
Was this article helpful?

Related articles

Showing the first four on mobile.