ISO 20022 reason code
AC04: Closed account number
The account is closed. AC04 is an ISO 20022 reason code used as a status reason, a return reason and a cancellation rejection reason: you will see it in pain.002, pacs.004, camt.053 and camt.029.
| Code | AC04 |
|---|---|
| Name | Closed account number |
| ISO code lists | ExternalStatusReason1Code (status reason); ExternalReturnReason1Code (return reason); ExternalPaymentCancellationRejection1Code (cancellation rejection reason) |
| Where | StsRsnInf/Rsn/Cd; RtrRsnInf/Rsn/Cd (pacs.004), TxDtls/RtrInf/Rsn/Cd (camt); CxlStsRsnInf/Rsn/Cd |
What AC04 means
The account has been closed. It comes back on credit transfers sent to a closed payee account and on direct debits collected from a closed payer account. In the answer to a recall it means the funds cannot be returned because the account they went to is closed.
Not to be confused with: AC04 is a closed account on either side; AC05 and AC07 say which side (debtor or creditor), and AC06 is an account that still exists but is blocked.
A reason code always comes with a status or an action: on its own it says why, not what happened. In a status report look at the status next to it (RJCT means the payment will not be executed); on a statement the returned entry tells you the money has come back.
Where AC04 appears
AC04 belongs to three of the ISO 20022 reason code lists, so it can arrive in these places:
- Status reason (ExternalStatusReason1Code): in a payment status report (pain.002 from a bank to its customer, pacs.002 between banks) that rejects or holds a payment.
- Return reason (ExternalReturnReason1Code): in a payment return (pacs.004) after the money has moved, and the returned entry on the account statement (camt.053) or notification (camt.054).
- Cancellation rejection reason (ExternalPaymentCancellationRejection1Code): in the answer to a cancellation or recall request that is refused (camt.029 resolution of investigation).
On the account statement, the returned amount is an entry of its own, and AC04 sits in the return information of its transaction details (pacs.004, the interbank return, carries it in TxInf/RtrRsnInf/Rsn/Cd):
<Ntry>
<Amt Ccy="EUR">2100.00</Amt>
<CdtDbtInd>CRDT</CdtDbtInd>
<Sts><Cd>BOOK</Cd></Sts>
<NtryDtls>
<TxDtls>
<Refs>
<EndToEndId>INV-2026-0042</EndToEndId>
</Refs>
<RtrInf>
<Rsn>
<Cd>AC04</Cd>
</Rsn>
</RtrInf>
</TxDtls>
</NtryDtls>
</Ntry>What to do about AC04
- If you sent the payment or the collection: Stop using the account. Ask the counterparty for new bank details, update your supplier or customer master data, and for a direct debit get a new mandate on the new account before collecting again.
- On the other side: If you closed the account on purpose, give your new details to everyone who pays you or collects from you.
When AC04 arrives as a return, the amount is credited back to the payer’s account: the camt.053 entry carries RtrInf/Rsn/Cd AC04, and a bank transaction code such as PMNT/ICDT/RRTN.
Your bank’s implementation guide and the scheme’s rulebook (for SEPA, the EPC rulebooks) say exactly when it may use AC04; banks do not all apply a code the same way.
Look up AC04 from a script or an AI agent
Scripts and AI agents get this code’s name, definition, where it sits and the address of this page from GET /api/v1/explain, keyless, or from the explain_code tool of the MCP server (API and MCP docs; add it to Claude, Cursor or VS Code).
curl -s 'https://iso20022-navigator.com/api/v1/explain?code=AC04&kind=status_reason'