ISO 20022 reference
ISO 20022 payment status codes: pain.002 and pacs.002
After you send a payment file, your bank answers with a pain.002 status report: received, accepted, settled, pending or rejected, for the whole file, each block and each payment. Every status below has its own page with what it means and what to do.
19 payment statuses and 4 statement entry statuses.
The life of a payment
A payment that goes well can be reported at each of these steps; most banks report only some of them.
RCVDReceived: The message was received; nothing has been checked yet.ACTCAccepted technical validation: Syntax and authentication checks passed.ACCPAccepted customer profile: Technical checks and the customer profile checks passed.ACSPAccepted settlement in process: All checks passed and the payment is being executed.ACSCAccepted settlement completed: Settled on the debtor’s account.ACCCAccepted settlement completed (creditor): Settled on the creditor’s account.
At any step before settlement the payment can be rejected (RJCT) with a reason code that says why. A file in which some payments are accepted and others not is PART; each payment then has its own status.
In progress
Received, checked or waiting: another status will follow.
| Code | Name | Meaning | Reported for |
|---|---|---|---|
| RCVD | Received | The message was received; nothing has been checked yet. | the whole file, a payment block or a single transaction |
| ACTC | Accepted technical validation | Syntax and authentication checks passed. | the whole file, a payment block or a single transaction |
| PDNG | Pending | Waiting on further checks; the status will change. | the whole file, a payment block or a single transaction |
| PATC | Partially accepted technical correct | Technically correct, but it needs several authorisations and only some have been given. A transaction status only. | a single transaction, in pain.002.001.08 and later |
| BLCK | Blocked | A payment reported as ACWP is blocked: for now the funds are neither posted to the creditor nor returned. | a single transaction, in pain.002.001.08 and later |
| PRES | Presented | A request to pay was presented to the debtor. | a single transaction, in pain.002.001.08 and later |
Accepted
The checks passed and the payment is going ahead, possibly with a change.
| Code | Name | Meaning | Reported for |
|---|---|---|---|
| ACCP | Accepted customer profile | Technical checks and the customer profile checks passed. | the whole file, a payment block or a single transaction |
| ACFC | Accepted funds checked | Accepted, and the funds are available. | a single transaction, in pain.002.001.08 and later |
| ACWC | Accepted with change | Accepted, but something was changed (for example the date or remittance information). | the whole file, a payment block or a single transaction |
| ACWP | Accepted without posting | Accepted, but the payment will not be posted to the creditor’s account. | a single transaction, in pain.002.001.08 and later |
| ACSP | Accepted settlement in process | All checks passed and the payment is being executed. | the whole file, a payment block or a single transaction |
| ACIS | Accepted and cheque issued | A payment by cheque was accepted and the cheque issued, but not yet deposited or cleared. | a single transaction, in pain.002.001.08 and later |
| ACPD | Accepted clearing processed | Released by the debtor’s bank and accepted by the clearing system. | a single transaction, in pain.002.001.08 and later |
Settled
The money has moved: the end of the road for a payment.
| Code | Name | Meaning | Reported for |
|---|---|---|---|
| ACSC | Accepted settlement completed | Settled on the debtor’s account. | the whole file, a payment block or a single transaction |
| ACCC | Accepted settlement completed (creditor) | Settled on the creditor’s account. | the whole file, a payment block or a single transaction |
| CPUC | Cash picked up by creditor | The creditor has collected the cash. | a single transaction, in pain.002.001.08 and later |
Partly accepted
A file or block where some payments go ahead and others do not, or not yet.
| Code | Name | Meaning | Reported for |
|---|---|---|---|
| PART | Partially accepted | Some transactions accepted; others not yet accepted (pending or rejected); see the transaction statuses. A group or block status only. | the whole file or a payment block |
Not executed
Rejected or cancelled: the payment will not be made.
| Code | Name | Meaning | Reported for |
|---|---|---|---|
| RJCT | Rejected | Rejected: the payment will not be executed. The reason code says why. | the whole file, a payment block or a single transaction |
| CANC | Cancelled | The payment initiation was cancelled after a request for cancellation. ISO reserves it for API-based payment initiation. | a single transaction, in pain.002.001.08 and later |
Entry statuses on statements (camt)
Statements and reports use a different status: whether an entry is booked. It sits in Ntry/Sts of camt.052, camt.053 and camt.054 (a bare code up to version .001.06, Ntry/Sts/Cd from .001.07).
| Code | Name | Meaning | In the balance |
|---|---|---|---|
| BOOK | Booked | Posted to the account: part of the booked balance. | Counts toward the booked balance (opening booked + booked entries = closing booked). |
| PDNG | Pending | Not yet posted; it may still change or be cancelled. Not part of the booked balance. | Not in the booked balance. A pending entry may change or disappear before it is booked. |
| INFO | Information | Reported for information only; it will not be booked (for example an expected or advised item). | Not in the booked balance, and never will be. |
| FUTR | Future | Already on the bank’s books, with value on a future date; not in today’s booked balance. | Not in today’s booked balance: the bank has it on its books, but its value applies on a future date. |
See how entries and balances fit together in the camt.053 format.
Look up a status from a script or an AI agent
The same explanation is available to scripts and AI agents, keyless: the REST endpoint GET /api/v1/explain and the explain_code tool of the MCP server at https://iso20022-navigator.com/mcp (API and MCP docs; add it to Claude, Cursor or VS Code).
curl -s 'https://iso20022-navigator.com/api/v1/explain?code=ACSC&kind=payment_status'{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "explain_code",
"arguments": {
"code": "ACSC",
"kind": "payment_status"
}
}
}{
"query": "ACSC",
"kind": "payment_status",
"matches": [
{
"kind": "payment_status",
"code": "ACSC",
"name": "Accepted settlement completed",
"definition": "Settled on the debtor’s account.",
"usedIn": "pain.002 / pacs.002 GrpSts, PmtInfSts, TxSts",
"reference": "https://iso20022-navigator.com/iso20022-status-codes/acsc"
}
]
}