Met een hashcode ziet u of een SEPA-betaalbestand is gewijzigd tussen het aanmaken in IFS en de ontvangst door uw bank. Met de hashcode-oplossing van Eqeep berekent IFS de code zodra het bestand ontstaat, en de bank berekent hem na ontvangst opnieuw. Zijn beide codes gelijk, dan geeft u de betaling vrij. Zo ontdekt u een rekeningnummer dat in het bestand is vervangen, voordat het geld weg is.
In deze blog legt Silvester Jansen, consultant bij Eqeep, uit hoe die oplossing werkt.
Hoe kan een betaalbestand onderweg naar de bank veranderen?
Met de introductie van SEPA veranderde het formaat voor betaalbestanden naar XML. Dat formaat is flexibel, maar ook relatief eenvoudig te wijzigen, zelfs door iemand met beperkte technische kennis. IFS genereert betaalbestanden, maar beveiligt ze niet automatisch tegen manipulatie.
Betaalbestanden staan vaak in gedeelde mappen of gaan via verschillende routes naar de bank. In die fase kunnen cybercriminelen rekeningnummers aanpassen.
De controlevelden in het bestand vangen dat niet op. Een SEPA-betaalbestand (formaat pain.001) vermeldt het aantal transacties en soms een controletotaal. Volgens de formaatbeschrijving van ING voor SEPA Instant-overboekingen is dat controletotaal de som van de bedragen. Wie alleen een rekeningnummer vervangt, verandert aantal noch totaal.
In het oude CLIEOP-formaat telden veel bedrijven ook de rekeningnummers op, onder meer voor hun accountant. Die controle bestaat in het Europese XML-formaat niet meer, schrijft de Betaalvereniging Nederland. Als vervanger adviseert zij een hashcode over het hele betaalbestand.
We hadden een klant die gehackt werd, waardoor de bedrijfsvoering twee tot drie maanden plat lag. De gegevens kwamen in handen van criminelen en de klant is maanden bezig geweest om de schade te herstellen. Lees hoe u de continuïteit van uw IT-omgeving en bedrijfssystemen borgt.
Hoe werkt een hashcode als digitale vingerafdruk?
Om dit probleem op te lossen, ontwikkelden we bij Eqeep een oplossing met hashcodes. Een hashcode is een korte code die uit de volledige inhoud van het betaalbestand wordt berekend. De Betaalvereniging noemt hem in haar richtlijn voor hashing bij SEPA-bestanden het digitale equivalent van een vingerafdruk. Zodra ook maar één teken in het bestand wijzigt, verandert de hashcode volledig.
Deze techniek gebruikt het SHA-256-algoritme, vastgelegd in de Secure Hash Standard (FIPS 180-4) van het Amerikaanse NIST. Ook Nederlandse banken erkennen die standaard. De Betaalvereniging koos SHA-256 voor het controleren van betaalbestanden.
Wat levert een hashcode in IFS u op?
Een hashcode voor uw SEPA-betalingen biedt drie voordelen:
- Verbeterde controle: de hashcode ontstaat tegelijk met het betaalbestand, direct in uw IFS-systeem.
- Efficiëntie: de hashcode staat direct in IFS, zodat u hem eenvoudig vergelijkt met de hashcode die de bank berekent.
- Tijdsbesparing: u heeft geen apart systeem nodig om hashcodes te genereren, alles gebeurt geautomatiseerd binnen IFS.
Hoe werkt het in de praktijk?
Wanneer u een betaalbestand aanmaakt in IFS, genereert ons systeem automatisch een hashcode die zichtbaar is in de trackinggegevens van het betaalbestand. Uw bank moet na ontvangst zelf ook een hashcode berekenen en tonen. Komen beide codes overeen, dan is het bestand niet gewijzigd en geeft u de bank opdracht de betaling uit te voeren.
Volgens de richtlijn van de Betaalvereniging uit 2015 kan dat in beeld na de upload of per sms. Vraag uw bank eerst of zij die dienst aanbiedt. Vergelijk altijd via een ander kanaal dan het bestand zelf. Stuur de code nooit mee, want wie het bestand onderschept, past dan ook de code aan.
Om dezelfde reden adviseert de Betaalvereniging de opgeslagen code zo te bewaren dat wijzigen vrijwel onmogelijk is. In de oplossing van Eqeep staat de code in de trackinggegevens van het betaalbestand in IFS. Leg vast wie die gegevens kan zien en wijzigen.
Mensen beslissen: u bepaalt wie het bestand uploadt, wie de codes vergelijkt en wie de batch autoriseert. De Betaalvereniging raadt aan die taken over meer personen te verdelen.
Deze oplossing is beschikbaar voor IFS Applications 10 en IFS Cloud. Zij is vooral waardevol voor bedrijven die betaalbestanden naar hun bank sturen zonder cryptografische handtekeningen en een end-to-end SSL-verbinding.
Wat controleert uw bank zelf al?
De naam bij het rekeningnummer, maar niet of het bestand nog is wat IFS aanmaakte. Sinds 9 oktober 2025 controleren banken in de eurozone bij elke overboeking in euro of de naam van de begunstigde bij het IBAN past. Die plicht komt uit de Europese verordening 2024/886. Klopt de naam niet, dan waarschuwt de bank u voordat u autoriseert.
Febelfin, de federatie van de Belgische financiële sector, noemt dat een extra bescherming tegen fouten en bepaalde vormen van fraude. Bij een batch mag uw bedrijf de controle wel uitzetten, en later weer aanzetten.
De controle vergelijkt bovendien naam en IBAN zoals ze in de opdracht staan. Vervangt iemand in het bestand beide door die van een rekening die de fraudeur beheert, dan volgt een match. Vraag uw bank of uw batches met of zonder naamcontrole lopen.
Welke afspraken legt u in IFS vast?
Wie bankgegevens van leveranciers wijzigt, wie die wijziging controleert en wie betalingen vrijgeeft. Staat er al een vals rekeningnummer in IFS, dan berekent IFS de hashcode over een bestand dat al fout is.
Zo’n vals rekeningnummer kan via factuurfraude binnenkomen. Fraudeurs onderscheppen een echte factuur en vervangen de bankgegevens door die van henzelf, beschrijft Febelfin. Bij CEO-fraude doen ze zich voor als de CEO en vragen ze een medewerker om een dringende, geheime betaling.
Febelfin en de Betaalvereniging adviseren vergelijkbare maatregelen:
- Scheid de taken. Wie bankgegevens van leveranciers wijzigt, geeft geen betalingen vrij.
- Controleer elk nieuw rekeningnummer. Bel de leverancier op een nummer dat al in uw administratie staat, niet op het nummer op de factuur.
- Laat het rekeningnummer uit de stamgegevens komen, zonder dat iemand het in de betaling aanpast.
IFS ondersteunt die afspraken. In een betaalvoorstel komen alleen geautoriseerde facturen, en het voorstel moet worden bevestigd voordat IFS het bestand aanmaakt. Staan er op een factuur eigen betaalinstructies, dan gebruikt IFS die altijd, ook als de leverancier een andere standaard heeft. Spreek dus af wie die instructies mag invullen.
In de Segregation of Duties-analyse van IFS Cloud legt uw applicatiebeheerder vast welke taken conflicteren, met de ernst Warning of Not Allowed. De analyse toont welke gebruikers toch bij beide taken kunnen. De History Log legt per gekozen veld de oude en nieuwe waarde vast, met gebruiker en tijdstip. Zet die aan voor de bankgegevens van leveranciers.
De add-on van TRAILD controleert bankgegevens van leveranciers al vóór de betaling en waarschuwt bij wijzigingen. Lees hoe Eqeep en TRAILD inkoopfacturen in IFS Cloud verwerken.
Wij brengen met u in kaart waar uw betaalbestand staat, wie erbij kan, wie bankgegevens wijzigt en wie vrijgeeft. Start met een analyse.
Wat betekent e-invoicing voor de beveiliging van uw betalingen?
E-invoicing verandert niets aan het risico van een vals rekeningnummer. Volgens Febelfin moeten facturen tussen in België gevestigde bedrijven sinds 1 januari 2026 in principe via Peppol. De tips van Febelfin tegen factuurfraude gelden ook voor die facturen. Ook een e-factuur kan dus de bankgegevens van een fraudeur bevatten, en dan blijven de controles hierboven nodig.
Welke regels voor e-invoicing gelden, besprak ik in mijn vorige blog over e-invoicing.
Wanneer voegt een hashcode weinig toe?
Als uw betaalbestanden al met cryptografische handtekeningen van uw ERP-systeem naar de bank gaan. Volgens de Betaalvereniging hebben banken en grote klanten het vaak zo ingericht. Dat vraagt wel kosten, werk bij de ERP-leverancier en beheer van certificaten. Waar dat niet haalbaar is, adviseert de Betaalvereniging de hashcode.
Ook als een servicebureau het bestand bewerkt, werkt één hashcode van IFS tot bank niet. Elke wijziging, zelfs een weggehaalde spatie, geeft een andere code. De Betaalvereniging adviseert dan per schakel een eigen hashcode.
Bij een multibankportaal wordt de code volgens de Betaalvereniging alleen tot het portaal gecontroleerd. Daarna nemen de beveiligde kanalen van de banken het over.
Vragen over SEPA-betalingen en hashcodes
Wat is een hashcode bij een SEPA-betaalbestand?
Een korte code die uit de volledige inhoud van het betaalbestand wordt berekend, als een digitale vingerafdruk. Eqeep gebruikt SHA-256, het algoritme dat ook de Betaalvereniging Nederland adviseert. Verandert er één teken in het bestand, dan verandert de code.
Is de naamcontrole van de bank niet genoeg?
Niet altijd. Sinds 9 oktober 2025 vergelijken banken in de eurozone de naam van de begunstigde met het IBAN. Bij een batch kan uw bedrijf die controle uitzetten. En worden naam en IBAN in het bestand samen vervangen, dan kan de controle toch een match geven.
Wat doet u als de hashcodes niet overeenkomen?
Autoriseer de batch dan niet. Volgens de Betaalvereniging is het bestand dan mogelijk gewijzigd tussen het aanmaken en de ontvangst door de bank. U kunt het bij de bank verwijderen zonder het te verwerken.
Bespreek uw IFS-vraag
Vertel ons waar u staat met IFS. Na één gesprek heeft u een heldere vervolgstap. Eqeep verzorgt de implementatie van de hashcode-oplossing in IFS Applications 10 of IFS Cloud. Bespreek uw IFS-vraag
Blijf een stap voor met IFS. Ontvang releasenieuws en praktijkvoorbeelden van IFS Specialized Partner Eqeep in uw mailbox. Gratis, en afmelden kan altijd.