> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://beta-docs.payabli.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://beta-docs.payabli.com/_mcp/server.

# ACH return codes reference

ACH return codes can help you understand what went wrong with an ACH payment and how to fix it. These are the standard Nacha codes.

<table>
  <thead>
    <tr>
      <th>
        Code
      </th>

      <th>
        Nacha Title
      </th>

      <th>
        Description
      </th>

      <th>
        Solution
      </th>
    </tr>
  </thead>

  <tbody>
    <tr>
      <td>
        **R01**
      </td>

      <td>
        Insufficient Funds
      </td>

      <td>
        There weren't enough available funds in the account for the
        transaction
      </td>

      <td>
        Try the transaction again by entering it as a new transaction up to two
        times within 30 days of the original authorization.
      </td>
    </tr>

    <tr>
      <td>
        **R02**

         
      </td>

      <td>
        Account Closed
      </td>

      <td>
        An account that was previously active has been closed, either by the
        bank or the customer.
      </td>

      <td>
        Contact your customer for a different bank account, or for another form
        of payment.

        \


        If you haven't shipped the goods or provided the services covered by
        the payment, you may want to wait to do so until you have confirmation of
        a settled transaction.
      </td>
    </tr>

    <tr>
      <td>
        **R03**

         
      </td>

      <td>
        No Account/Unable to Locate Account
      </td>

      <td>
        The account number structure is valid and it passes the check digit
        validation, but the account number doesn't correspond to the
        individual identified in the entry, or the account number designated
        isn't an open account.
      </td>

      <td>
        Contact your customer and confirm the routing number, bank account
        number and the exact name on the bank account. You can request a copy of
        a voided check so that you can verify.

        \


        If this information doesn't exactly match what you initially entered,
        make changes and submit a new payment.
      </td>
    </tr>

    <tr>
      <td>
        **R04**
      </td>

      <td>
        Invalid Account Number
      </td>

      <td>
        The account number structure isn't valid. The entry may fail the
        check digit validation or may contain an wrong number of digits.
      </td>

      <td>
        Ask the customer for the correct bank account number. You can request a
        copy of a voided check so that you can verify. Submit a new payment
        using the corrected bank account number.
      </td>
    </tr>

    <tr>
      <td>
        **R05**
      </td>

      <td>
        Unauthorized Debit to Consumer Account Using Corporate SEC Code
      </td>

      <td>
        The SEC code expects a corporate or business bank account, and the
        account given is a personal one.
      </td>

      <td>
        Contact your customer make sure they used the correct account.

        \


        You can ask the customer for a different form of payment, or ask to debit
        a different bank account.

        \

      </td>
    </tr>

    <tr>
      <td>
        **R06**
      </td>

      <td>
        Returned per ODFI’s Request
      </td>

      <td>
        The ODFI has requested that the RDFI return an Erroneous Entry, or a
        credit Entry originated without the authorization of the Originator.
      </td>

      <td>
        Contact Payabli.
      </td>
    </tr>

    <tr>
      <td>
        **R07**
      </td>

      <td>
        Authorization Revoked by Customer (adjustment entries)
      </td>

      <td>
        The customer has revoked the authorization they gave to debit their
        account.
      </td>

      <td>
        Immediately suspend any recurring payment schedules entered for this
        bank account. This prevents additional transactions from being returned
        while you address the issue with your customer. Then contact your
        customer and resolve any issues that caused the transaction to be
        disputed or the schedule to be cancelled.

        \


        You can ask the customer for a different form of payment, or ask to debit
        a different bank account.

        \


        If you need to debit the same bank account, ask your customer to call
        the bank and remove the block on transactions.

        \


        There is no dispute resolution available to you within the ACH Network. If
        your customer continues to claim the transaction wasn't authorized, but
        you have proof that it was properly authorized, you may need to sue your
        customer in small claims court to collect. Notify Payabli if you sue the
        customer.
      </td>
    </tr>

    <tr>
      <td>
        **R08**
      </td>

      <td>
        Payment Stopped or Stop Payment on Item
      </td>

      <td>
        The customer or the customer's bank issued a stop payment on an
        entry.
      </td>

      <td>
        Contact your customer and resolve any issues that caused the transaction
        to be stopped.

        \


        You can re-enter the returned transaction again with proper authorization
        from your customer. You can also ask your customer for a different form of
        payment.
      </td>
    </tr>

    <tr>
      <td>
        **R09**
      </td>

      <td>
        Uncollected Funds
      </td>

      <td>
        The ledger balance is enough to cover the ACH amount, but the total
        dollar value of transactions that haven't been collected yet (like
        uncashed checks), bring the available or cash reserve balance below the
        dollar amount of the debit entry.
      </td>

      <td>
        You can try the transaction again (you will need to re-enter it as a new
        transaction) up to two times within 30 days of the original
        authorization date.
      </td>
    </tr>

    <tr>
      <td>
        **R10**
      </td>

      <td>
        Customer Advises Originator is Not Known to Receiver and/or Originator
        is Not Authorized by Receiver to Debit Receiver’s Account
      </td>

      <td>
        The customer has told their bank that they don't know you and they
        did not authorize an ACH transaction with you.
      </td>

      <td>
        The Receiver may request immediate credit from the RDFI for an
        unauthorized debit. The request must be made in writing within fifteen
        (15) days after the RDFI sends or makes available to the Receiver
        information pertaining to that debit entry.
      </td>
    </tr>

    <tr>
      <td>
        **R11**
      </td>

      <td>
        Customer Advises Entry Not in Accordance with the Terms of the
        Authorization
      </td>

      <td>
        In this situation you have a relationship with the customer and they
        have authorized ACH debits, but the returned entry had some sort of
        error or other problem. For example, the amount was incorrect, or the
        payment was debited earlier than authorized.
      </td>

      <td>
        Correct the underlying error and resubmit the corrected entry as a new
        entry. For example, fix the amount, the date, and resubmit. No new
        authorization is needed from the customer. The new corrected entry must
        be submitted and originated within 60 days of the Settlement Date of the
        R11 Return Entry.

        \


        If a correction and new entry submission isn't possible, the resolution
        would be similar to receiving a return with the R10 code.
      </td>
    </tr>

    <tr>
      <td>
        **R12**
      </td>

      <td>
        Branch Sold to Another DFI
      </td>

      <td>
        The account has been sold to another branch and the entry can't be
        fulfilled.
      </td>

      <td>
        Contact the customer and get a new routing number and bank account
        number, then enter a **NEW** transaction using the updated account
        numbers.
        \
        &#x20;If the transaction was part of a recurring payment
        schedule, be sure to update the schedule to use the new bank account.
      </td>
    </tr>

    <tr>
      <td>
        **R13**
      </td>

      <td>
        Invalid ACH Routing Number
      </td>

      <td>
        The routing number isn't valid.
      </td>

      <td>
        Double check that you entered the routing number correctly, or contact
        your customer to confirm the routing number. Then submit a NEW payment
        using the correct routing number.
      </td>
    </tr>

    <tr>
      <td>
        **R14**
      </td>

      <td>
        Representative Payee Deceased or Unable to Continue in that Capacity
      </td>

      <td>
        The representative payee is a person or institution authorized to accept
        entries on behalf of others, like legally incapacitated adults or
        minors. In this case, the representative payee is unable to continue in
        that capacity. The beneficiary isn't deceased.
      </td>

      <td />
    </tr>

    <tr />

    <tr>
      <td>
        **R15**
      </td>

      <td>
        Beneficiary or Account Holder (Other Than a Representative Payee)
        Deceased
      </td>

      <td>
        (1) The beneficiary is the person entitled to the benefits and is
        deceased. The beneficiary may or may not be the account holder;or(2) The
        account holder (acting in a non-representative payee capacity) is an
        owner of the account and is deceased.
      </td>

      <td />
    </tr>

    <tr>
      <td>
        **R16**
      </td>

      <td>
        Account Frozen
      </td>

      <td>
        The funds in the account are unavailable due to specific action taken by
        the RDFI or by legal action.
      </td>

      <td>
        Ask the customer for a different form of payment. You can't process
        transactions using this bank account until it's unfrozen.
      </td>
    </tr>

    <tr>
      <td>
        **R17**
      </td>

      <td>
        File Record Edit Criteria/Entry with Invalid Account Number Initiated
        Under Questionable Circumstances/Return of Improperly-Intiated Reversal
      </td>

      <td>
        This return code typically points to field errors, or it could be due to
        the original transaction being questionable or anomalous.
      </td>

      <td />
    </tr>

    <tr>
      <td>
        **R20**
      </td>

      <td>
        Non-Transaction Account
      </td>

      <td>
        The ACH entry destined for a non-transaction account. This would include
        either an account against which transactions are prohibited or limited.
      </td>

      <td>
        Contact your customer to obtain authorization to charge a different bank
        account.

        \


        Or

        \


        Ask for a different form of payment.
      </td>
    </tr>

    <tr>
      <td>
        **R21**
      </td>

      <td>
        Invalid Company Identification
      </td>

      <td>
        The ID used in the Company Identification Field isn't valid. This
        code is typically used on CIE transactions.
      </td>

      <td />
    </tr>

    <tr>
      <td>
        **R22**
      </td>

      <td>
        Invalid Individual ID Number
      </td>

      <td>
        In CIE and MTE entries, the Individual ID Number is used by the Receiver
        to identify the account. The Receiver has indicated to the RDFI that the
        number with which the Originator was identified isn't correct.
      </td>

      <td />
    </tr>

    <tr>
      <td>
        **R23**
      </td>

      <td>
        Credit Entry Refused by Receiver
      </td>

      <td>
        The Receiver may return a credit entry because one of the following
        conditions exists: (1) a minimum amount required by the Receiver has not
        been remitted; (2) the exact amount required has not been remitted; (3)
        the account is subject to litigation and the Receiver will not accept
        the transaction; (4) acceptance of the transaction results in an
        overpayment; (5) the Originator is not known by the Receiver; or (6) the
        Receiver has not authorized this credit entry to this account.
      </td>

      <td>
        Contact your customer to work out the problem, or ask them to work the
        problem out with their bank. Have your customer confirm that the refund
        will be accepted, then attempt to refund the transaction again.

        \


        Alternately, you can send your customer a paper check for the refund
        amount.
      </td>
    </tr>

    <tr>
      <td>
        **R24**
      </td>

      <td>
        Duplicate Entry
      </td>

      <td>
        The RDFI has received what appears to be a duplicate entry; i.e., the
        trace number, date, dollar amount and/or other data matches another
        transaction. This code should be used with extreme care. The RDFI should
        be aware that if a file has been duplicated, the Originator may have
        already generated a reversal transaction to handle the situation.
      </td>

      <td>
        Contact Payabli
      </td>
    </tr>

    <tr>
      <td>
        **R29**
      </td>

      <td>
        Corporate Customer Advises Not Authorized
      </td>

      <td>
        The RDFI has been notified by the Receiver (non-consumer) that the
        Originator of a given transaction has not been authorized to debit the
        Receiver's account.
      </td>

      <td>
        Immediately suspend any recurring payment schedules entered for this
        bank account. This will prevent additional transactions from being
        returned while you address the issue with your customer. Then contact
        your customer and resolve any issues that caused the transaction to be
        disputed or the schedule to be cancelled.

        \


        You can ask the customer for a different form of payment, or ask to debit
        a different bank account.

        \


        If you need to debit the same bank account, instruct your customer to
        call the bank and remove the block on transactions.

        \


        Unfortunately, there is no dispute resolution available to you within the
        ACH Network. If your customer continues to claim the transaction was not
        authorized, but you have proof that it was properly authorized, you will
        need to sue your customer in Small Claims Court to collect. Notify Payabli
        if you sue the customer.
      </td>
    </tr>

    <tr>
      <td>
        **R31**
      </td>

      <td>
        Permissible Return Entry (CCD and CTX only)
      </td>

      <td>
        The RDFI has been notified by the Receiver (non-consumer) that the
        Originator of a given transaction has not been authorized to debit the
        Receiver's account.
      </td>

      <td>
        Immediately suspend any recurring payment schedules entered for this
        bank account. This will prevent additional transactions from being
        returned while you address the issue with your customer. Then contact
        your customer and resolve any issues that caused the transaction to be
        disputed or the schedule to be cancelled.

        \


        You can ask the customer for a different form of payment, or ask to debit
        a different bank account.

        \


        If you need to debit the same bank account, instruct your customer to
        call the bank and remove the block on transactions.

        \


        Unfortunately, there is no dispute resolution available to you within the
        ACH Network. If your customer continues to claim the transaction was not
        authorized, but you have proof that it was properly authorized, you will
        need to sue your customer in Small Claims Court to collect. Notify Payabli
        if you sue the customer.
      </td>
    </tr>

    <tr>
      <td>
        **R33**
      </td>

      <td>
        Return of XCK Entry
      </td>

      <td>
        The RDFI determines at its sole discretion to return an XCK entry. This
        return reason code may only be used to return XCK entries. An XCK entry
        may be returned up to sixty days after its Settlement Date.
      </td>

      <td />
    </tr>
  </tbody>
</table>