aplonHUB, Sample CBPR+ 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.001.08
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.02">
<Fr>
<FIId>
<FinInstnId>
<BICFI>BBBBUS33</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>AAAAGB2L</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>81A7BD1D338548E6B4D1B06939D8E6DC0</BizMsgIdr>
<MsgDefIdr>pacs.008.001.08</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<MktPrctc>
<Regy>string</Regy>
<Id>string</Id>
</MktPrctc>
<CreDt>2008-09-29T04:49:45+03:00</CreDt>
<CpyDplct>CODU</CpyDplct>
<PssblDplct>true</PssblDplct>
<Prty>NORM</Prty>
<Rltd>
<Fr>
<FIId>
<FinInstnId>
<BICFI>TESTBICA</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>TESTBICA</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>string</BizMsgIdr>
<MsgDefIdr>string</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<CreDt>2014-06-09T18:15:04+03:00</CreDt>
<CpyDplct>COPY</CpyDplct>
<Prty>NORM</Prty>
</Rltd>
</AppHdr>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.08">
<FIToFICstmrCdtTrf>
<GrpHdr>
<MsgId>55740F37C83749BBB966C247E7F009830</MsgId>
<CreDtTm>2012-09-28T16:00:00+13:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INDA</SttlmMtd>
</SttlmInf>
</GrpHdr>
<CdtTrfTxInf>
<PmtId>
<InstrId>CFDCC1BCBD1C460</InstrId>
<EndToEndId>CFC02C58C1D94D1E819BD4EB1FAC6BDE0</EndToEndId>
<TxId>2194E81C5F3E4C819BFD00F3DDAD475A0</TxId>
<UETR>68fd5642-5242-4198-9a80-9fc34c5bb0bb</UETR>
</PmtId>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>SDVA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>CRED</Cd>
</LclInstrm>
</PmtTpInf>
<IntrBkSttlmAmt Ccy="JPY">100</IntrBkSttlmAmt>
<IntrBkSttlmDt>2022-03-03</IntrBkSttlmDt>
<SttlmTmIndctn>
<CdtDtTm>2022-03-03T16:00:00+13:00</CdtDtTm>
</SttlmTmIndctn>
<SttlmTmReq>
<CLSTm>12:12:12+13:00</CLSTm>
</SttlmTmReq>
<InstdAmt Ccy="USD">23.59</InstdAmt>
<XchgRate>1.876</XchgRate>
<ChrgBr>CRED</ChrgBr>
<ChrgsInf>
<Amt Ccy="USD">12.34</Amt>
<Agt>
<FinInstnId>
<BICFI>TESTBICA</BICFI>
</FinInstnId>
</Agt>
</ChrgsInf>
<ChrgsInf>
<Amt Ccy="USD">21.89</Amt>
<Agt>
<FinInstnId>
<BICFI>TESTBICA</BICFI>
</FinInstnId>
</Agt>
</ChrgsInf>
<PrvsInstgAgt1>
<FinInstnId>
<BICFI>TESTBICD</BICFI>
</FinInstnId>
</PrvsInstgAgt1>
<InstgAgt>
<FinInstnId>
<BICFI>BBBBUS33</BICFI>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>AAAAGB2L</BICFI>
</FinInstnId>
</InstdAgt>
<IntrmyAgt1>
<FinInstnId>
<BICFI>INTERBIC</BICFI>
</FinInstnId>
</IntrmyAgt1>
<IntrmyAgt1Acct>
<Id>
<Othr>
<Id>INTERAGTACCT</Id>
</Othr>
</Id>
</IntrmyAgt1Acct>
<Dbtr>
<Nm>ABC Corporation</Nm>
<PstlAdr>
<AdrLine>Address line</AdrLine>
</PstlAdr>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>00125574999</Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>BBBBUS33</BICFI>
</FinInstnId>
</DbtrAgt>
<DbtrAgtAcct>
<Id>
<Othr>
<Id>DBTRAGTACCT</Id>
</Othr>
</Id>
</DbtrAgtAcct>
<CdtrAgt>
<FinInstnId>
<BICFI>AAAAGB2L</BICFI>
</FinInstnId>
</CdtrAgt>
<CdtrAgtAcct>
<Id>
<Othr>
<Id>CDTRAGTACCT</Id>
</Othr>
</Id>
</CdtrAgtAcct>
<Cdtr>
<Nm>John</Nm>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>23683707994215</Id>
</Othr>
</Id>
</CdtrAcct>
<Purp>
<Prtry>K90</Prtry>
</Purp>
<RgltryRptg>
<DbtCdtRptgInd>CRED</DbtCdtRptgInd>
<Authrty>
<Ctry>GR</Ctry>
</Authrty>
<Dtls>
<Inf>More info goes here and is big enou</Inf>
<Inf>gh</Inf>
</Dtls>
</RgltryRptg>
<RmtInf>
<Strd>
<RfrdDocInf>
<Tp>
<CdOrPrtry>
<Cd>CINV</Cd>
</CdOrPrtry>
</Tp>
<Nb>4562</Nb>
<RltdDt>2012-09-08</RltdDt>
</RfrdDocInf>
</Strd>
</RmtInf>
</CdtTrfTxInf>
</FIToFICstmrCdtTrf>
</Document>
Group Level
Each pacs.008 should have a unique Message Id - (MsgId) and the MsgId of the Group Header should be equal with the BizMsgIdr of the AppHdr. In case the message id already exists in the aplonHUB you will get an error.
Each pacs.008 should have only one transaction.
Transaction Level
Each transaction should have a unique Instruction Id - InstrId , up to 16 characters. In case the id already exists in aplonHUB you will get an error
EndToEndId, up to 35 characters, is mandatory.
Unique EndToEnd Transaction Reference (UETR) is mandatory and should be string in UUID format
Optionally, each transaction should have a unique Transaction Id - TxId, up to 35 characters.
PACS.004.001.09
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.02">
<Fr>
<FIId>
<FinInstnId>
<BICFI>CCCCIE2D</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>BBBBIE2D</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>F9FB8873C6854B3AB056EC6E9B04329E0</BizMsgIdr>
<MsgDefIdr>pacs.004.001.09</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<MktPrctc>
<Regy>string</Regy>
<Id>string</Id>
</MktPrctc>
<CreDt>2008-09-29T04:49:45+03:00</CreDt>
<CpyDplct>CODU</CpyDplct>
<PssblDplct>true</PssblDplct>
<Rltd>
<Fr>
<FIId>
<FinInstnId>
<BICFI>CCCCIE2D</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>BBBBIE2D</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>string</BizMsgIdr>
<MsgDefIdr>string</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<CreDt>2022-03-03T18:15:04+03:00</CreDt>
<CpyDplct>COPY</CpyDplct>
</Rltd>
</AppHdr>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.09">
<PmtRtr>
<GrpHdr>
<MsgId>BA9530A0F1574EFEB8C307B2874713780</MsgId>
<CreDtTm>2022-03-03T10:37:00+03:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INDA</SttlmMtd>
</SttlmInf>
</GrpHdr>
<TxInf>
<RtrId>202203031353360</RtrId>
<OrgnlGrpInf>
<OrgnlMsgId>SCTORDLIABLT2022030311500146605</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.08</OrgnlMsgNmId>
<OrgnlCreDtTm>2015-11-09T10:13:00+03:00</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>1646308192713</OrgnlInstrId>
<OrgnlEndToEndId>939d5b6c37a14c4e98778b8b15d26e3a4</OrgnlEndToEndId>
<OrgnlTxId>d92915f972834e6ab7075b91932e857c4</OrgnlTxId>
<OrgnlUETR>4f47b2d7-e40d-476b-bbe5-a96968b60e9a</OrgnlUETR>
<OrgnlIntrBkSttlmAmt Ccy="JPY">100</OrgnlIntrBkSttlmAmt>
<OrgnlIntrBkSttlmDt>2022-03-03</OrgnlIntrBkSttlmDt>
<RtrdIntrBkSttlmAmt Ccy="JPY">100</RtrdIntrBkSttlmAmt>
<IntrBkSttlmDt>2015-11-22</IntrBkSttlmDt>
<SttlmTmIndctn>
<CdtDtTm>2012-09-28T16:00:00+13:00</CdtDtTm>
</SttlmTmIndctn>
<RtrdInstdAmt Ccy="USD">900</RtrdInstdAmt>
<XchgRate>1.876</XchgRate>
<ChrgBr>CRED</ChrgBr>
<ChrgsInf>
<Amt Ccy="EUR">100</Amt>
<Agt>
<FinInstnId>
<BICFI>CCCCIE2D</BICFI>
</FinInstnId>
</Agt>
</ChrgsInf>
<InstgAgt>
<FinInstnId>
<BICFI>CCCCIE2D</BICFI>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>BBBBIE2D</BICFI>
</FinInstnId>
</InstdAgt>
<RtrChain>
<Dbtr>
<Pty>
<Nm>ABC Corporation</Nm>
<PstlAdr>
<AdrLine>Address line</AdrLine>
</PstlAdr>
</Pty>
</Dbtr>
<Cdtr>
<Pty>
<Nm>DEF Electronics</Nm>
<PstlAdr>
<AdrLine>Corn Exchange 5th Floor</AdrLine>
</PstlAdr>
</Pty>
</Cdtr>
</RtrChain>
<RtrRsnInf>
<Orgtr>
<Nm>Seed Inc.</Nm>
<PstlAdr>
<AdrLine>Address line</AdrLine>
</PstlAdr>
</Orgtr>
<Rsn>
<Cd>NARR</Cd>
</Rsn>
<AddtlInf>RETURN AFTER ACCEPTED PAYMENT CANCELLATION REQUEST</AddtlInf>
</RtrRsnInf>
<OrgnlTxRef>
<PmtTpInf>
<InstrPrty>NORM</InstrPrty>
<SvcLvl>
<Cd>SDVA</Cd>
</SvcLvl>
<LclInstrm>
<Cd>CRED</Cd>
</LclInstrm>
<CtgyPurp>
<Cd>INTC</Cd>
</CtgyPurp>
</PmtTpInf>
<RmtInf>
<Ustrd>REM INFO</Ustrd>
</RmtInf>
<Dbtr>
<Pty>
<Nm>ABC Corporation</Nm>
<PstlAdr>
<AdrLine>Address line</AdrLine>
</PstlAdr>
</Pty>
</Dbtr>
<DbtrAcct>
<Id>
<Othr>
<Id>00125574999</Id>
</Othr>
</Id>
</DbtrAcct>
<DbtrAgt>
<FinInstnId>
<BICFI>BBBBUS33</BICFI>
</FinInstnId>
</DbtrAgt>
<DbtrAgtAcct>
<Id>
<Othr>
<Id>DBTRAGTACCT</Id>
</Othr>
</Id>
</DbtrAgtAcct>
<CdtrAgt>
<FinInstnId>
<BICFI>AAAAGB2L</BICFI>
</FinInstnId>
</CdtrAgt>
<CdtrAgtAcct>
<Id>
<Othr>
<Id>CDTRAGTACCT</Id>
</Othr>
</Id>
</CdtrAgtAcct>
<Cdtr>
<Pty>
<Nm>DEF Electronics</Nm>
<PstlAdr>
<AdrLine>Corn Exchange 5th Floor</AdrLine>
</PstlAdr>
</Pty>
</Cdtr>
<CdtrAcct>
<Id>
<Othr>
<Id>23683707994215</Id>
</Othr>
</Id>
</CdtrAcct>
<Purp>
<Prtry>K90</Prtry>
</Purp>
</OrgnlTxRef>
</TxInf>
</PmtRtr>
</Document>
Group Level
Each pacs.004 should have a unique MessageId - MsgId and the MsgId of the Group Header should be equal with the BizMsgIdr of the AppHdr. In case the message id already exists in the aplonHUB you will get an error.
Each pacs.004 should have only one transaction
Transaction Level
Each transaction should have a unique Return Id - RtrId . In case the Return id already exists in the aplonHUB you will get an error.
Original Message Id - OrgnlMsgId you need to put the message id of the file of the original transaction
Original Message Name Id - OrgnlMsgNmId pacs.008.001.08 or pacs.008.01.09
Original transaction Id - OrgnlInstrId the instruction id of the original transaction
Original end to end Id - OrgnlEndToEndId the end to end id of the original transaction
Original Transaction Id - OrgnlTxId the transaction id of the original transaction if exists
Original Interbank Settlement Amount - OrgnlIntrBkSttlmAmt The settlement amount of the original transaction
Original Interbank Settlement Date - RtrdIntrBkSttlmAmt - The returned amount (settlement amount - return charges if any)
If there are charges aadd the ChrgsInf element, otherwise remove the element
Return Reason Information - RtrRsnInf. The SEPA return reason code and the originator for the recall request
Original Transaction Reference - OrgnlTxRef - Information of the original transaction
CAMT.056.001.08
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<AppHdr xmlns="urn:iso:std:iso:20022:tech:xsd:head.001.001.02">
<Fr>
<FIId>
<FinInstnId>
<BICFI>CCCCGB2L</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>MMMMGB2L</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>8654596255534F49A05C0B403A7F3AF70</BizMsgIdr>
<MsgDefIdr>camt.056.001.08</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<MktPrctc>
<Regy>string</Regy>
<Id>string</Id>
</MktPrctc>
<CreDt>2008-09-29T04:49:45+03:00</CreDt>
<CpyDplct>CODU</CpyDplct>
<PssblDplct>true</PssblDplct>
<Rltd>
<Fr>
<FIId>
<FinInstnId>
<BICFI>CCCCGB2L</BICFI>
</FinInstnId>
</FIId>
</Fr>
<To>
<FIId>
<FinInstnId>
<BICFI>MMMMGB2L</BICFI>
</FinInstnId>
</FIId>
</To>
<BizMsgIdr>string</BizMsgIdr>
<MsgDefIdr>string</MsgDefIdr>
<BizSvc>swift.cbprplus.01</BizSvc>
<CreDt>2014-06-09T18:15:04+03:00</CreDt>
<CpyDplct>COPY</CpyDplct>
</Rltd>
</AppHdr>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:camt.056.001.08">
<FIToFIPmtCxlReq>
<Assgnmt>
<Id>26F531E3F2BC45198484A466FF8427660</Id>
<Assgnr>
<Agt>
<FinInstnId>
<BICFI>CCCCGB2L</BICFI>
</FinInstnId>
</Agt>
</Assgnr>
<Assgne>
<Agt>
<FinInstnId>
<BICFI>MMMMGB2L</BICFI>
</FinInstnId>
</Agt>
</Assgne>
<CreDtTm>2022-03-03T11:22:59+01:00</CreDtTm>
</Assgnmt>
<Undrlyg>
<TxInf>
<Case>
<Id>202203031346300</Id>
<Cretr>
<Pty>
<Id>
<OrgId>
<AnyBIC>CUSBGB2L</AnyBIC>
</OrgId>
</Id>
</Pty>
</Cretr>
</Case>
<OrgnlGrpInf>
<OrgnlMsgId>AC3515AF55D8471F8EA6225383EEC92B1</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.08</OrgnlMsgNmId>
</OrgnlGrpInf>
<OrgnlInstrId>302D5F153D65451</OrgnlInstrId>
<OrgnlEndToEndId>5E8F0EFB3F4C4B61BD355F867EFE8CBB1</OrgnlEndToEndId>
<OrgnlTxId>5691207A77314C7AB4671FCF288BB0F11</OrgnlTxId>
<OrgnlUETR>695f14a9-1de9-42d0-ae4a-5ed1074a49a7</OrgnlUETR>
<OrgnlIntrBkSttlmAmt Ccy="JPY">100</OrgnlIntrBkSttlmAmt>
<OrgnlIntrBkSttlmDt>2022-03-03</OrgnlIntrBkSttlmDt>
<CxlRsnInf>
<Rsn>
<Cd>UPAY</Cd>
</Rsn>
</CxlRsnInf>
</TxInf>
</Undrlyg>
</FIToFIPmtCxlReq>
</Document>
Group Level
Each camt.056 should have a unique Assignment Id - Assgnmt - Id . The Assgnmt - Id of should be equal with the BizMsgIdr of the AppHdr. In case the Assgnmt - Id already exists in the aplonHUB you will get an error.
Each camt.056 should have only one transaction
Transaction Level
Each transaction should have a unique Cancelation Id - CxlId . In case the Cancelation id already exists in the aplonHUB you will get an error.
Original Message Id - OrgnlMsgId you need to put the message id of the file of the original transaction
Original Message Name Id - OrgnlMsgNmId pacs.008.001.08 or pacs.009.001.08
Original transaction Id - OrgnlInstrId the instruction id of the original transaction
Original end to end Id - OrgnlEndToEndId the end to end id of the original transaction
Original Transaction Id - OrgnlTxId the transaction id of the original transaction
Original Interbank Settlement Amount - OrgnlIntrBkSttlmAmt - The settlement amount of the original transaction
Original Interbank Settlement Date - OrgnlIntrBkSttlmDt - The settlement date of the original transaction
Cancelation Reason Information - CxlRsnInf - The SEPA cancelation reason code and the originator for the recall request
Original Transaction Reference - OrgnlTxRef - Information of the original transaction
CAMT.029.001.09
Group Level
Each camt.029.001.09 should have a unique Assignment Id - Assgnmt - Id. The Assgnmt - Id of should be equal with the BizMsgIdr of the AppHdr. In case the Assgnmt - Id already exists in the aplonHUB you will get an error.
Each camt.0029.001.09 should have only one transaction
Transaction Level
Each camt.029.001.03 should have a unique Cancelation Status Id - CxlStsId.
Original Message Id - OrgnlMsgId you need to put the message id of the file of the original transaction
Original Message Name Id - OrgnlMsgNmId pacs.008.001.02 always in Sepa Credit Transfer
Original Instruction Id - OrgnlInstrId the instruction id of the original transaction
Original end to end Id - OrgnlEndToEndId the end to end id of the original transaction
Original Transaction Id - OrgnlTxId the transaction id of the original transaction
Transaction Cancelation Status - TxCxlSts - The cancelation status which so far only RJCR is expected
Cancelation Reason Information - CxlRsnInf - The cancelation reason code and the originator of the recall request
Original Transaction Reference - OrgnlTxRef- Information of the original transaction