AG02 - Invalid bank operation code
AG02 means the bank operation code or instrument specified in the file is invalid. The bank did not recognise the operation type you asked it to perform.
AG02 - Invalid bank operation code
AG02 means the bank operation code or instrument specified in the file is invalid. The bank did not recognise the operation type you asked it to perform. This rejection is recoverable: correct the cause and the same payment can be resubmitted.
What this code means
AG02 means the bank operation code or instrument specified in the file is invalid. The bank did not recognise the operation type you asked it to perform.
Typical causes
- The Payment Method (PmtMtd) or Local Instrument code is not one the bank supports.
- A scheme code was used that does not exist for the message type sent.
- The service level (e.g. SEPA, INST) does not match the product agreed with the bank.
What to do
Correct the operation code, service level or local instrument in your file to a value your bank accepts — check its implementation guidelines — and resubmit. This rejection is recoverable; ValidateFin's SEPA validator flags unsupported code values.
What it looks like in a pain.002
The reason code is carried in the StsRsnInf/Rsn/Cd element of the status report.
<?xml version="1.0" encoding="UTF-8"?>
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:pain.002.001.03">
<CstmrPmtStsRpt>
<GrpHdr>
<MsgId>STATUS-2026-000123</MsgId>
<CreDtTm>2026-01-15T09:30:00</CreDtTm>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>MSG-2026-000045</OrgnlMsgId>
<OrgnlMsgNmId>pain.001.001.09</OrgnlMsgNmId>
</OrgnlGrpInfAndSts>
<OrgnlPmtInfAndSts>
<OrgnlPmtInfId>PMTINF-2026-01</OrgnlPmtInfId>
<TxInfAndSts>
<OrgnlEndToEndId>E2E-REF-0001</OrgnlEndToEndId>
<TxSts>RJCT</TxSts>
<StsRsnInf>
<Rsn>
<Cd>AG02</Cd>
</Rsn>
</StsRsnInf>
</TxInfAndSts>
</OrgnlPmtInfAndSts>
</CstmrPmtStsRpt>
</Document>Tools for this code
Decode a real status report, or check a payment file before you send it — all in your browser, nothing uploaded.
Related codes
Source: ISO 20022 External Code Sets — ExternalStatusReason1Code · Last verified: 2026-07-12