pain.008.001.08 — Due Date on Easter Monday, a TARGET closing day
Een geldige SEPA-incasso met incassodatum 06-04-2026 — Tweede Paasdag, een dag waarop TARGET gesloten is. Dat is GEEN fout, en een validator die het bestand zou afwijzen, wijst een bestand af dat het scheme accepteert: het rulebook verbiedt een Due Date op een gesloten dag niet, het definieert wat ermee gebeurt — "de Settlement Date wordt de eerstvolgende Inter-PSP Business Day". Het geld beweegt dus op dinsdag 7 april, en de incasso moet de bank van de debiteur één Inter-PSP Business Day eerder bereiken (D-1): donderdag 2 april — niet vrijdag 3, want dat is Goede Vrijdag. ValidateFin zegt wanneer het geld beweegt; het noemt de datum nooit een fout. Controleer het in /tools/sepa-dates.
pain.008.001.08 — Geldig
Een geldige SEPA-incasso met incassodatum 06-04-2026 — Tweede Paasdag, een dag waarop TARGET gesloten is. Dat is GEEN fout, en een validator die het bestand zou afwijzen, wijst een bestand af dat het scheme accepteert: het rulebook verbiedt een Due Date op een gesloten dag niet, het definieert wat ermee gebeurt — "de Settlement Date wordt de eerstvolgende Inter-PSP Business Day". Het geld beweegt dus op dinsdag 7 april, en de incasso moet de bank van de debiteur één Inter-PSP Business Day eerder bereiken (D-1): donderdag 2 april — niet vrijdag 3, want dat is Goede Vrijdag. ValidateFin zegt wanneer het geld beweegt; het noemt de datum nooit een fout. Controleer het in /tools/sepa-dates.
Wat dit bestand laat zien
Een geldige SEPA-incasso met incassodatum 06-04-2026 — Tweede Paasdag, een dag waarop TARGET gesloten is. Dat is GEEN fout, en een validator die het bestand zou afwijzen, wijst een bestand af dat het scheme accepteert: het rulebook verbiedt een Due Date op een gesloten dag niet, het definieert wat ermee gebeurt — "de Settlement Date wordt de eerstvolgende Inter-PSP Business Day". Het geld beweegt dus op dinsdag 7 april, en de incasso moet de bank van de debiteur één Inter-PSP Business Day eerder bereiken (D-1): donderdag 2 april — niet vrijdag 3, want dat is Goede Vrijdag. ValidateFin zegt wanneer het geld beweegt; het noemt de datum nooit een fout. Controleer het in /tools/sepa-dates.
| Transacties | 2 |
|---|---|
| Totaal | € 310,00 |
| Schema | CORE |
| Datum in het bestand | 2026-04-06 |
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 Direct Debit, pain.008.001.08, CORE scheme.
Expected validation result: VALID — 2 collections, 310.00 EUR.
THE POINT OF THIS FILE: the requested collection date (ReqdColltnDt) is
2026-04-06 — Easter Monday, a day the TARGET system is CLOSED.
That is NOT an error, and a validator that rejected it would reject a file the
scheme accepts. The EPC rulebook does not forbid a Due Date on a closed day, it
DEFINES what happens to it:
"If the Due Date falls on a day which is not an Inter-PSP Business Day, then
the Settlement Date will be the next Inter-PSP Business Day."
— EPC016-06, 2025 SEPA Direct Debit Core Scheme Rulebook
So the money does not move on 6 April. It moves on Tuesday 7 April 2026, the
next day TARGET is open. And because the collection must reach the debtor bank
one Inter-PSP Business Day before settlement (D-1), the latest presentation is
Thursday 2 April — not Monday 6, and not Friday 3, which is Good Friday.
The file is valid: ValidateFin says WHEN THE MONEY WILL MOVE, it never calls
the date a fault. Check it against /tools/sepa-dates.
All parties are fictitious. The IBANs pass the mod-97 check and the Creditor
Scheme Identifier (ICS) passes the ISO 7064 MOD 97-10 check.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain008-target-closing-day
License: CC-BY-4.0
-->
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.08"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CstmrDrctDbtInitn>
<GrpHdr>
<MsgId>SDD-CORE-20260330-001</MsgId>
<CreDtTm>2026-03-30T09:00:00</CreDtTm>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>310.00</CtrlSum>
<InitgPty>
<Nm>Atelier Duval SARL</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-SDD-20260330-CORE</PmtInfId>
<PmtMtd>DD</PmtMtd>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>310.00</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>CORE</Cd>
</LclInstrm>
<SeqTp>RCUR</SeqTp>
</PmtTpInf>
<!-- Lundi de Pâques 2026 : TARGET est fermé. Le règlement roule au 07/04. -->
<ReqdColltnDt>2026-04-06</ReqdColltnDt>
<Cdtr>
<Nm>Atelier Duval SARL</Nm>
<PstlAdr>
<StrtNm>Rue de la Gare</StrtNm>
<BldgNb>12</BldgNb>
<PstCd>59000</PstCd>
<TwnNm>Lille</TwnNm>
<Ctry>FR</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>FR7630006000011234567890189</IBAN>
</Id>
<Ccy>EUR</Ccy>
</CdtrAcct>
<CdtrAgt>
<FinInstnId>
<BICFI>AGRIFRPP</BICFI>
</FinInstnId>
</CdtrAgt>
<ChrgBr>SLEV</ChrgBr>
<CdtrSchmeId>
<Id>
<PrvtId>
<Othr>
<Id>FR72ZZZ123456</Id>
<SchmeNm>
<Prtry>SEPA</Prtry>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</CdtrSchmeId>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>E2E-CORE-2026-0401</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">180.00</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>MNDT-2025-0117</MndtId>
<DtOfSgntr>2025-01-17</DtOfSgntr>
<AmdmntInd>false</AmdmntInd>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BICFI>BNPAFRPP</BICFI>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>Menuiserie Lambert SAS</Nm>
<PstlAdr>
<StrtNm>Avenue Jean Jaures</StrtNm>
<BldgNb>88</BldgNb>
<PstCd>69007</PstCd>
<TwnNm>Lyon</TwnNm>
<Ctry>FR</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>FR1420041010050500013M02606</IBAN>
</Id>
</DbtrAcct>
<RmtInf>
<Ustrd>Abonnement maintenance - avril 2026</Ustrd>
</RmtInf>
</DrctDbtTxInf>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>E2E-CORE-2026-0402</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">130.00</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>MNDT-2025-0803</MndtId>
<DtOfSgntr>2025-08-03</DtOfSgntr>
<AmdmntInd>false</AmdmntInd>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BICFI>GEBABEBB</BICFI>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>Peeters Bouw BVBA</Nm>
<PstlAdr>
<StrtNm>Nieuwstraat</StrtNm>
<BldgNb>23</BldgNb>
<PstCd>1000</PstCd>
<TwnNm>Brussel</TwnNm>
<Ctry>BE</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>BE68539007547034</IBAN>
</Id>
</DbtrAcct>
<RmtInf>160 / 167 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-incasso (pain.008)
- pain.008.001.02 — valid CORE direct debit
- pain.008.001.08 — valid CORE direct debit, collected after 2026-11-15
- pain.008.001.02 — mandate signed after the collection
- pain.008.001.08 — valid B2B direct debit, RCUR sequence
- pain.008.001.02 — valid CORE direct debit, FRST sequence
- pain.008.001.08 — valid one-off direct debit, OOFF sequence
- pain.008.001.02 — mandate identifier (MndtId) missing
- pain.008.001.02 — NbOfTxs and CtrlSum wrong at both levels