pain.008.001.08 — valid B2B direct debit, RCUR sequence
A valid SEPA B2B direct debit in pain.008.001.08: LclInstrm/Cd = B2B, sequence type RCUR, two recurring collections totalling 4 650.00 EUR. The B2B scheme is the business-to-business variant — the debtor must be a non-consumer and has NO right to a refund after settlement, which is why the debtor bank checks the mandate before debiting and why B2B collections are presented earlier than CORE ones.
pain.008.001.08 — Valid
A valid SEPA B2B direct debit in pain.008.001.08: LclInstrm/Cd = B2B, sequence type RCUR, two recurring collections totalling 4 650.00 EUR. The B2B scheme is the business-to-business variant — the debtor must be a non-consumer and has NO right to a refund after settlement, which is why the debtor bank checks the mandate before debiting and why B2B collections are presented earlier than CORE ones.
What this file shows
A valid SEPA B2B direct debit in pain.008.001.08: LclInstrm/Cd = B2B, sequence type RCUR, two recurring collections totalling 4 650.00 EUR. The B2B scheme is the business-to-business variant — the debtor must be a non-consumer and has NO right to a refund after settlement, which is why the debtor bank checks the mandate before debiting and why B2B collections are presented earlier than CORE ones.
| Transactions | 2 |
|---|---|
| Total | €4,650.00 |
| Scheme | B2B |
| Date in the file | 2026-05-20 |
Every party, IBAN and amount below is fictitious. The IBANs are structurally valid — they pass the mod-97 check — but they belong to no real account.
File content
<?xml version="1.0" encoding="UTF-8"?>
<!--
ValidateFin sample file — SEPA Direct Debit, pain.008.001.08, B2B scheme.
Expected validation result: VALID — 2 collections, 4 650.00 EUR, 0 warnings.
The B2B scheme (LclInstrm/Cd = B2B) is the business-to-business variant of the SEPA
Direct Debit: the debtor must be a non-consumer, and — unlike CORE — has NO right to
a no-questions-asked refund after settlement. The debtor's bank checks the mandate
before debiting, which is why B2B collections are presented far earlier than CORE.
Sequence type is RCUR: a recurring collection under a mandate already in force.
The Creditor Scheme Identifier (ICS) passes the ISO 7064 MOD 97-10 check and every
IBAN passes mod-97. All parties are fictitious.
Reference page: https://validatefin.com/en/resources/samples/sepa-pain008-b2b-rcur
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-B2B-20260515-001</MsgId>
<CreDtTm>2026-05-15T07:30:00</CreDtTm>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>4650.00</CtrlSum>
<InitgPty>
<Nm>Nordwind Software GmbH</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PMT-SDD-B2B-20260515</PmtInfId>
<PmtMtd>DD</PmtMtd>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>4650.00</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>B2B</Cd>
</LclInstrm>
<SeqTp>RCUR</SeqTp>
</PmtTpInf>
<ReqdColltnDt>2026-05-20</ReqdColltnDt>
<Cdtr>
<Nm>Nordwind Software GmbH</Nm>
<PstlAdr>
<TwnNm>Hamburg</TwnNm>
<Ctry>DE</Ctry>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>DE89370400440532013000</IBAN>
</Id>
<Ccy>EUR</Ccy>
</CdtrAcct>
<CdtrAgt>
<FinInstnId>
<BICFI>COBADEFF</BICFI>
</FinInstnId>
</CdtrAgt>
<ChrgBr>SLEV</ChrgBr>
<CdtrSchmeId>
<Id>
<PrvtId>
<Othr>
<Id>DE52ZZZ12345678</Id>
<SchmeNm>
<Prtry>SEPA</Prtry>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</CdtrSchmeId>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>E2E-B2B-2026-0501</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">1250.00</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>MNDT-B2B-2025-0117</MndtId>
<DtOfSgntr>2025-01-17</DtOfSgntr>
<AmdmntInd>false</AmdmntInd>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BICFI>BYLADEM1001</BICFI>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>Keller Logistik GmbH</Nm>
<PstlAdr>
<TwnNm>Muenchen</TwnNm>
<Ctry>DE</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>DE02120300000000202051</IBAN>
</Id>
</DbtrAcct>
<RmtInf>
<Ustrd>Enterprise Lizenz Q2-2026 - Rechnung NW-2026-0501</Ustrd>
</RmtInf>
</DrctDbtTxInf>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>E2E-B2B-2026-0502</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">3400.00</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>MNDT-B2B-2024-0903</MndtId>
<DtOfSgntr>2024-09-03</DtOfSgntr>
<AmdmntInd>false</AmdmntInd>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BICFI>ABNANL2A</BICFI>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>De Vries Advies BV</Nm>
<PstlAdr>
<TwnNm>Amsterdam</TwnNm>
<Ctry>NL</Ctry>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>NL91ABNA0417164300</IBAN>
</Id>
</DbtrAcct>
<RmtInf>
<Ustrd>Enterprise Lizenz Q2-2026 - Rechnung NW-2026-0502</Ustrd>
</RmtInf>
</DrctDbtTxInf>
</PmtInf>
</CstmrDrctDbtInitn>
</Document>
How we know these results hold
Every file in this library is run through the site's own validator on each build. The expected result stated above is asserted by an automated test — if a file stopped matching what this page claims, the build would fail. Two inherited fixtures were repaired this way before publication: three IBANs failed the mod-97 check and several names used characters outside the basic SEPA character set.
SEPA Direct Debit (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.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