ValidateFin

AM04 - Insufficient funds

AM04 means there was not enough money on the account to cover the transaction. Nothing is wrong with the payment file itself — the balance was simply too low at the moment the bank tried to execute it.

AM04 - Insufficient funds

AM04 means there was not enough money on the account to cover the transaction. Nothing is wrong with the payment file itself — the balance was simply too low at the moment the bank tried to execute it. This rejection is recoverable: correct the cause and the same payment can be resubmitted.

AmountSEPA · ISO 20022 Recoverable
Can you resubmit? This rejection is recoverable: correct the cause and the same payment can be resubmitted.

What this code means

AM04 means there was not enough money on the account to cover the transaction. Nothing is wrong with the payment file itself — the balance was simply too low at the moment the bank tried to execute it.

Typical causes

  • The debit account balance was below the payment amount on the execution date.
  • A batch of payments drained the account and later items in the batch failed.
  • On a direct debit, the debtor did not have the funds when you collected.

What to do

Top up the account, or wait for a sufficient balance, then resubmit the payment unchanged. This rejection is recoverable — it is the most common reason a perfectly valid payment fails.

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>AM04</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

All rejection codes