SEPA XML bestand lezen: belangrijkste velden

Een SEPA XML bestand lijkt ingewikkeld omdat alles in technische tags staat. Toch zit er een herkenbare betaalronde onder: wie betaalt, wie ontvangt, welk bedrag, wanneer en met welk kenmerk.

In dit artikel lees je welke velden het belangrijkst zijn als je een pain.001 bestand wilt begrijpen.

De hoofdstructuur

Een normaal SEPA overboekingsbestand heeft deze lagen:

  • Document: de buitenkant van het XML bestand
  • CstmrCdtTrfInitn: het betaalblok voor credit transfers
  • GrpHdr: algemene gegevens over het hele bestand
  • PmtInf: een betaalbatch
  • CdtTrfTxInf: een individuele transactie

De SEPA XML viewer leest deze structuur en zet de inhoud om naar een gewone transactietabel.

GrpHdr: gegevens over het hele bestand

In GrpHdr staan de gegevens die over het hele bestand gaan.

Belangrijke velden:

VeldBetekenis
MsgIdUniek kenmerk van het bestand of de betaalopdracht.
CreDtTmAanmaakdatum en tijd van het bestand.
NbOfTxsAantal transacties in het bestand.
CtrlSumTotaalbedrag van alle transacties.
InitgPtyInitiator of organisatie die de opdracht aanmaakt.

Als NbOfTxs of CtrlSum niet klopt, kan een bank het bestand weigeren. Gebruik dan de validator.

PmtInf: de betaalbatch

Een SEPA XML bestand kan een of meer PmtInf blokken bevatten. Elk blok is een betaalbatch.

In een batch vind je onder andere:

  • PmtInfId: kenmerk van de batch
  • PmtMtd: betaalmethode, meestal TRF voor overboekingen
  • ReqdExctnDt: uitvoerdatum
  • Dbtr: opdrachtgever
  • DbtrAcct: rekening van de opdrachtgever
  • CdtTrfTxInf: de transacties in deze batch

Meerdere batches in een bestand zijn mogelijk. Controleer dan extra goed of uitvoerdatums en totalen logisch zijn.

CdtTrfTxInf: de betaling zelf

Elke betaling staat in een CdtTrfTxInf blok.

De belangrijkste velden zijn:

  • EndToEndId: betalingskenmerk dat door de keten zichtbaar blijft
  • InstdAmt: bedrag
  • Ccy: valuta, normaal EUR
  • Cdtr: begunstigde
  • CdtrAcct: IBAN van de begunstigde
  • Ustrd: vrije omschrijving

Deze velden zie je in de viewer als normale kolommen: naam, IBAN, omschrijving, EndToEndId, batch en bedrag.

Wat kun je zelf veilig controleren?

Je kunt zonder XML-kennis controleren of de inhoud logisch is:

  • klopt de opdrachtgever?
  • herken je alle begunstigden?
  • klopt elk bedrag?
  • klopt het totaalbedrag?
  • staat de juiste uitvoerdatum in de batch?
  • is de omschrijving duidelijk genoeg voor je administratie?

Wil je iets wijzigen, gebruik dan liever de SEPA XML editor of maak het bestand opnieuw vanuit je betaallijst.

Niet hetzelfde als validatie

Een bestand kunnen lezen betekent niet automatisch dat het technisch door de bank wordt geaccepteerd.

De viewer laat zien wat erin staat. De validator controleert of het bestand bankvriendelijk is, bijvoorbeeld op:

  • IBAN checksum
  • CtrlSum en NbOfTxs
  • uitvoerdatum
  • verplichte velden
  • tekens die banken kunnen weigeren

Begin met SEPA XML bekijken als je de inhoud wilt begrijpen. Gebruik SEPA XML valideren als je technische fouten wilt vinden.