pacs.004 — Payment Return
Interbank fund return: the receiving bank cannot credit the beneficiary and sends the funds back to the originator through the same chain. Cornerstone of SEPA R-Transactions.
Purpose and place in the flow
pacs.004 returns funds from a prior pacs.008 or pacs.003 that the receiving bank cannot process (closed account, beneficiary unknown, suspected fraud). Different from pacs.002 RJCT (pre-settlement reject): pacs.004 happens after the funds have been received by the receiving bank.
SEPA R-Transactions and CBPR+
Under SEPA, R-Transactions (Return, Refund, Reject, Reversal, Recall, Refusal) are strictly governed in deadlines and reason codes. pacs.004 is the standard format for Return (5 business days SEPA SCT). Under cross-border CBPR+, pacs.004 has replaced return MT103 since November 2025.
XML structure
Wrapped in <PmtRtr>. GrpHdr + TxInf (per returned transaction). Key fields:
OrgnlEndToEndIdandOrgnlUETR— to reconcile the original pacs.008.RtrdIntrBkSttlmAmt— effectively returned amount (may differ if charges were deducted).RtrRsnInf— reason code + additional text.
Reason codes
| Code | Semantics |
|---|---|
AC01 | IncorrectAccountNumber. |
AC04 | ClosedAccountNumber. |
AC06 | BlockedAccount. |
BE05 | UnrecognisedInitiatingParty. |
BE06 | UnknownEndCustomer. |
FOCR | FollowingCancellationRequest. |
FRAD | FraudulentOrigin. |
Example: BE05 return (closed account)
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pacs.004.001.10">
<PmtRtr>
<GrpHdr>
<MsgId>RTN-DEUT-20260520-001</MsgId>
<CreDtTm>2026-05-20T14:00:00+02:00</CreDtTm>
<NbOfTxs>1</NbOfTxs>
<TtlRtrdIntrBkSttlmAmt Ccy="EUR">12500.00</TtlRtrdIntrBkSttlmAmt>
<IntrBkSttlmDt>2026-05-20</IntrBkSttlmDt>
<SttlmInf>
<SttlmMtd>CLRG</SttlmMtd>
</SttlmInf>
<InstgAgt>
<FinInstnId><BICFI>DEUTDEFF</BICFI></FinInstnId>
</InstgAgt>
<InstdAgt>
<FinInstnId><BICFI>BNPAFRPP</BICFI></FinInstnId>
</InstdAgt>
</GrpHdr>
<TxInf>
<RtrId>RTN-TX-001</RtrId>
<OrgnlEndToEndId>INVOICE-2026-042</OrgnlEndToEndId>
<OrgnlUETR>1a2b3c4d-5e6f-7890-abcd-ef1234567890</OrgnlUETR>
<OrgnlIntrBkSttlmAmt Ccy="EUR">12500.00</OrgnlIntrBkSttlmAmt>
<RtrdIntrBkSttlmAmt Ccy="EUR">12500.00</RtrdIntrBkSttlmAmt>
<ChrgBr>SLEV</ChrgBr>
<RtrRsnInf>
<Rsn><Cd>BE05</Cd></Rsn>
<AddtlInf>Beneficiary account closed</AddtlInf>
</RtrRsnInf>
<OrgnlTxRef>
<SttlmInf><SttlmMtd>CLRG</SttlmMtd></SttlmInf>
<Dbtr><Pty><Nm>BNP Paribas (initial sender)</Nm></Pty></Dbtr>
</OrgnlTxRef>
</TxInf>
</PmtRtr>
</Document> Common pitfalls
- RtrdIntrBkSttlmAmt < OrgnlIntrBkSttlmAmt without justification — if the bank retains charges on the return, justify clearly via
ChrgBrandChrgsInf. - No OrgnlUETR — breaks gpi tracking on the sender side.
- Inappropriate reason code — use the most precise SEPA / ExternalReturnReason code.
Related messages
- pacs.008 — initial payment.
- pacs.002 — status.
- pacs.007 — interbank direct debit reversal.
- camt.056 — pre-settlement cancellation (alternative).
- EPC SEPA SCT R-Transaction Rulebook — business reference.