aplonHUB, Sample SEPA messages for Testing
Bellow you can find some sample SEPA messages and instructions on how to produce such files manually for testing purposes, for example if you want to test incoming payments, incoming recalls , incoming returns ,etc.
Files bellow are based in the EPC's scheme. The content of each bulk does not change in case you want to use the EBA's scheme, just wrap the file inside the needed xml elements.
PACS.008
pacs.008
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.02"> <FIToFICstmrCdtTrf> <GrpHdr> <MsgId>SCTORD156820190412000000023010</MsgId> <CreDtTm>2018-11-25T21:05:34</CreDtTm> <NbOfTxs>1</NbOfTxs> <TtlIntrBkSttlmAmt Ccy="EUR">28.00</TtlIntrBkSttlmAmt> <IntrBkSttlmDt>2018-11-25</IntrBkSttlmDt> <SttlmInf> <SttlmMtd>CLRG</SttlmMtd> <ClrSys> <Prtry>ACHT1234567890123456789012345678905</Prtry> </ClrSys> </SttlmInf> <InstgAgt> <FinInstnId> <BIC>TESTBICB</BIC> </FinInstnId> </InstgAgt> <InstdAgt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </InstdAgt> </GrpHdr> <CdtTrfTxInf> <PmtId> <InstrId>6630844036108666</InstrId> <EndToEndId>NOTPROVIDED</EndToEndId> <TxId>8097758122275259</TxId> </PmtId> <PmtTpInf> <SvcLvl> <Cd>SEPA</Cd> </SvcLvl> </PmtTpInf> <IntrBkSttlmAmt Ccy="EUR">28.00</IntrBkSttlmAmt> <ChrgBr>SLEV</ChrgBr> <Dbtr> <Nm>Alexandraki Alexandros</Nm> <PstlAdr> <Ctry>GR</Ctry> <AdrLine>Address line 1</AdrLine> <AdrLine>Address line 2</AdrLine> </PstlAdr> </Dbtr> <DbtrAcct> <Id> <IBAN>GR5501400101234567890123456</IBAN> </Id> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </DbtrAgt> <CdtrAgt> <FinInstnId> <BIC>TESTBICR</BIC> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>Florin</Nm> <PstlAdr> <Ctry>RO</Ctry> <AdrLine>Florin Address 1</AdrLine> <AdrLine>Florin Address 2</AdrLine> </PstlAdr> </Cdtr> <CdtrAcct> <Id> <IBAN>GR5501400101234567890123456</IBAN> </Id> </CdtrAcct> <RmtInf> <Ustrd>Some test notes about the incoming payment</Ustrd> </RmtInf> </CdtTrfTxInf> </FIToFICstmrCdtTrf> </Document>
Group Level
- Each pacs.008 should have a unique Message Id - MsgId (line 5). In case the message id already exists in the aplonHUB you will get an error.
- Each pacs.008 could have more than one transactions. In that case you can include more than one CdtTrfTxInf elements in the xml.
- Make sure that the NbOfTxs (line 7) is equal to the CdtTrfTxInf elements contained in the pacs.008, and the TtlIntrBkSttlmAmt (line 8) is equal to the sum of all IntrBkSttlmAmt elements.
Transaction Level
- Each transaction should have a unique Transaction Id - TxId (line 31). In case the message id already exists in the aplonHUB you will get an error.
- Instruction Id - InstrId (line 29) is optional
- EndToEndId (line 30) is mandatory. If there is no EndToEndId then the value NOTPROVIDED should be in place
- File name should be unique. In case the message id already exists in the aplonHUB you will get an error.
PACS.004
pacs 004
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.02"> <PmtRtr> <GrpHdr> <MsgId>1619093954071</MsgId> <CreDtTm>2021-04-22T15:19:13</CreDtTm> <NbOfTxs>1</NbOfTxs> <TtlRtrdIntrBkSttlmAmt Ccy="EUR">1.38</TtlRtrdIntrBkSttlmAmt> <IntrBkSttlmDt>2021-04-22</IntrBkSttlmDt> <SttlmInf> <SttlmMtd>CLRG</SttlmMtd> <ClrSys> <Prtry>ST2</Prtry> </ClrSys> </SttlmInf> <InstgAgt> <FinInstnId> <BIC>TESTBICB</BIC> </FinInstnId> </InstgAgt> </GrpHdr> <TxInf> <RtrId>1619093953742</RtrId> <OrgnlGrpInf> <OrgnlMsgId>2021042215191367</OrgnlMsgId> <OrgnlMsgNmId>pacs.008</OrgnlMsgNmId> </OrgnlGrpInf> <OrgnlInstrId>c681f609cd984abf92aeb5788fe606dd</OrgnlInstrId> <OrgnlEndToEndId>c681f609cd984abf92aeb5788fe606ff</OrgnlEndToEndId> <OrgnlTxId>c681f609cd984abf92aeb5788fe606dd</OrgnlTxId> <OrgnlIntrBkSttlmAmt Ccy="EUR">1.38</OrgnlIntrBkSttlmAmt> <RtrdIntrBkSttlmAmt Ccy="EUR">1.00</RtrdIntrBkSttlmAmt> <ChrgsInf> <Amt Ccy="EUR">0.38</Amt> <Pty> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </Pty> </ChrgsInf> <RtrRsnInf> <Orgtr> <Id> <OrgId> <BICOrBEI>BLFNGB21</BICOrBEI> </OrgId> </Id> </Orgtr> <Rsn> <Cd>AC01</Cd> </Rsn> </RtrRsnInf> <OrgnlTxRef> <IntrBkSttlmDt>2021-04-22</IntrBkSttlmDt> <SttlmInf> <SttlmMtd>CLRG</SttlmMtd> </SttlmInf> <PmtTpInf> <SvcLvl> <Cd>SEPA</Cd> </SvcLvl> </PmtTpInf> <RmtInf> <Ustrd>Some info about the payment</Ustrd> </RmtInf> <Dbtr> <Nm>Debtor Namw 1</Nm> <PstlAdr> <Ctry>GB</Ctry> <AdrLine>Debtor Address Line 1</AdrLine> <AdrLine>Debtor Address Line 2</AdrLine> </PstlAdr> </Dbtr> <DbtrAcct> <Id> <IBAN>GB51BLFN04135010000001</IBAN> </Id> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>BANKSBIC</BIC> </FinInstnId> </DbtrAgt> <CdtrAgt> <FinInstnId> <BIC>BLFNGB21</BIC> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>Creditor Name</Nm> <PstlAdr> <Ctry>GB</Ctry> <AdrLine>Address Line 1</AdrLine> <AdrLine>Address Line 2</AdrLine> </PstlAdr> </Cdtr> <CdtrAcct> <Id> <IBAN>GB51BLFN04135010000001</IBAN> </Id> </CdtrAcct> </OrgnlTxRef> </TxInf> </PmtRtr> </Document>
Group Level
- Each pacs.004 should have a unique MessageId - MsgId (line 5).
- Each pacs.004 could have more than one transactions. In that case you can include more than one TxInf elements in the xml.
- Make sure that the NbOfTxs (line 7) is equal to the TxInf elements contained in the pacs.004.
- Make sure that the TtlRtrdIntrBkSttlmAmt (line 7) is equal to the summary of all RtrdIntrBkSttlmAmt elements of the file
Transaction Level
- Each transaction should have a unique Return Id - RtrId (line 27). In case the Return id already exists in the aplonHUB you will get an error.
- Original Message Id - OrgnlMsgId (line 25) you need to put the message id of the file of the original transaction
- Original Message Name Id - OrgnlMsgNmId (line 26) pacs.008.001.02 always in Sepa Credit Transfer
- Original transaction Id - OrgnlInstrId (line 28) the instruction id of the original transaction
- Original end to end Id - OrgnlEndToEndId (line 29) the end to end id of the original transaction
- Original Transaction Id - OrgnlTxId (line 30) the transaction id of the original transaction
- Original Interbank Settlement Amount - OrgnlIntrBkSttlmAmt (line 31) - The settlement amount of the original transaction
- Original Interbank Settlement Date - RtrdIntrBkSttlmAmt (line 32) - The returned amount (settlement amount - return charges if any)
- If there are charges aadd the ChrgsInf element (Lines 33 - 40) otherwise remove the element
- Return Reason Information - RtrRsnInf (lines 41-52) - The SEPA return reason code and the originator for the recall request
- Original Transaction Reference - OrgnlTxRef (lines 53-102) - Information of the original transaction
CAMT.056
camt.056
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.056.001.01"> <FIToFIPmtCxlReq> <Assgnmt> <Id>2333333333344455</Id> <Assgnr> <Agt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </Agt> </Assgnr> <Assgne> <Agt> <FinInstnId> <BIC>TESTBICB</BIC> </FinInstnId> </Agt> </Assgne> <CreDtTm>2021-04-22T11:14:29</CreDtTm> </Assgnmt> <CtrlData> <NbOfTxs>1</NbOfTxs> </CtrlData> <Undrlyg> <TxInf> <CxlId>000R9087000000012</CxlId> <OrgnlGrpInf> <OrgnlMsgId>SCTORD156820190412000000023010</OrgnlMsgId> <OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId> </OrgnlGrpInf> <OrgnlInstrId>6630844036108666</OrgnlInstrId> <OrgnlEndToEndId>NOTPROVIDED</OrgnlEndToEndId> <OrgnlTxId>8097758122275259</OrgnlTxId> <OrgnlIntrBkSttlmAmt Ccy="EUR">28</OrgnlIntrBkSttlmAmt> <OrgnlIntrBkSttlmDt>2021-04-22</OrgnlIntrBkSttlmDt> <CxlRsnInf> <Orgtr> <Nm>Florin</Nm> </Orgtr> <Rsn> <Prtry>AM09</Prtry> </Rsn> </CxlRsnInf> <OrgnlTxRef> <SttlmInf> <SttlmMtd>CLRG</SttlmMtd> <ClrSys> <Prtry>ACHT1234567890123456789012345678905</Prtry> </ClrSys> </SttlmInf> <PmtTpInf> <SvcLvl> <Cd>SEPA</Cd> </SvcLvl> </PmtTpInf> <RmtInf> <Ustrd>Some test notes about the incoming payment</Ustrd> </RmtInf> <Dbtr> <Nm>Alexandraki Alexandros</Nm> <PstlAdr> <Ctry>GR</Ctry> <AdrLine>Address line 1</AdrLine> <AdrLine>Address line 2</AdrLine> </PstlAdr> </Dbtr> <DbtrAcct> <Id> <IBAN>GR5501400101234567890123456</IBAN> </Id> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </DbtrAgt> <CdtrAgt> <FinInstnId> <BIC>TESTBICR</BIC> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>Florin</Nm> <PstlAdr> <Ctry>RO</Ctry> <AdrLine>Florin Address 1</AdrLine> <AdrLine>Florin Address 2</AdrLine> </PstlAdr> </Cdtr> <CdtrAcct> <Id> <IBAN>GR5501400101234567890123456</IBAN> </Id> </CdtrAcct> </OrgnlTxRef> </TxInf> </Undrlyg> </FIToFIPmtCxlReq> </Document>
Group Level
- Each camt.056 should have a unique Assignment Id - Assgnmt - Id (line 5).
- Each camt.056 could have more than one transactions. In that case you can include more than one TxInf elements in the xml.
- Make sure that the NbOfTxs (line 23) is equal to the TxInf elements contained in the camt.056.
Transaction Level
- Each transaction should have a unique Cancelation Id - CxlId (line 27). In case the Cancelation id already exists in the aplonHUB you will get an error.
- Original Message Id - OrgnlMsgId (line 29) you need to put the message id of the file of the original transaction
- Original Message Name Id - OrgnlMsgNmId (line 30) pacs.008.001.02 always in Sepa Credit Transfer
- Original transaction Id - OrgnlInstrId (line 32) the instruction id of the original transaction
- Original end to end Id - OrgnlEndToEndId (line 33) the end to end id of the original transaction
- Original Transaction Id - OrgnlTxId (line 34) the transaction id of the original transaction
- Original Interbank Settlement Amount - OrgnlIntrBkSttlmAmt (line 35) - The settlement amount of the original transaction
- Original Interbank Settlement Date - OrgnlIntrBkSttlmDt (line 36) - The settlement date of the original transaction
- Cancelation Reason Information - CxlRsnInf (lines 37-44) - The SEPA cancelation reason code and the originator for the recall request
- Original Transaction Reference - OrgnlTxRef (lines 45-96) - Information of the original transaction
CAMT.029.001.03
camt 029
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.029.001.03"> <RsltnOfInvstgtn> <Assgnmt> <Id>1619091467284</Id> <Assgnr> <Agt> <FinInstnId> <BIC>BANKSBIC</BIC> </FinInstnId> </Agt> </Assgnr> <Assgne> <Agt> <FinInstnId> <BIC>BLFNGB21</BIC> </FinInstnId> </Agt> </Assgne> <CreDtTm>2021-04-22T14:37:47</CreDtTm> </Assgnmt> <Sts> <Conf>RJCR</Conf> </Sts> <CxlDtls> <TxInfAndSts> <CxlStsId>1619091467016</CxlStsId> <OrgnlGrpInf> <OrgnlMsgId>2021042214374695</OrgnlMsgId> <OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId> </OrgnlGrpInf> <OrgnlInstrId>c681f609cd984abf92aeb5788fe606dd</OrgnlInstrId> <OrgnlEndToEndId>c681f609cd984abf92aeb5788fe606ff</OrgnlEndToEndId> <OrgnlTxId>c681f609cd984abf92aeb5788fe606dc</OrgnlTxId> <TxCxlSts>RJCR</TxCxlSts> <CxlStsRsnInf> <Orgtr> <Nm>Creditor Name</Nm> </Orgtr> <Rsn> <Cd>CUST</Cd> </Rsn> <AddtlInf>AT51 Invalid financial or non-financial institution BIC in</AddtlInf> </CxlStsRsnInf> <OrgnlTxRef> <IntrBkSttlmAmt Ccy="EUR">1.22</IntrBkSttlmAmt> <IntrBkSttlmDt>2021-04-22</IntrBkSttlmDt> <SttlmInf> <SttlmMtd>CLRG</SttlmMtd> <ClrSys> <Prtry>ST2</Prtry> </ClrSys> </SttlmInf> <PmtTpInf> <SvcLvl> <Cd>SEPA</Cd> </SvcLvl> </PmtTpInf> <RmtInf> <Ustrd>Some info about the payment</Ustrd> </RmtInf> <Dbtr> <Nm>Debtor Namw 1</Nm> <PstlAdr> <Ctry>GB</Ctry> <AdrLine>Debtor Address Line 1</AdrLine> <AdrLine>Debtor Address Line 2</AdrLine> </PstlAdr> </Dbtr> <DbtrAcct> <Id> <IBAN>GB51BLFN04135010000001</IBAN> </Id> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>BANKSBIC</BIC> </FinInstnId> </DbtrAgt> <CdtrAgt> <FinInstnId> <BIC>BLFNGB21</BIC> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>Creditor Name</Nm> <PstlAdr> <Ctry>GB</Ctry> <AdrLine>Address Line 1</AdrLine> <AdrLine>Address Line 2</AdrLine> </PstlAdr> </Cdtr> <CdtrAcct> <Id> <IBAN>GB51BLFN04135010000001</IBAN> </Id> </CdtrAcct> </OrgnlTxRef> </TxInfAndSts> </CxlDtls> </RsltnOfInvstgtn> </Document>
Group Level
- Each camt.029.001.03 should have a unique Assignment Id - Assgnmt - Id (line 5).
- Each camt.0029.001.03 could have more than one transactions. In that case you can include more than one TxInfAndSts elements in the xml.
- Each camt.029.001.03 should have a unique Cancelation Status Id - CxlStsId (line 27).
Transaction Level
- Original Message Id - OrgnlMsgId (line 29) you need to put the message id of the file of the original transaction
- Original Message Name Id - OrgnlMsgNmId (line 30) pacs.008.001.02 always in Sepa Credit Transfer
- Original Instruction Id - OrgnlInstrId (line 32) the instruction id of the original transaction
- Original end to end Id - OrgnlEndToEndId (line 33) the end to end id of the original transaction
- Original Transaction Id - OrgnlTxId (line 34) the transaction id of the original transaction
- Transaction Cancelation Status - TxCxlSts (line 35) - The cancelation status which so far only RJCR is expected
- Cancelation Reason Information - CxlRsnInf (lines 36-43) - The cancelation reason code and the originator of the recall request
- Original Transaction Reference - OrgnlTxRef (lines 44-97) - Information of the original transaction
PACS.002 full accept
pacs 002 full accept
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03"> <FIToFIPmtStsRpt> <GrpHdr> <MsgId>1587130373449</MsgId> <CreDtTm>2020-04-17T16:32:53</CreDtTm> <InstgAgt> <FinInstnId> <BIC>EBAPFRPP</BIC> </FinInstnId> </InstgAgt> <InstdAgt> <FinInstnId> <BIC>BANKSBIC</BIC> </FinInstnId> </InstdAgt> </GrpHdr> <OrgnlGrpInfAndSts> <OrgnlMsgId>2021042214374695</OrgnlMsgId> <OrgnlMsgNmId>pacs.008</OrgnlMsgNmId> <GrpSts>ACCP</GrpSts> </OrgnlGrpInfAndSts> </FIToFIPmtStsRpt> </Document>
Group Level
- Each pacs.002 should have a unique MessageId - GrpHdr - MsgId (line 5).
- Original Message Id - OrgnlMsgId (line 19) you need to put the message id of the group that will be accepted
PACS.002 full reject
pacs 002 full reject
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03"> <FIToFIPmtStsRpt> <GrpHdr> <MsgId>1587130373435</MsgId> <CreDtTm>2020-04-17T16:32:53</CreDtTm> <InstgAgt> <FinInstnId> <BIC>EBAPFRPP</BIC> </FinInstnId> </InstgAgt> <InstdAgt> <FinInstnId> <BIC>BANKSBIC</BIC> </FinInstnId> </InstdAgt> </GrpHdr> <OrgnlGrpInfAndSts> <OrgnlMsgId>2021042214374695</OrgnlMsgId> <OrgnlMsgNmId>pacs.008</OrgnlMsgNmId> <GrpSts>RJCT</GrpSts> <StsRsnInf> <Orgtr/> <Rsn> <Cd>AC01</Cd> </Rsn> </StsRsnInf> </OrgnlGrpInfAndSts> </FIToFIPmtStsRpt> </Document>
Group Level
- Each pacs.002 should have a unique MessageId - GrpHdr - MsgId (line 5).
- Original Message Id - OrgnlMsgId (line 19) you need to put the message id of the group that will be rejected
- Code - Cd (line 25) the reason code why the whole group is rejected
PACS.002 partial accept
pacs 002 partial accept
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.03"> <FIToFIPmtStsRpt> <GrpHdr> <MsgId>SCTREJ200020190314300000000001</MsgId> <CreDtTm>2019-03-14T00:00:00</CreDtTm> <InstgAgt> <FinInstnId> <BIC>EBAPFRPP</BIC> </FinInstnId> </InstgAgt> <InstdAgt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </InstdAgt> </GrpHdr> <OrgnlGrpInfAndSts> <OrgnlMsgId>SSSSSS111120190313090033395001</OrgnlMsgId> <OrgnlMsgNmId>pacs.008.001.02</OrgnlMsgNmId> <GrpSts>PART</GrpSts> <StsRsnInf> <Orgtr/> <Rsn> <Cd>AC01</Cd> </Rsn> </StsRsnInf> </OrgnlGrpInfAndSts> <TxInfAndSts> <StsId>000R907330000001</StsId> <OrgnlInstrId>b18332f58ca64ffd87ea9777b9edfba1</OrgnlInstrId> <OrgnlEndToEndId>NOTPROVIDED</OrgnlEndToEndId> <OrgnlTxId>111T9072000000000000000000000000006</OrgnlTxId> <StsRsnInf> <Orgtr> <Id> <OrgId> <BICOrBEI>TESTBICB</BICOrBEI> </OrgId> </Id> </Orgtr> <Rsn> <Cd>AC01</Cd> </Rsn> </StsRsnInf> <OrgnlTxRef> <IntrBkSttlmAmt Ccy="EUR">9.95</IntrBkSttlmAmt> <Dbtr> <Nm>John Doe</Nm> </Dbtr> <DbtrAcct> <Id> <IBAN>ES1011110001087939390799</IBAN> </Id> </DbtrAcct> <DbtrAgt> <FinInstnId> <BIC>TESTBICA</BIC> </FinInstnId> </DbtrAgt> <CdtrAgt> <FinInstnId> <BIC>TESTBICB</BIC> </FinInstnId> </CdtrAgt> <Cdtr> <Nm>Beneficioso beneficiario</Nm> </Cdtr> <CdtrAcct> <Id> <IBAN>ES5410820934549505717622</IBAN> </Id> </CdtrAcct> </OrgnlTxRef> </TxInfAndSts> </FIToFIPmtStsRpt> </Document>
Group Level
- Each pacs.002 should have a unique MessageId - GrpHdr - MsgId (line 5).
- Original Message Id - OrgnlMsgId (line 19) you need to put the message id of the group that will be accepted
- Code - Cd (line 25) the reason code why some transactions may be rejected
Transaction Level
- Status Id - StsId (line 30) Specific reference of the bank that initiated the reject.
- Original Instruction Id - OrgnlInstrId (line 31) the instruction id of the original transaction
- Original end to end Id - OrgnlEndToEndId (line 32) the end to end id of the original transaction
- Original Transaction Id - OrgnlTxId (line 33) the transaction id of the original transaction
- Code - Cd (line 43) the reason code for the rejection of the transaction, otherwise the group level code will be used.