SEPA-incassobestand maken in Excel: stappenplan van spreadsheet tot bank
2026-04-29
Je hebt een spreadsheet vol klantnamen, IBAN’s, machtigingskenmerken, incassodatums en bedragen. Je bank wil een SEPA-incassobestand in XML. Je boekhoudpakket of ERP kan dat niet, levert het verkeerde formaat, of je bent elke maand een uur bezig de export in Excel recht te trekken voordat je hem kunt gebruiken.
Dat is in veel Nederlandse en Vlaamse bedrijven de gewone gang van zaken: contributies, abonnementen, huur of servicecontracten worden in Excel bijgehouden en eens per maand geïncasseerd. De les uit de praktijk is simpel: de meeste afgewezen SEPA-incasso’s ontstaan niet in de XML, maar in de spreadsheet.
Wil je een SEPA-incassobestand maken in Excel, dan is dit de snelste route: behandel Excel als je bron, structureer het bestand goed, zet het om met een tool die je kolommen koppelt aan pain.008, valideer vóór je uploadt en stuur het pas daarna naar de zakelijke omgeving van je bank. Kopiëren en plakken, XML met de hand aanpassen en “we lossen de afwijzingen na het uploaden wel op” werkt niet.
Je incassogegevens voorbereiden in Excel
Een bestand dat de bank accepteert, begint met een saaie, opgeruimde spreadsheet. Daar zitten de meeste fouten die je kunt voorkomen. Is de bron inconsistent, dan is de XML dat ook.

Bouw het blad rond de verplichte velden
Gebruik één rij per incasso-opdracht en één kolom per gegeven. Geen notities in dezelfde cel, geen samengevoegde cellen en geen kleuren om een status aan te geven: een converter ziet dat allemaal niet.
Je Excel heeft minimaal aparte kolommen nodig voor:
- Naam van de betaler. Gebruik consequent dezelfde (handels)naam.
- IBAN van de betaler. Zet de kolom op tekst, zodat Excel geen tekens weghaalt of er een wetenschappelijke notatie van maakt.
- BIC, als je bank die nog vraagt. De meeste banken leiden hem af uit het IBAN, sommige importfuncties willen hem nog zien.
- Machtigingskenmerk. Dit blijft gelijk zolang de machtiging loopt.
- Datum van ondertekening van de machtiging. In één datumnotatie voor het hele bestand.
- Bedrag. Alleen een getal, zonder euroteken of tekst.
- Incassodatum. In een eigen kolom, niet verstopt in een opmerkingenveld.
- Incassant-ID. Gebruik je één incassantprofiel, dan kun je het bij de conversie toevoegen, maar leg het wel vast.
Heeft je bank of converter een sjabloon, begin daar dan mee. Pas je een eigen bestand aan, vergelijk het dan met de veldindeling uit ons artikel over Excel naar SEPA XML.
Gebruik formaten die een export overleven
Excel wil behulpzaam zijn en verandert daardoor ongemerkt je gegevens. Hanteer deze regels:
- Zet IBAN-cellen op tekst voordat je gegevens plakt.
-
Noteer datums als
JJJJ-MM-DD, overal hetzelfde. - Houd één soort incasso per bestand. Meng geen losse betalingen of andere opdrachten door je incassorun.
- Haal spaties weg aan het begin en eind van cellen.
- Verwijder verborgen tekens die meekomen uit je CRM, e-mail of pdf’s.
- Meng nooit Core- en B2B-machtigingen in één batch.
Vuistregel: moet iemand “snappen wat je bedoelde” om een cel te begrijpen, dan is het bestand nog niet klaar om om te zetten.
Controlelijst vóór de conversie
Bekijk de spreadsheet voordat je iets genereert als een controleur, niet als degene die hem heeft gemaakt.
| Veld | Wat je controleert | Typische fout |
|---|---|---|
| IBAN | Alleen tekst, geen spaties als je tool die niet zelf weghaalt | Opmaak kapot na plakken |
| Machtigingskenmerk | Uniek en stabiel | Hetzelfde klantnummer voor meerdere machtigingen |
| Ondertekeningsdatum | Overal dezelfde notatie |
03-04-2025 naast 2025-04-03
|
| Incassodatum | In de toekomst, één datum per batch | Datum uit het verleden of op een niet-werkdag |
| Bedrag | Alleen getallen | Euroteken of tekst in de cel |
| Naam betaler | Schone tekst | Verborgen regeleinden of vreemde leestekens |
Wat er in echte spreadsheets misgaat
De fouten zijn zelden spectaculair. Het zijn kleine inconsistenties die zich over honderden rijen herhalen:
-
Wisselende kolomkoppen. Op het ene tabblad
IBAN, op het andereRekening klant, op een derdeRek.nr.. - Handmatige aanpassingen na de goedkeuring, zonder dat iemand het weet.
-
Datumverwarring. Is
03/04/20253 april of 4 maart? Dat hangt af van wie het bestand maakte. - Erfenis van oude systemen. Oude rekeningnummers of kenmerken uit het ClieOp03-tijdperk die nooit zijn opgeschoond.
- Gemengde logica. Gepauzeerde machtigingen, testregels en echte incasso’s in hetzelfde werkblad.
Houd je werkmap plat, expliciet en saai. Dat is de basis voor alles wat volgt.
Het SEPA-incassobestand genereren vanuit Excel
Is de spreadsheet schoon, dan heb je het moeilijkste gehad. Voor de conversie hoeft niemand op finance XML-tags of het pain.008-schema uit het hoofd te kennen. Wat telt is dat elke kolom op de juiste plek terechtkomt.

Upload het bestand dat je echt gebruikt
Een goede tool laat je het Excel- of CSV-bestand uit je eigen proces uploaden, in plaats van je te dwingen alles over te zetten naar een eigen sjabloon. Elke extra overzetstap is een kans op een fout. Let bij het uploaden op:
- De definitieve, goedgekeurde versie, niet een werkversie.
- Het juiste tabblad als de werkmap meerdere bladen heeft.
- De tekencodering (UTF-8) als je als CSV hebt geëxporteerd en namen accenten bevatten.
- Geen totaalregels, opmerkingen of handtekeningregels onderaan.
Kolommen koppelen aan SEPA-velden
In je bestand heten de kolommen misschien Klant_IBAN, Mandaat, Vervaldatum of Bedrag_incl. De XML verwacht vaste velden. Met een pain.008-generator voor SEPA-incasso’s koppel je elke kolom visueel aan het juiste veld:
- het IBAN aan de rekening van de betaler;
- machtigingskenmerk en ondertekeningsdatum aan de machtigingsvelden;
- het bedrag aan het incassobedrag;
- de incassodatum uit het bestand of als batchinstelling;
- je incassantgegevens op batchniveau;
- het juiste schema (Core of B2B) voor deze batch.
Met goede kolomkoppen ben je in een paar minuten klaar. Met rommelige koppen wordt het speurwerk.
Batchinstellingen zorgvuldig invullen
Een incassobestand bevat gegevens die voor de hele batch gelden. Excel laat je in rijen denken, dus die worden vaak vergeten.
| Batchinstelling | Waarom het ertoe doet | Gewoonte om te vermijden |
|---|---|---|
| Incassodatum | Banken weigeren een ongeldige of te late datum | De datum van vorige maand hergebruiken |
| Incassant-ID | Identificeert jou als incassant | Uit het hoofd intikken |
| Schema | Moet passen bij je machtigingen | Core en B2B door elkaar |
| Bestands- of berichtkenmerk | Maakt uploads en herhalingen traceerbaar | Een oud kenmerk opnieuw gebruiken |
| Sequentietype | Moet aansluiten op je proces (FRST, RCUR, OOFF, FNAL) | Standaardwaarde ongezien laten staan |
GenerateSEPA werkt precies zo: je uploadt je Excel-, CSV- of JSON-bestand, koppelt je kolommen aan de SEPA-velden en krijgt een pain.008-bestand terug dat je bij je bank kunt aanbieden. De koppeling wordt onthouden, dus de volgende maand gaat het met dezelfde export in een paar klikken.
Pas de XML nooit met de hand aan
Een gegenereerd XML-bestand openen in een teksteditor om “even één veld” te corrigeren, levert meestal meer problemen op dan het oplost. Eén verkeerd teken breekt de structuur of de codering. Werk altijd zo:
- Corrigeer de spreadsheet.
- Pas zo nodig de koppeling aan.
- Genereer een nieuw XML-bestand.
- Valideer opnieuw voordat je uploadt.
Voor één tikfout is dat trager, maar je houdt een controleerbare bron en de volgende run bevat dezelfde fout niet meer.
Geef het bestand een naam die je later terugvindt, met incassodatum, schema en entiteit, en bewaar drie dingen samen: de Excel-bron, de gegenereerde XML en een korte notitie van wie wat heeft goedgekeurd.
Je SEPA-incassobestand valideren en fouten oplossen
Een bestand kan foutloos worden gegenereerd en toch bij de bank stranden. Validatie voorkomt opnieuw aanbieden, gemiste incassodatums en vervelende vragen van klanten. Voor de technische controle kun je je pain.008 eerst door de SEPA-incasso XML-validator halen; meer achtergrond vind je in onze gids over een SEPA-bestand valideren.

Fouten die steeds terugkomen
- Ontbrekend of ongeldig machtigingskenmerk. Een lege cel, een dubbel kenmerk, of een intern klantnummer dat is gekoppeld in plaats van het kenmerk van de getekende machtiging.
- Incassodatum in het verleden. Het bestand is technisch in orde, maar de gevraagde datum is al voorbij als de bank het ontvangt.
- Verkeerd incassant-ID. Het ID hoort bij een andere entiteit of komt uit een oude configuratie. Controleer het met onze tool voor het incassant-ID.
- Verkeerd schema. De batch staat op Core terwijl de machtigingen B2B zijn, of omgekeerd.
- Opmaakfouten in rijen. Verborgen spaties, geplakte speciale tekens of gemengde datumnotaties.
Fouten oplossen: altijd via de bron
| Foutpatroon | Waarschijnlijke oorzaak | Beste oplossing |
|---|---|---|
| Machtigingskenmerk ongeldig | Leeg, dubbel of verkeerde kolom gekoppeld | Kenmerk in de bron corrigeren en koppeling nalopen |
| Incassodatum geweigerd | Oude datum of verkeerde notatie | Datum in Excel aanpassen en de aanlevertermijn van je bank controleren |
| Incassant-ID klopt niet | Verkeerd profiel op batchniveau | Batch opnieuw maken met het juiste incassantprofiel |
| Schema geweigerd | Core en B2B in één batch | Splitsen en per schema een bestand maken |
| Losse rijen falen | Verborgen tekens of plakvervuiling | Cellen opschonen en bronopmaak standaardiseren |
Zoek de rij die de validator aanwijst, open het bijbehorende record in Excel, bepaal of het een gegevens- of koppelingsfout is, corrigeer, genereer opnieuw en valideer nog een keer.
Kernpunt: komt dezelfde validatiefout in meerdere batches terug, dan zit het probleem in je proces, niet in één rij.
Houd de keten traceerbaar
Bankomgevingen melden het resultaat, zelden de oorzaak. Leg daarom een vaste koppeling vast tussen de bronrij, het machtigingskenmerk, het transactiekenmerk in de XML en de batchnaam die je bij de upload gebruikt. Zonder die keten wordt elke afwijzing handwerk voor finance, operations en klantenservice.
Een schone validatie betekent dat het bestand een controle heeft doorstaan. Het betekent niet automatisch dat de batch operationeel klopt: bankspecifieke regels, je incassantinstellingen en het tijdstip van aanleveren tellen ook mee.
Je SEPA-incassobestand automatisch maken met de API
Een bedrijf begint met één maandelijkse incasso in Excel. Een half jaar later incasseren drie entiteiten op verschillende data, gebeurt de goedkeuring in verschillende systemen en exporteert iemand nog steeds spreadsheets om ze met de hand om te zetten. Dat gaat goed tot de eerste spoedrun.

Met de API van GenerateSEPA verandert de taak van “iemand zet een bestand om” in “het systeem stuurt goedgekeurde incassogegevens en krijgt een SEPA-incassobestand terug”. De winst is vooral operationeel: elke keer dezelfde regels, geen afhankelijkheid van wie er toevallig is, en een spoor van verzoeken en antwoorden als iemand vraagt welk bronbestand welke XML heeft opgeleverd.
Het patroon is eenvoudig:
- Exporteer of verzamel de goedgekeurde incassogegevens in je systeem.
- Stuur ze naar de API met het gewenste incassoschema.
- Ontvang het gegenereerde XML-bestand.
- Bewaar het en zet het klaar voor upload bij je bank.
Voor veel teams is gedeeltelijke automatisering de snelste winst: de XML via de API laten maken, maar goedkeuring en upload bij de bank handmatig houden. Je houdt controle over de vrijgave en schrapt de repetitieve stap die vertraging en versiefouten veroorzaakt.
Automatisering loont het snelst bij:
- wekelijkse of maandelijkse incassoruns;
- groepen die voor meerdere entiteiten incasseren;
- ERP-systemen die Excel exporteren maar geen pain.008;
- administratiekantoren die bestanden voor meerdere klanten maken.
Eén waarschuwing: automatiseer geen slechte spreadsheet. Wisselende kolomnamen en gemengde datumnotaties worden door een API alleen sneller doorgegeven. Standaardiseer eerst de export, en koppel pas daarna je ERP of facturatiesysteem.
Aanleveren bij de bank en machtigingen beheren
Een bestand kan foutloos valideren en toch bij de laatste stap misgaan: bij het uploaden of bij de machtigingen erachter. De bank ziet alleen het bestand, je incassantinstellingen en de machtigingsgegevens.
Uploaden als gecontroleerde handeling
Elke bank (ING, Rabobank, ABN AMRO, bunq, Triodos) werkt in de zakelijke omgeving net iets anders: andere statussen, andere goedkeuringsstappen, andere aanlevertermijnen. Houd per bank een korte checklist bij de uploadstap:
- Welke pain.008-versie accepteert je bank?
- Is het juiste incassantcontract of profiel geselecteerd?
- Past de incassodatum binnen de aanlevertermijn van je bank?
- Kloppen het aantal posten en het totaalbedrag in de bankomgeving?
- Is het uploadkenmerk en de status bewaard, met wie en wanneer?
Een tip uit de praktijk: maak per bank een korte werkinstructie met schermafbeeldingen. Juist bij een maandelijkse run vergeet je waar de knoppen zitten.
Machtigingen in één systeem, niet in losse bestanden
Machtigingsbeheer loopt al mis vóór de XML als machtigingen verspreid staan over mailboxen, gedeelde mappen en lokale spreadsheets.
| Taak | Goede praktijk |
|---|---|
| Opslag | Getekende machtigingen in een doorzoekbare map of systeem |
| Wijzigingen | Vastleggen met datum en reden |
| Intrekkingen | Duidelijk markeren, zodat ze nooit meer in een batch komen |
| Kenmerk | Hetzelfde machtigingskenmerk gedurende de hele looptijd |
| Historie | Machtiging koppelen aan de incassohistorie |
Hoe een geldige SEPA-machtiging eruitziet en welke gegevens erin moeten, lees je in ons artikel over de SEPA-incassomachtiging.
Laatste check vóór de upload: vijf vragen
- Hoort de batch bij het juiste schema en de juiste entiteit?
- Is de incassodatum nog geldig voor de bank en voor de vooraankondiging aan je klanten?
- Kloppen incassant-ID en rekeninggegevens met het profiel waarmee je uploadt?
- Zijn alle machtigingen in de batch actief en niet onlangs ingetrokken of gewijzigd?
- Horen run-notitie, bestandsnaam en goedkeuring bij precies dit bestand?
Houd deze controle kort. Duurt hij twintig minuten, dan wordt hij overgeslagen. Duurt hij drie minuten, dan gebeurt hij elke keer.
Wil je je incasso’s uit Excel voortaan zonder handwerk omzetten naar een geldig pain.008-bestand? Probeer GenerateSEPA 7 dagen gratis.
Veelgestelde vragen
- Kan ik met dezelfde Excel ook een SEPA-overboeking maken?
- De werkwijze is vergelijkbaar: gegevens structureren, kolommen koppelen, XML genereren en valideren. Maar incasso's gebruiken pain.008 en overboekingen pain.001, met andere velden. Een bestand of koppeling voor het ene werkt dus niet voor het andere.
- Wat is het verschil tussen een Core- en een B2B-incasso?
- Core is de standaard SEPA-incasso, voor consumenten en bedrijven; de betaler kan een geautoriseerde incasso binnen 8 weken zonder opgaaf van reden laten terugboeken. B2B is alleen voor zakelijke betalers, die dat terugboekrecht niet hebben en de machtiging bij hun bank moeten laten registreren. Meng de twee nooit in één batch.
- Kan ik een incassobestand maken als mijn Excel rommelig is?
- Ja, maar eerst opschonen. Geen enkele converter kan dubbelzinnige kolommen betrouwbaar interpreteren. Splits gemengde kolommen, gebruik één datumnotatie, haal gepauzeerde of ingetrokken machtigingen eruit en houd één rij per incasso-opdracht aan.
- Mijn boekhoudpakket exporteert geen SEPA XML. Wat nu?
- Dat komt vaak voor. Exporteer naar Excel of CSV en gebruik een converter die je kolommen koppelt aan de SEPA-velden. Dat is meestal sneller en goedkoper dan je ERP of boekhoudpakket laten aanpassen.