How to create your first SEPA batch step by step
If your business charges customers recurrently (subscriptions, rents, tuition, B2B fees), issuing a SEPA file replaces paper bills and manual transfers. This guide covers everything you need so your first submission reaches the bank without returns.
TL;DR
- Request the Creditor Identifier (CID) from your bank.
- Sign a SEPA mandate with each debtor.
- Pre-notify the debtor at least 14 days in advance.
- Generate a pain.008 with GenerateSEPA.
- Validate the XML with our SEPA XML Validator.
- Upload to your online banking and download the receipt.
1. What a SEPA batch is and why it matters
A SEPA batch is an XML file with N direct debits sent to the bank in a single operation. It replaces the old Spanish AEB books (Norma 19, 34, 58) with the ISO 20022 / pain.008 standard.
Advantages over paper bills:
- Automatic processing: the bank ingests it without manual intervention.
- Faster settlement (D+1 for CORE, D+0 for SCT Inst).
- Lower return fees.
- Full traceability via End-to-End Identifier and UMR.
2. Before the first batch: prerequisites
2.1 Creditor Identifier (CID)
Without a CID you can’t issue SEPA. Your bank provides it on request (free, typically within 24 hours).
- Format:
ES##SUFFIX + TIN(where##are check digits). - To check structure, use our SEPA Creditor Identifier tool.
2.2 SEPA mandate
Every debtor must sign a mandate (paper, signed PDF or e-mandate). The creditor keeps the mandate for at least 14 months after the last collection.
Ready template: SEPA mandate PDF template.
2.3 Pre-notification
EPC rules require notifying the debtor at least 14 days before the first collection. For recurring collections with a stable amount, a single notice at the start of the contract is enough.
Ready template: SEPA pre-notification email template.
3. Structure of the pain.008 file
A pain.008 (Customer Direct Debit Initiation) has three main blocks:
- Group Header: identifies the sender and creation date.
- Payment Information: groups debits with the same due date, sequence (FRST/RCUR) and CID.
- Direct Debit Transaction Information: one entry per debtor (IBAN, amount, UMR, mandate date, concept).
You don’t have to write it by hand. GenerateSEPA generates it from a CSV or Excel.
4. Generate the file step by step
- Download the SEPA direct debit CSV template.
- Fill in
debtor_name,debtor_iban,amount,mandate_id,mandate_date,concept. - Upload the CSV to GenerateSEPA.
- Review the summary: operation count, total amount, due date.
- Download the
pain.008. - Validate the XML with the SEPA XML Validator.
- Upload it to your bank’s online portal.
5. Deadlines and sequences (FRST/RCUR/OOFF/FNAL)
- FRST: first debit of a recurring series. Send it D-5 business days in advance.
- RCUR: subsequent debits. D-2.
- OOFF: one-off debit. D-5.
- FNAL: last debit of the series.
SCT Inst reduces credit-transfer timing to seconds, but SEPA direct debits (SDD) are not instant: always D-2 / D-5.
6. What happens with a return
Banks return debits with an R-message (AC01, AM04, MD01, etc.). Full hub at SEPA R-messages index.
Most common case: AM04 (insufficient funds) → you can retry a few days later without re-signing the mandate.
7. First-batch common errors
- Forgetting pre-notification → debtor refunds within 8 weeks.
- Unsigned mandate → MD01 return with no comeback.
- Mixing CORE and B2B → AC13 if you issue B2B against an individual account.
- Mis-typed IBAN → AC01.
- Concept with mis-encoded
ñ/accents → some banks reject the file.
8. Final checklist
- [ ] Active CID at your bank.
- [ ] Mandate signed and archived.
- [ ] Pre-notification sent ≥ 14 days ago.
- [ ] CSV/Excel ready.
- [ ] XML generated.
- [ ] XML validated with our SEPA XML Validator.
- [ ] File uploaded before the bank cut-off.
Conclusion
Your first SEPA batch should take no more than 30 minutes the first time and 5 minutes afterwards. To skip the manual pain.008, try GenerateSEPA for free.