ValidateFin

pain.001.001.09 — valid, two payment batches with different execution dates

Eén pain.001-bestand, twee PmtInf-blokken: batch A wordt uitgevoerd op 10-03-2026 met hybride adressen (TwnNm + Ctry + één AdrLine), batch B op 20-11-2026 met volledig gestructureerde adressen. Het toont beide lessen van een multibatch-bestand: de EPC-adresregel wordt per batch beoordeeld op de datum die de batch zelf draagt, en elke PmtInf heeft eigen NbOfTxs / CtrlSum bovenop de GrpHdr-totalen (4 overboekingen, 3.350,00 EUR).

pain.001.001.09 — Geldig

Eén pain.001-bestand, twee PmtInf-blokken: batch A wordt uitgevoerd op 10-03-2026 met hybride adressen (TwnNm + Ctry + één AdrLine), batch B op 20-11-2026 met volledig gestructureerde adressen. Het toont beide lessen van een multibatch-bestand: de EPC-adresregel wordt per batch beoordeeld op de datum die de batch zelf draagt, en elke PmtInf heeft eigen NbOfTxs / CtrlSum bovenop de GrpHdr-totalen (4 overboekingen, 3.350,00 EUR).

SEPA-overboeking (pain.001) pain.001.001.09 ISO 20022Verwacht resultaat: Geldig

Wat dit bestand laat zien

Eén pain.001-bestand, twee PmtInf-blokken: batch A wordt uitgevoerd op 10-03-2026 met hybride adressen (TwnNm + Ctry + één AdrLine), batch B op 20-11-2026 met volledig gestructureerde adressen. Het toont beide lessen van een multibatch-bestand: de EPC-adresregel wordt per batch beoordeeld op de datum die de batch zelf draagt, en elke PmtInf heeft eigen NbOfTxs / CtrlSum bovenop de GrpHdr-totalen (4 overboekingen, 3.350,00 EUR).

Transacties4
Totaal€ 3.350,00
SchemaSEPA
Datum in het bestand2026-03-10
Laatst geverifieerd: Licentie: CC-BY-4.0

Alle partijen, IBAN's en bedragen hieronder zijn fictief. De IBAN's zijn structureel geldig — ze doorstaan de mod-97-controle — maar horen bij geen enkele echte rekening.

Bestandsinhoud

<?xml version="1.0" encoding="UTF-8"?>
<!--
  ValidateFin sample file — SEPA Credit Transfer, pain.001.001.09, TWO payment batches.
  Expected validation result: VALID — 4 transfers, 3 350.00 EUR, 0 warnings.

  One file, two <PmtInf> blocks, each with its own execution date, its own debtor
  account and its own NbOfTxs / CtrlSum:
    * batch A — ReqdExctnDt 2026-03-10, HYBRID addresses (TwnNm + Ctry + one AdrLine),
      2 transfers, 1 549.50 EUR;
    * batch B — ReqdExctnDt 2026-11-20, STRUCTURED addresses (no AdrLine at all),
      2 transfers, 1 800.50 EUR.
  The EPC structured-address rule is evaluated per batch, against the date the batch
  itself carries: batch B is past the 2026-11-15 cut-off, batch A is not. The GrpHdr
  totals cover the whole file (4 / 3 350.00) and each batch's own totals must add up
  to it — a per-batch total that lies is caught even when the header total is right.
  SEPA is a single-currency scheme: every amount is in EUR.

  All parties and account numbers are fictitious.
  Reference page: https://validatefin.com/en/resources/samples/sepa-pain001-multi-batch
  License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.09"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <CstmrCdtTrfInitn>
    <GrpHdr>
      <MsgId>CT-MULTIBATCH-2026-0001</MsgId>
      <CreDtTm>2026-03-02T11:20:00</CreDtTm>
      <NbOfTxs>4</NbOfTxs>
      <CtrlSum>3350.00</CtrlSum>
      <InitgPty>
        <Nm>Atlas Industries SA</Nm>
      </InitgPty>
    </GrpHdr>
    <PmtInf>
      <PmtInfId>PMT-BATCH-A-SUPPLIERS</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <NbOfTxs>2</NbOfTxs>
      <CtrlSum>1549.50</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>
        <Dt>2026-03-10</Dt>
      </ReqdExctnDt>
      <Dbtr>
        <Nm>Atlas Industries SA</Nm>
        <PstlAdr>
          <TwnNm>Paris</TwnNm>
          <Ctry>FR</Ctry>
          <AdrLine>18 avenue des Ateliers</AdrLine>
        </PstlAdr>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <IBAN>FR7610107001011234567890129</IBAN>
        </Id>
        <Ccy>EUR</Ccy>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BICFI>CCBPFRPP</BICFI>
        </FinInstnId>
      </DbtrAgt>
      <ChrgBr>SLEV</ChrgBr>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>E2E-BATCH-A-001</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">1200.00</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BICFI>GEBABEBB</BICFI>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Bureau Verhoeven BVBA</Nm>
          <PstlAdr>
            <TwnNm>Gent</TwnNm>
            <Ctry>BE</Ctry>
            <AdrLine>Korenlei 12</AdrLine>
          </PstlAdr>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <IBAN>BE68539007547034</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Facture BV-2026-0311 - maintenance</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
      <CdtTrfTxInf>
        <PmtId>
          <EndToEndId>E2E-BATCH-A-002</EndToEndId>
        </PmtId>
        <Amt>
          <InstdAmt Ccy="EUR">349.50</InstdAmt>
        </Amt>
        <CdtrAgt>
          <FinInstnId>
            <BICFI>BCITITMM</BICFI>
          </FinInstnId>
        </CdtrAgt>
        <Cdtr>
          <Nm>Rossi Forniture Srl</Nm>
          <PstlAdr>
            <TwnNm>Milano</TwnNm>
            <Ctry>IT</Ctry>
            <AdrLine>Via Torino 45</AdrLine>
          </PstlAdr>
        </Cdtr>
        <CdtrAcct>
          <Id>
            <IBAN>IT60X0542811101000000123456</IBAN>
          </Id>
        </CdtrAcct>
        <RmtInf>
          <Ustrd>Fattura RF-2026-0088 - materiale</Ustrd>
        </RmtInf>
      </CdtTrfTxInf>
    </PmtInf>
    <PmtInf>
      <PmtInfId>PMT-BATCH-B-NOVEMBER</PmtInfId>
      <PmtMtd>TRF</PmtMtd>
      <NbOfTxs>2</NbOfTxs>
      <CtrlSum>1800.50</CtrlSum>
      <PmtTpInf>
        <SvcLvl>
          <Cd>SEPA</Cd>
        </SvcLvl>
      </PmtTpInf>
      <ReqdExctnDt>
        <Dt>2026-11-20</Dt>
      </ReqdExctnDt>
      <Dbtr>
        <Nm>Atlas Industries SA</Nm>
        <PstlAdr>
          <StrtNm>Avenue des Ateliers</StrtNm>
          <BldgNb>18</BldgNb>
          <PstCd>75011</PstCd>
          <TwnNm>Paris</TwnNm>
          <Ctry>FR</Ctry>
        </PstlAdr>
      </Dbtr>
      <DbtrAcct>
        <Id>
          <IBAN>FR7630006000011234567890189</IBAN>
        </Id>
        <Ccy>EUR</Ccy>
      </DbtrAcct>
      <DbtrAgt>
        <FinInstnId>
          <BICFI>BNPAFRPP</BICFI>
        </FinInstnId>
      </DbtrAgt>
      <ChrgBr>SLEV</ChrgBr>

160 / 226 lines shown — the complete file is in the download above.

Hoe we weten dat deze resultaten kloppen

Elk bestand in deze bibliotheek gaat bij elke build door de eigen validator van de site. Het hierboven vermelde verwachte resultaat wordt door een geautomatiseerde test bevestigd: zou een bestand niet meer overeenkomen met wat deze pagina beweert, dan faalt de build. Twee overgeërfde fixtures zijn zo vóór publicatie hersteld: drie IBAN's zakten voor de mod-97-controle en meerdere namen gebruikten tekens buiten de SEPA-basistekenset.

SEPA-overboeking (pain.001)