pacs: Payments clearing and settlement
pacs.004 Payment Return
Written and maintained by ZagTrader. Last reviewed . How this page is sourced and checked
The pacs.004 is the ISO 20022 message a bank sends to the previous bank to send back the funds of a payment that has already been settled. It returns a pacs.008 or pacs.009 (and financial institution direct debits), quotes the original references and UETR, and gives a coded return reason. It also carries the money back when a cancellation request (camt.056) is accepted after settlement.
- Message
- PaymentReturn
- Root element
- PmtRtr
- Common version
- pacs.004.001.09
When pacs.004 is used
A return is needed once the money has moved. If the creditor’s bank finds after settlement that the account is closed, the name does not match the account, or the creditor refuses the funds, it sends a pacs.004 to the bank it received the payment from, which passes the return back hop by hop to the debtor’s bank. Before settlement the same problem is handled with a pacs.002 reject instead.
Returns also close cancellation cases. When a debtor’s bank asks for a payment back with a camt.056 and the creditor’s bank agrees after settlement, the funds come back in a pacs.004 with reason FOCR (following cancellation request). If it cannot agree, it answers with a camt.029 instead.
For a cover payment the return follows the route of the funds, not the route of the customer message: the creditor agent returns to the correspondent that paid it, which returns to the sender’s correspondent, and the debtor agent is informed of the credit with a camt.054.
The debtor’s bank credits its customer and reports the credit in a camt.054 or statement. The return keeps the original UETR so the case can be matched end to end.
Versions in common use
| Version | Where it is used |
|---|---|
| pacs.004.001.09 | CBPR+ cross-border on Swift; SEPA Credit Transfer inter-PSP guidelines (return and positive answer to recall, 2025 rulebook); CHAPS in the UK. |
pacs.004 key elements
Paths are relative to Document/PmtRtr. Occurrence is from the base message (pacs.004.001.09); market practice such as CBPR+ or a CSD’s rules can make an optional element mandatory or forbid it.
| Element | Occurs | Meaning |
|---|---|---|
| GrpHdrGroup Header | [1..1] | Identification and settlement of the return message. |
| MsgIdMessage Identification | [1..1] | Reference of this pacs.004. |
| CreDtTmCreation Date Time | [1..1] | Creation time with UTC offset. |
| NbOfTxsNumber Of Transactions | [1..1] | 1 in CBPR+: one returned transaction per message. |
| SttlmMtdSettlement Method | [1..1] | How the returned funds settle between the two banks of this hop: INDA, INGA, COVE or CLRG. Note that the direction is reversed compared with the original payment. |
| TxInfTransaction Information | [0..n] | The returned transaction. One occurrence in CBPR+. |
| RtrIdReturn Identification | [0..1] | Reference of the return, set by the returning bank and kept unchanged along the return chain. No FIN equivalent. |
| OrgnlMsgIdOriginal Message Identification | [1..1] | MsgId of the original payment message. |
| OrgnlMsgNmIdOriginal Message Name Identification | [1..1] | Name and version of the original, for example pacs.008.001.08. |
| OrgnlInstrIdOriginal Instruction Identification | [0..1] | The InstrId of the original as received by the returning bank (MT field 20 of the original). |
| OrgnlEndToEndIdOriginal End To End Identification | [0..1] | End-to-end reference of the original, unchanged. |
| OrgnlTxIdOriginal Transaction Identification | [0..1] | Transaction ID of the original, unchanged. |
| OrgnlUETROriginal UETR | [0..1] | UETR of the payment being returned, unchanged end to end. See how to read a UETR. |
| OrgnlClrSysRefOriginal Clearing System Reference | [0..1] | Reference given by an RTGS to the original, used between the RTGS and its direct participant. |
| OrgnlIntrBkSttlmAmtOriginal Interbank Settlement Amount | [0..1] | Amount of the original payment. |
| OrgnlIntrBkSttlmDtOriginal Interbank Settlement Date | [0..1] | Settlement date of the original. |
| RtrdIntrBkSttlmAmtReturned Interbank Settlement Amount | [1..1] | The amount that moves back in this hop. It can be lower than the original when charges are deducted. |
| IntrBkSttlmDtInterbank Settlement Date | [0..1] | Value date of the return. |
| RtrdInstdAmtReturned Instructed Amount | [0..1] | The instructed amount of the return, before charges. |
| XchgRateExchange Rate | [0..1] | Rate used when the return is in another currency. |
| ChrgBrCharge Bearer | [0..1] | Who bears the charges of the return. |
| ChrgsInfCharges Information | [0..n] | Each charge taken on the return, with amount and agent. Explains the gap between the original and the returned amount. |
| InstgAgtInstructing Agent | [0..1] | The bank sending the return in this hop. |
| InstdAgtInstructed Agent | [0..1] | The bank receiving the return in this hop. |
| RtrChainReturn Chain | [0..1] | The parties of the return transaction itself, so nobody confuses them with the parties of the original. |
| DbtrDebtor (return) | [1..1] | Debtor of the return, given as a party (Pty) or an agent (Agt). |
| DbtrAgtDebtor Agent (return) | [0..1] | Bank of the return’s debtor. |
| CdtrAgtCreditor Agent (return) | [0..1] | Bank that will credit the return’s creditor. |
| CdtrCreditor (return) | [1..1] | Creditor of the return, as party or agent. |
| RtrRsnInfReturn Reason Information | [0..n] | Why the funds are returned. |
| OrgtrOriginator | [0..1] | Who decided the return, for example the creditor agent by BIC. |
| CdReason Code | [0..1] | A code from the ISO 20022 external return reason code set. CBPR+ allows coded reasons only, no proprietary or free-text reason. |
| AddtlInfAdditional Information | [0..n] | Free text, 105 characters per occurrence. |
| OrgnlTxRefOriginal Transaction Reference | [0..1] | Copy of key data of the original payment: amounts, dates, debtor, creditor, agents, remittance. |
Rules worth knowing
- Return a payment only after settlement. Before settlement, reject it with a pacs.002.
- The original references (message ID and name, instruction ID, end-to-end ID, UETR) must be the exact values of the payment being returned.
- Reason codes seen in returns (ISO names):
AC01Incorrect Account Number,AC04Closed Account Number,AC06Blocked Account,AG01Transaction Forbidden,AM05Duplication,BE01Inconsistent With End Customer,BE04Missing Creditor Address,CNORCreditor Bank Is Not Registered,FOCRFollowing Cancellation Request,MD07End Customer Deceased,MS02Not Specified Reason Customer Generated,MS03Not Specified Reason Agent Generated,RC01Bank Identifier Incorrect,RR01toRR04regulatory reasons. FOCRis the positive answer to a cancellation or recall: the funds come back because the case was accepted. It is used in a pacs.004, while a refusal goes in a camt.029.- Where data protection law forbids naming the reason (for example AC04 or MD07 in some SEPA countries), banks fall back to
MS03. - The return chain lists the parties of the return, while the original transaction reference lists the parties of the original payment. In the FIN return method the same field 72 could describe either, which caused confusion.
pacs.004 XML example
On 22 October 2026 BANKGB2LXXX settled a GBP 12,500.00 pacs.008 from ZagTrader Test Bank by debiting ZagTrader’s GBP account that it holds (INDA), then found that the creditor’s account had been closed. As the payment has settled, it returns the funds on 23 October by crediting the same account. In the return BANKGB2LXXX is the instructing agent and holds the account, so the settlement method is INGA.
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.09">
<PmtRtr>
<GrpHdr>
<MsgId>BGB26102300114</MsgId>
<CreDtTm>2026-10-23T09:30:00+01:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<SttlmInf>
<SttlmMtd>INGA</SttlmMtd>
</SttlmInf>
</GrpHdr>
<TxInf>
<RtrId>BGBRTN26102300114</RtrId>
<OrgnlGrpInf>
<OrgnlMsgId>ZT26102000004</OrgnlMsgId>
<OrgnlMsgNmId>pacs.008.001.08</OrgnlMsgNmId>
<OrgnlCreDtTm>2026-10-20T11:30:00+04:00</OrgnlCreDtTm>
</OrgnlGrpInf>
<OrgnlInstrId>ZT2610200004</OrgnlInstrId>
<OrgnlEndToEndId>GT-PO-2026-0462</OrgnlEndToEndId>
<OrgnlUETR>60cec7c9-5dff-4a29-8bd1-8fcb4d5c52dd</OrgnlUETR>
<OrgnlIntrBkSttlmAmt Ccy="GBP">12500.00</OrgnlIntrBkSttlmAmt>
<OrgnlIntrBkSttlmDt>2026-10-22</OrgnlIntrBkSttlmDt>
<RtrdIntrBkSttlmAmt Ccy="GBP">12500.00</RtrdIntrBkSttlmAmt>
<IntrBkSttlmDt>2026-10-23</IntrBkSttlmDt>
<InstgAgt>
<FinInstnId>
<BICFI>BANKGB2LXXX</BICFI>
</FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId>
<BICFI>ZAGTAEADXXX</BICFI>
</FinInstnId>
</InstdAgt>
<RtrChain>
<Dbtr>
<Pty>
<Nm>ACME COMPONENTS LTD</Nm>
<PstlAdr>
<TwnNm>LONDON</TwnNm>
<Ctry>GB</Ctry>
</PstlAdr>
</Pty>
</Dbtr>
<DbtrAgt>
<FinInstnId>
<BICFI>BANKGB2LXXX</BICFI>
</FinInstnId>
</DbtrAgt>
<CdtrAgt>
<FinInstnId>
<BICFI>ZAGTAEADXXX</BICFI>
</FinInstnId>
</CdtrAgt>
<Cdtr>
<Pty>
<Nm>GULF TRADING LLC</Nm>
<PstlAdr>
<TwnNm>DUBAI</TwnNm>
<Ctry>AE</Ctry>
</PstlAdr>
</Pty>
</Cdtr>
</RtrChain>
<RtrRsnInf>
<Orgtr>
<Id>
<OrgId>
<AnyBIC>BANKGB2LXXX</AnyBIC>
</OrgId>
</Id>
</Orgtr>
<Rsn>
<Cd>AC04</Cd>
</Rsn>
</RtrRsnInf>
</TxInf>
</PmtRtr>
</Document>Decode this example in the parserThe original references are copied unchanged so ZagTrader can find the payment by UETR 60cec7c9-5dff-4a29-8bd1-8fcb4d5c52dd.
In the return chain the roles are reversed: the original creditor is the debtor of the return and the original debtor is its creditor. Check your counterparty’s guide for how it fills these when the creditor account no longer exists.
No charges were taken, so the returned amount equals the original. If charges were deducted, RtrdIntrBkSttlmAmt would be lower and each charge would appear in ChrgsInf.
All identifiers are made up.
pacs.004 and its MT equivalent
FIN had no dedicated return message. A bank returned an MT103 or MT202 by sending a new MT103 or MT202 back to the sender with the code /RETN/ and a reason in field 72; once /RETN/ (or /REJT/) appears there, the network requires the payments reject and return guidelines to be followed. The Bank of England lists pacs.004.001.09 for the CHAPS MT202 return transfer.
The FIN method was ambiguous: the parties in the returned message could be read as those of the original payment or those of the return. pacs.004 separates them into the original transaction reference and the return chain.
With the end of MT/MX coexistence for cross-border payment instructions on 22 November 2025, returns of ISO 20022 payments on Swift travel as pacs.004.
| ISO 20022 element | MT field | Note |
|---|---|---|
TxInf/RtrRsnInf/Rsn/Cd | 72 /RETN/ with reason code | |
TxInf/OrgnlInstrId | 20 of the original MT103 or MT202 | |
TxInf/OrgnlUETR | 121 (block 3) of the original | |
TxInf/RtrdIntrBkSttlmAmt + IntrBkSttlmDt | 32A of the return message | |
TxInf/RtrId | none | New end-to-end reference of the return. |
TxInf/RtrChain | none | Parties of the return; in FIN they were mixed into the copied fields. |
Common errors and rejects
Return sent instead of a reject (or the other way round)
If nothing has settled yet, a pacs.004 moves money that was never received. If funds have settled, a pacs.002 reject leaves them stuck. Check the settlement method and whether your nostro was debited or credited before choosing.
How to fix itOriginal references do not match
A return that quotes an instruction ID, end-to-end ID or UETR different from the original cannot be matched by the receiving bank, and the funds sit in a suspense account. Copy the values from the received message, never retype them.
How to fix itReturn without a coded reason
CBPR+ requires a code from the ISO list; a proprietary or free-text reason is not allowed. Put any explanation in
AddtlInf, next to a valid code.Returned amount short without explanation
If charges were deducted, list them in
ChrgsInf. Otherwise the debtor’s bank sees a shortfall it cannot explain to its customer.Cover return routed the wrong way
For a payment settled through a cover, the funds must go back along the cover route through the correspondents, not directly to the debtor agent that sent the pacs.008.
pacs.004 questions
- What is a pacs.004 message?
- The ISO 20022 Payment Return: the message that sends back the funds of a payment already settled, with the original references, the UETR and a coded reason.
- When do you use pacs.004 instead of pacs.002?
- Use a pacs.002 reject before settlement, when no money has moved. Use a pacs.004 return after settlement, because funds must flow back.
- What does FOCR mean in a pacs.004?
- Following Cancellation Request: the funds are returned because a cancellation or recall request (camt.056) was accepted.
- What was the MT equivalent of pacs.004?
- There was none dedicated. The bank sent an MT103 or MT202 back with
/RETN/and a reason code in field 72. - Does a pacs.004 keep the original UETR?
- Yes.
OrgnlUETRcarries the UETR of the payment being returned, unchanged along the whole return chain. - Which pacs.004 version is used?
- CBPR+ uses pacs.004.001.09. The SEPA Credit Transfer inter-PSP guidelines and CHAPS also use pacs.004.001.09.
All ISO 20022 messages · MT messages · MT to ISO 20022 migration