Bite Apps/SafeCAMT

Bite Apps › SafeCAMT › pain.002 reason codes

pain.002 status and reason codes

What the bank is telling you in a pain.002 status report: the status codes (ACCP, ACSP, PART, RJCT …) and 147 reason codes from AC01 to UPAY, with what each one means and what to check in your pain.001 or pain.008.

Got a pain.002 with rejects? Open it in SafeCAMT with the original payment file — each reason is matched to its payment, in your browser, nothing uploaded.

Open SafeCAMT — free, in your browser

How a pain.002 reports a status

A pain.002 (CustomerPaymentStatusReport) is the bank’s answer to a pain.001 credit transfer file or a pain.008 direct debit file. It names the file it answers in OrgnlGrpInfAndSts/OrgnlMsgId and can give a status at three levels:

LevelStatus elementRefers toReasons in
FileOrgnlGrpInfAndSts/GrpStsOrgnlMsgIdOrgnlGrpInfAndSts/StsRsnInf
BatchOrgnlPmtInfAndSts/PmtInfStsOrgnlPmtInfIdOrgnlPmtInfAndSts/StsRsnInf
TransactionTxInfAndSts/TxStsOrgnlEndToEndId, OrgnlInstrIdTxInfAndSts/StsRsnInf

A transaction without its own TxSts takes the status of its batch, and a batch without PmtInfSts takes the status of the file. Each StsRsnInf holds a reason code in Rsn/Cd (or a bank-specific one in Rsn/Prtry) and often free text in AddtlInf. Banks usually send a first pain.002 after technical validation and may send more as the payments are processed; rejects that happen after settlement arrive as returns in the account statement (camt.053 / camt.054) instead.

Status codes

StatusMeaningOutcome
ACCPAccepted — customer profile checks passedAccepted
ACTCAccepted — technical validation passedAccepted
ACSPAccepted — settlement in processAccepted
ACSCAccepted — settlement completedAccepted
ACCCAccepted — credited to the creditor’s accountAccepted
ACFCAccepted — funds checkedAccepted
ACWPAccepted — without postingAccepted
ACWCAccepted with changeAccepted in part or with a change
PARTPartially acceptedAccepted in part or with a change
PATCPartially accepted — technically correctAccepted in part or with a change
PDNGPendingIn progress
RCVDReceivedIn progress
PRESPresentedIn progress
RJCTRejectedNot executed
CANCCancelledNot executed
BLCKBlockedNot executed

Account (AC)

The account number, its status or its type.

CodeNameWhat to check
AC01Incorrect account numberThe IBAN or account number is wrong or does not exist. Check the IBAN check digits and ask the counterparty to confirm it.
AC02Invalid debtor account numberThe debtor account number is wrong or missing.
AC03Invalid creditor account numberThe creditor account number is wrong or missing.
AC04Closed account numberThe account has been closed. Ask the counterparty for their current account.
AC05Closed debtor account numberThe debtor account has been closed.
AC06Blocked accountThe account is blocked for this kind of transaction — for direct debits, the debtor may have blocked collections.
AC07Closed creditor account numberThe creditor account has been closed.
AC08Invalid branch code—
AC09Invalid account currency—
AC10Invalid debtor account currency—
AC11Invalid creditor account currency—
AC12Invalid account type—
AC13Invalid debtor account typeFor SEPA B2B direct debits: the debtor account belongs to a consumer.
AC14Invalid creditor account type—

Agent and operation (AG)

The bank, or whether this kind of transaction is allowed.

CodeNameWhat to check
AG01Transaction forbiddenThis type of transaction is not allowed on the account, for example direct debits on a savings account.
AG02Invalid bank operation codeWrong transaction code, sequence type (FRST, RCUR, OOFF, FNAL) or local instrument for this mandate.
AG03Transaction not supported—
AG07Unsuccessful direct debit—
AG08Invalid access rights—
AGNTIncorrect agent—

Amount and control sums (AM)

Amounts, limits, funds, duplicates and the file’s counts and sums.

CodeNameWhat to check
AM01Zero amount—
AM02Not allowed amountThe amount is above the limit agreed for this account or scheme.
AM03Not allowed currency—
AM04Insufficient fundsThere was not enough money on the debtor account. Resubmit once it is funded.
AM05DuplicationThe bank already has this payment. Look for a duplicate EndToEndId or a file that was sent twice.
AM06Too low amount—
AM07Blocked amount—
AM09Wrong amount—
AM10Invalid control sumCtrlSum does not equal the sum of the amounts. Recalculate it.
AM11Invalid transaction currency—
AM12Invalid amount—
AM13Amount exceeds clearing system limit—
AM14Amount exceeds agreed limit—
AM15Amount below clearing system minimum—
AM16Invalid group control sumCtrlSum in GrpHdr does not match the transactions.
AM17Invalid payment info control sumCtrlSum in a PmtInf block does not match its transactions.
AM18Invalid number of transactionsNbOfTxs does not match the number of transactions in the file.
AM19Invalid group number of transactionsNbOfTxs in GrpHdr does not match the file.
AM20Invalid payment info number of transactionsNbOfTxs in a PmtInf block does not match its transactions.
AM21Limit exceeded—

Parties (BE)

Names, addresses and identification of the debtor, creditor or initiating party.

CodeNameWhat to check
BE01Inconsistent with end customerThe name does not match the account holder.
BE04Missing creditor address—
BE05Unrecognised initiating partyThe bank does not know the initiating party or the creditor identifier used in the file.
BE06Unknown end customer—
BE07Missing debtor address—
BE08Missing debtor name—
BE09Invalid country—
BE10Invalid debtor country—
BE11Invalid creditor country—
BE12Invalid country of residence—
BE15Invalid identification code—
BE16Invalid debtor identification code—
BE17Invalid creditor identification code—
BE18Invalid contact details—
BE19Invalid charge bearer codeSEPA payments must use ChrgBr SLEV.
BE20Invalid name length—
BE21Missing name—
BE22Missing creditor name—

Dates, mandates and element content (CH)

Dates outside the allowed window, mandate changes, the creditor identifier and element formats.

CodeNameWhat to check
CH03Requested execution or collection date too far in the future—
CH04Requested execution or collection date too far in the past—
CH07Element is not to be used at B and C level—
CH09Mandate changes not allowed—
CH10Information on mandate changes missing—
CH11Creditor identifier incorrectCheck the creditor identifier and its check digits.
CH12Creditor identifier not unambiguous at transaction level—
CH13Original debtor account is not to be used—
CH14Original debtor agent is not to be used—
CH15Element content includes more than 140 characters—
CH16Element content formally incorrect—
CH17Element not admitted—
CH19Values will be set to next TARGET day—
CH20Decimal points not compatible with currencyThe amount has more decimal places than the currency allows.
CH21Required compulsory element missing—
CH22CORE and B2B within one message—

Dates and cut-off (DT, TM)

Invalid dates and files that arrive too late.

CodeNameWhat to check
DT01Invalid dateThe requested execution or collection date is invalid or outside the allowed window.
DT02Invalid creation date—
DT03Invalid non-processing date—
DT04Future date not supported—
DT05Invalid cut-off date—
DT06Execution date changed—
TM01Invalid cut-off timeThe file arrived after the cut-off time.

Duplicates (DU)

An identifier or a whole transaction was sent before.

CodeNameWhat to check
DU01Duplicate message IDA file with this MsgId was already received.
DU02Duplicate payment information ID—
DU03Duplicate transaction—
DU04Duplicate end-to-end ID—
DU05Duplicate instruction ID—
DUPLDuplicate payment—

File format (FF)

The file fails the schema or the bank’s format rules.

CodeNameWhat to check
FF01Invalid file formatThe file fails the schema or the bank’s format rules — often a wrong namespace or version, a missing element or characters outside the allowed set.
FF02Syntax error—
FF03Invalid payment type information—
FF04Invalid service level code—
FF05Invalid local instrument code—
FF06Invalid category purpose code—
FF07Invalid purpose—
FF08Invalid end-to-end ID—
FF09Invalid cheque number—
FF10Bank system processing errorA problem on the bank’s side. Ask the bank whether to resubmit.
FF11Clearing request aborted—

Mandates (MD)

SEPA direct debit mandate problems and refunds.

CodeNameWhat to check
MD01No mandateNo valid mandate is on file — or, for a refund, the debtor disputes having authorised the collection.
MD02Missing mandatory information in mandateMandate ID, signature date or creditor identifier is missing or wrong.
MD05Collection not due—
MD06Refund request by end customerThe debtor asked for the direct debit to be refunded.
MD07End customer deceased—

Routing and bank identifiers (RC)

BICs and clearing-system member identifiers.

CodeNameWhat to check
RC01Bank identifier incorrectThe BIC is wrong or not in the right format.
RC02Invalid bank identifier—
RC03Invalid debtor bank identifier—
RC04Invalid creditor bank identifier—
RC05Invalid BIC identifier—
RC06Invalid debtor BIC identifier—
RC07Invalid creditor BIC identifier—
RC08Invalid clearing system member identifier—
RC09Invalid debtor clearing system member identifier—
RC10Invalid creditor clearing system member identifier—
RC11Invalid intermediary agent—
RC12Missing creditor scheme IDThe creditor identifier (CdtrSchmeId) is missing.

Regulatory and remittance (RR)

Missing regulatory data, invalid remittance information or character set.

CodeNameWhat to check
RR01Missing debtor account or identification—
RR02Missing debtor name or address—
RR03Missing creditor name or address—
RR04Regulatory reason—
RR05Regulatory information invalid—
RR06Tax information invalid—
RR07Remittance information invalid—
RR08Remittance information truncated—
RR09Invalid structured creditor reference—
RR10Invalid character setThe file contains characters outside the set the bank accepts.
RR11Invalid debtor agent service ID—
RR12Invalid party ID—

Services agreed with the bank (SL)

White lists, black lists and limits the debtor set with their bank.

CodeNameWhat to check
SL01Specific service offered by debtor agent—
SL02Specific service offered by creditor agent—
SL11Creditor not on whitelist of debtor—
SL12Creditor on blacklist of debtor—
SL13Maximum number of direct debit transactions exceeded—
SL14Maximum direct debit transaction amount exceeded—

Other codes

Narrative reasons, unspecified reasons, signatures, settlement and bank registration.

CodeNameWhat to check
CNORCreditor bank is not registeredThe creditor’s bank cannot be reached through this clearing system — often a wrong BIC.
CURRIncorrect currency—
CUSTRequested by customerCancelled at the customer’s request.
DNORDebtor bank is not registeredThe debtor’s bank cannot be reached through this clearing system — often a wrong BIC.
DS02Order cancelled—
DS04Order rejected—
ED01Correspondent bank not possible—
ED03Balance info request—
ED05Settlement failed—
MS02Not specified reason, customer generatedThe debtor refused the transaction without giving a reason.
MS03Not specified reason, agent generatedThe bank gives no reason. Ask your bank.
NARRNarrativeThe reason is given as text in AddtlInf.
RF01Not unique transaction reference—
UPAYUndue payment—

Codes you can catch before sending

Many rejects are visible in the file itself. SafeCAMT checks these before you upload a pain.001 or pain.008:

CodeCheck
AC01IBAN length and mod-97 check digits
RC01BIC format
AM10 / AM16 / AM17CtrlSum against the sum of the amounts, per batch and for the file
AM18 / AM19 / AM20NbOfTxs against the number of transactions
AM05 / DU04End-to-end IDs used twice in one file
CH20More decimal places than the currency allows
CH11 / RC12 / BE05Creditor identifier missing or with wrong check digits (pain.008)
MD02Mandate ID or signature date missing (pain.008)
AG02Sequence type or local instrument invalid (pain.008)
CH22CORE and B2B collections in one message (pain.008)
RR10 / FF01Characters outside the SEPA set, names over 70 or remittance over 140 characters
BE19ChrgBr other than SLEV in a SEPA file

Others cannot be seen in a file — a closed account (AC04), insufficient funds (AM04), a missing mandate at the debtor bank (MD01) or a refund request (MD06). For those the pain.002 is the first place they show up.

Where the codes come from

The reason codes are the ISO 20022 external code set ExternalStatusReason1Code; the status codes are ExternalPaymentTransactionStatus1Code and its group and payment-information counterparts. The names above are the ISO names, written out; “What to check” is our own summary of the usual cause. This page lists the 147 reason codes SafeCAMT decodes, not the complete ISO list, and banks and schemes use only a subset — your bank’s implementation guide says which. The SEPA rulebooks use the same codes for rejects, returns and refunds.

FAQ

What is a pain.002 file?

pain.002 is the ISO 20022 CustomerPaymentStatusReport: the message a bank sends back after receiving a pain.001 credit transfer file or a pain.008 direct debit file. It says whether the file, each batch and each transaction was accepted or rejected, with reason codes.

What does RJCT AC01 mean in a pain.002?

RJCT means the transaction was rejected. AC01 (IncorrectAccountNumber) means the account number is wrong or does not exist — most often an IBAN with a typo, which fails the mod-97 check digits.

What is the difference between ACCP, ACSP and ACSC?

ACCP means the payment passed technical and customer-profile checks, ACSP that settlement is in process, and ACSC that settlement on the debtor’s account is completed. All three are positive statuses; a reject is RJCT.

What does MS03 mean?

MS03 (NotSpecifiedReasonAgentGenerated) means the bank rejected the transaction without stating a reason. Ask your bank; the cause is often on the receiving side.

How do I match a pain.002 to my pain.001?

OrgnlMsgId equals the MsgId of your file, OrgnlPmtInfId the PmtInfId of the batch, and OrgnlEndToEndId or OrgnlInstrId the IDs of the transaction. SafeCAMT does this matching in the browser when you open both files, and shows each reject next to its payment.

Last updated 2026-11-10. Something wrong or missing? Email support@biteapps.cc.