ediverse Explore the platform

Spotlight PEPPOL BIS Billing 3.0 The EU e-invoicing mandate is here — France Sept 2026, Belgium Jan 2026, Germany 2025.

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:

  • OrgnlEndToEndId and OrgnlUETR — to reconcile the original pacs.008.
  • RtrdIntrBkSttlmAmt — effectively returned amount (may differ if charges were deducted).
  • RtrRsnInf — reason code + additional text.

Reason codes

CodeSemantics
AC01IncorrectAccountNumber.
AC04ClosedAccountNumber.
AC06BlockedAccount.
BE05UnrecognisedInitiatingParty.
BE06UnknownEndCustomer.
FOCRFollowingCancellationRequest.
FRADFraudulentOrigin.

Example: BE05 return (closed account)

xml pacs-004-return-BE05.xml
<?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 ChrgBr and ChrgsInf.
  • No OrgnlUETR — breaks gpi tracking on the sender side.
  • Inappropriate reason code — use the most precise SEPA / ExternalReturnReason code.
  • 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.