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.

Iemand werkt op een laptop aan een spreadsheet om incassogegevens te ordenen.

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:

  1. Zet IBAN-cellen op tekst voordat je gegevens plakt.
  2. Noteer datums als JJJJ-MM-DD, overal hetzelfde.
  3. Houd één soort incasso per bestand. Meng geen losse betalingen of andere opdrachten door je incassorun.
  4. Haal spaties weg aan het begin en eind van cellen.
  5. Verwijder verborgen tekens die meekomen uit je CRM, e-mail of pdf’s.
  6. 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 andere Rekening klant, op een derde Rek.nr..
  • Handmatige aanpassingen na de goedkeuring, zonder dat iemand het weet.
  • Datumverwarring. Is 03/04/2025 3 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.

Infographic in vijf stappen: van Excel-gegevens naar een SEPA-incassobestand in XML.

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:

  1. Corrigeer de spreadsheet.
  2. Pas zo nodig de koppeling aan.
  3. Genereer een nieuw XML-bestand.
  4. 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.

Iemand controleert financiële overzichten op een tablet.

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.

Ontwikkelaar werkt aan meerdere schermen aan een geautomatiseerde API-koppeling.

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:

  1. Exporteer of verzamel de goedgekeurde incassogegevens in je systeem.
  2. Stuur ze naar de API met het gewenste incassoschema.
  3. Ontvang het gegenereerde XML-bestand.
  4. 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

  1. Hoort de batch bij het juiste schema en de juiste entiteit?
  2. Is de incassodatum nog geldig voor de bank en voor de vooraankondiging aan je klanten?
  3. Kloppen incassant-ID en rekeninggegevens met het profiel waarmee je uploadt?
  4. Zijn alle machtigingen in de batch actief en niet onlangs ingetrokken of gewijzigd?
  5. 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.

Gerelateerde artikelen