PAIN file
SEPA (Single Euro Payments Area) is a pan-European network that allows you to send and receive payments in euros (€) between two cross-border bank accounts in the eurozone.
Payment Initiation (PAIN) is an xml file format, which is used in the Corporate to Bank payment traffic.
PAIN.001
PAIN.001 is a payments initiation message by ISO 20022. It depicts a Credit Transfer message in an XML format.
PAIN.001 is a generic payment file based on the pain.001.001, both 03 and 09 are supported, format standard and is used by corporates to send SEPA credit transfers in a file to the bank.
It supports the following type of payments:
- Europayments
- Urgent Domestic Europayments
- Urgent Europayments
- Cross border payments
You can find a format description on https://www.rabobank.nl/seb-en.
Below you can find an example format of the Pain.001:
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.001.001.03" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CstmrCdtTrfInitn>
<GrpHdr>
<MsgId>MMMM20211231v1</MsgId>
<CreDtTm>2013-07-18T10:00:00</CreDtTm>
<NbOfTxs>2</NbOfTxs>
<CtrlSum>0.03</CtrlSum>
<InitgPty>
<Nm>MIB</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PmtInfId-MM20211231-1</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>false</BtchBookg>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt>2021-12-31</ReqdExctnDt>
<Dbtr>
<Nm>MïB</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Gräädt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>NL86RABO1999999991</IBAN>
</Id>
<Ccy>EUR</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</DbtrAgt>
<CdtTrfTxInf>
<PmtId>
<InstrId>MIB InstrId305-312MM20211231v1</InstrId>
<EndToEndId>MIB E2E305-312MM20211231v1</EndToEndId>
</PmtId>
<PmtTpInf/>
<Amt>
<InstdAmt Ccy="EUR">0.01</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>MIB 320</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Graadt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>NL11RABO3444444443</IBAN>
</Id>
<Ccy>EUR</Ccy>
</CdtrAcct>
<RmtInf>
<Ustrd>MIB304-320MM20211231v1</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
<PmtInf>
<PmtInfId>PmtInfId-MM20211231-2</PmtInfId>
<PmtMtd>TRF</PmtMtd>
<BtchBookg>false</BtchBookg>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
</PmtTpInf>
<ReqdExctnDt>2021-12-31</ReqdExctnDt>
<Dbtr>
<Nm>MIB</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Graadt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>NL86RABO1999999991</IBAN>
</Id>
<Ccy>EUR</Ccy>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</DbtrAgt>
<CdtTrfTxInf>
<PmtId>
<InstrId>MIB InstrId305-312MM20211231v1</InstrId>
<EndToEndId>MIB E2E305-312MM20211231v1</EndToEndId>
</PmtId>
<PmtTpInf/>
<Amt>
<InstdAmt Ccy="EUR">0.02</InstdAmt>
</Amt>
<CdtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Nm>MIB 320</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Graadt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>NL11RABO3444444443</IBAN>
</Id>
<Ccy>EUR</Ccy>
</CdtrAcct>
<RmtInf>
<Ustrd>MIB305-320MM20211231</Ustrd>
</RmtInf>
</CdtTrfTxInf>
</PmtInf>
</CstmrCdtTrfInitn>
</Document>
PAIN.002
PAIN.002 or payment status message is a log file based on the pain.002.001.03 format, it contains the actual status of payments (example rejection, acceptance etc.) submitted by SEPA Credit Transfer (pain.001) or SEPA Direct Debit (pain.008).
- Interchange status/group status
- Batch status
- Transaction status on individual payments in the batch
You can find the format description on https://www.rabobank.nl/seb-en.
Note: The format description on www.rabobank.nl describes status information only on the rejected transactions. The pain.002 of the Business Bulk Payment Initiation and Business Direct Debit API(s) also supports the following statuses:
Interchange status/group status | |
---|---|
RCVD | Created |
ACTC | Authorised |
RJCT | Rejected |
Batch status | |
RCVD | Created |
ACTC | Awaiting authorisation (not all batches are signed) |
ACCP | Authorised |
ACSC | Processed |
RJCT | Rejected, expired or cancelled |
PDNG | Postponed |
Transaction status on individual payment in the batch | |
RJCT | Rejected |
ACTC | Awaiting authorisation |
ACCP | Authorised |
ACWC | Withdrawn |
PDNG | Postponed |
ACSC | Processed |
Below you can find an example format of the Pain.002:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>RABO-PAIN002-PO-0000000001865281814</MsgId>
<CreDtTm>2021-08-09T15:39:03.808</CreDtTm>
<InitgPty>
<Id>
<OrgId>
<BICOrBEI>RABONL2U</BICOrBEI>
</OrgId>
</Id>
</InitgPty>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>MMMM20211231v1</OrgnlMsgId>
<OrgnlMsgNmId>PAIN.001.001.03</OrgnlMsgNmId>
<OrgnlCreDtTm>2021-07-18T10:00:00.000</OrgnlCreDtTm>
<OrgnlNbOfTxs>2</OrgnlNbOfTxs>
<OrgnlCtrlSum>0.03</OrgnlCtrlSum>
<GrpSts>ACTC</GrpSts>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>PmtInfId-MM20211231-1</OrgnlPmtInfId>
<OrgnlNbOfTxs>1</OrgnlNbOfTxs>
<PmtInfSts>ACSC</PmtInfSts>
</OrgnlPmtInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>PmtInfId-MM20211231-2</OrgnlPmtInfId>
<OrgnlNbOfTxs>null</OrgnlNbOfTxs>
<PmtInfSts>RJCT</PmtInfSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>
PAIN.008
Pain.008 file is a payments initiation message by ISO 20022. It depicts a Direct Debit message in XML format. A PAIN.008 file is used by corporates to send SEPA direct debits in a file to the bank.
Both 008.001.02 and 008.001.08 are supported.
Below you can find an example format of the Pain.008:
<?xml version="1.0" encoding="UTF-8" ?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.008.001.02" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<CstmrDrctDbtInitn>
<GrpHdr>
<MsgId>MMMM20211231v1</MsgId>
<CreDtTm>2013-07-18T10:00:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>0.02</CtrlSum>
<InitgPty>
<Nm>MIB</Nm>
</InitgPty>
</GrpHdr>
<PmtInf>
<PmtInfId>PmtInfId-DD20211231-1</PmtInfId>
<PmtMtd>DD</PmtMtd>
<BtchBookg>true</BtchBookg>
<NbOfTxs>1</NbOfTxs>
<CtrlSum>0.02</CtrlSum>
<PmtTpInf>
<SvcLvl>
<Cd>SEPA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>CORE</Cd>
</LclInstrm>
<SeqTp>FRST</SeqTp>
</PmtTpInf>
<ReqdColltnDt>2021-12-31</ReqdColltnDt>
<Cdtr>
<Nm>MïB</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Gräädt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Cdtr>
<CdtrAcct>
<Id>
<IBAN>NL86RABO1999999991</IBAN>
</Id>
<Ccy>EUR</Ccy>
</CdtrAcct>
<CdtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</CdtrAgt>
<ChrgBr>SLEV</ChrgBr>
<CdtrSchmeId>
<Id>
<PrvtId>
<Othr>
<Id>NL33ZZZ300456820000</Id>
<SchmeNm>
<Prtry>SEPA</Prtry>
</SchmeNm>
</Othr>
</PrvtId>
</Id>
</CdtrSchmeId>
<DrctDbtTxInf>
<PmtId>
<EndToEndId>MIB E2E305-312DD20211231v1</EndToEndId>
</PmtId>
<InstdAmt Ccy="EUR">0.02</InstdAmt>
<DrctDbtTx>
<MndtRltdInf>
<MndtId>00001</MndtId>
<DtOfSgntr>2021-07-30</DtOfSgntr>
</MndtRltdInf>
</DrctDbtTx>
<DbtrAgt>
<FinInstnId>
<BIC>RABONL2U</BIC>
</FinInstnId>
</DbtrAgt>
<Dbtr>
<Nm>MIB 320</Nm>
<PstlAdr>
<Ctry>NL</Ctry>
<AdrLine>Graadt van Roggenweg 400</AdrLine>
<AdrLine>Utrecht</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<IBAN>NL11RABO3444444443</IBAN>
</Id>
</DbtrAcct>
<RmtInf>
<Ustrd>MIB304-320DD20211231v1</Ustrd>
</RmtInf>
</DrctDbtTxInf>
</PmtInf>
</CstmrDrctDbtInitn>
</Document>