ACH Troubleshooting Guide
Common reasons why an ACH transaction starting in Prendio may have failed and steps to resolve the issue
ACH (Automated Clearing House) is a U.S. bank‑to‑bank payment network used for electronic transfers such as payroll, vendor payments, and bill payments. ACH payments typically take 2-4 business days to complete.
This document covers common reasons why an ACH transaction may have failed and steps to resolve the issue.
Why do ACH payments get rejected?
An ACH payment can be returned (rejected) by the receiving bank for many reasons, including:
- Incorrect bank details
- Account restrictions at the bank
- Insufficient funds
- Authorization or compliance issues
- Technical or formatting errors
Most rejections include a return code (e.g., R03, R07) that explains why the bank could not complete the payment.
Where ACH failures occur
This is a high-level lifecycle for an ACH payment:
- Payment submitted in the AP platform
- Sent to originating bank / processor
- Delivered through the ACH network
- Evaluated by receiving bank
- ACCEPTED → Funds are posted
- REJECTED → Retuned with a reason code
Most ACH failures happen at Step 4, where the receiving bank validates the account, funds, and permissions.
Possible ACH Rejection Situations
This is a list of return codes that could impact ACH payments sent with Prendio. The “Likely Cause” column shows which rejection scenario the code to which the code can relate. Clicking the Likely Cause(s) link in bold directs you to the applicable section of this document:
|
Code |
What it Means |
Likely Cause(s) |
Who Can Fix |
|
R02 |
Account closed |
Supplier / Bank |
|
|
R03 |
No Account/Unable to Locate Account |
Prendio payment user |
|
|
R04 |
Invalid account number |
Prendio payment user |
|
|
R06 |
Returned per ODFI request |
Supplier / Bank |
|
|
R08 |
Payment stopped |
Prendio payment user |
|
|
R13 |
Invalid ACH Routing Number |
Prendio payment user |
|
|
R16 |
Account Frozen |
Supplier / Bank |
|
|
R20 |
Non‑transaction account |
Supplier / Bank |
|
|
R24 |
Duplicate entry |
Prendio payment user |
|
|
R28 |
Routing No. Check Digit Error |
Prendio payment user |
Invalid Account Number
What it means: The account number does not match any account at the receiving bank.
Common return codes
- R03 – No account / unable to locate account
- R04 – Invalid Account Number Structure
Typical symptoms
- Immediate or next‑day rejection
- Happens after a recent update or manual entry
Next steps
- Confirm the account number with the supplier
- Re‑enter the account number exactly as provided by the supplier
- Watch for missing digits or extra leading zeros
- Create a new payment only if you confirm the right account number and update the Payment Method for the supplier
Invalid Routing Number
What it means: The routing number does not exist, is mistyped, or is not eligible for ACH payments.
Common return codes
- R03 – No account / unable to locate account
- R14 – Invalid ACH Routing Number
- R28 – Routing No. Check Digit Error
Typical symptoms
- Payment rejected immediately
- Error suggests “no such bank” or “invalid routing”
Next steps
- Confirm the routing number with the supplier
- Ensure the routing number is for ACH - Some suppliers allow for ACH and Wire payments, and the routing number can be different between those two methods
- If the routing number and account are only intended for Wire payments, the Payment Method for the supplier must be changed to Wire
- Create a new payment only if you confirm the right routing number and update the Payment Method for the supplier.
Account Inactive
What it means: The bank account is no longer active or has been locked.
Common return codes
- R02 – Account closed
- R16 – Account frozen
Typical symptoms
- Sudden failures for a previously valid account
- Bank confirms account status issue
Next steps
- Contact the supplier about the “account closed” or “account frozen” return message
- Supplier must confirm ACH information is for an open and active account before you can proceed with a new payment.
Duplicate / Stale Transactions
What it means: The bank sees the transaction as too old or duplicated.
Common return codes
- R08 – Payment stopped
- R24 – Duplicate entry
Typical symptoms
- Re‑attempt after long delay
- Duplicate payment warning
Next Steps
- Check the Payments tab for other payments to the supplier, possibly for the same invoice or same amount
- Do not create a new payment attempt until confirming there is not a duplicate payment. If uncertain or the rejection occurs again, contact Prendio support.
Receiving Bank Technical Errors
What it means: The bank could not process the transaction due to internal issues.
Typical symptoms
- No obvious issue with credentials
- Temporary or intermittent failures
Common return codes
- R06 – Returned per ODFI request
- R20 – Non‑transaction account
Next steps
- Create a new payment after 1 business day
- If rejection repeats, contact supplier with information about the problem.
Step-by-Step Troubleshooting Workflow
- Do you see a return code?
- Yes → Look it up in the table above
- No → Contact Prendio Support with the Payment #, Payment Batch #, and supplier name.
- If there is a return code:
- Does it reference account or routing info (R03, R04, R13, R28)?
- Re‑confirm routing, account number, and type
- Confirm that the routing number is for ACH and not Wire
- Update Payment Method for the Supplier with any corrections
- Try again by creating a new payment
- Does it reference a closed or frozen account (R02, R16)?
- Contact supplier regarding the error - They must work out any account closure issue with their bank
- Only try creating a new payment for the supplier when they have confirmed resolution of the account problem
- Is there a possible duplicate payment (R08, R24)?
- Go to the Payments tab and review for other payments sent to the supplier around the same time
- Verify that there are no payments for the same amount and invoice that are actively being processed
- If there are no duplicate payments to the supplier and the return happens again, contact Prendio Support with the Payment #, Payment Batch #, and supplier name
- Is there a technical problem with the supplier’s receiving bank (R06, R20)?
- Try again with a new payment after 1 business day
- If the problem reoccurs, contact the supplier regarding the error - They must report the problem to their bank
- Only try creating a new payment for the supplier when they have confirmed resolution of the problem with their bank
- Does it reference account or routing info (R03, R04, R13, R28)?
- Multiple failures with correct info? Uncertain how to proceed?
- Contact Prendio Support with the Payment #, Payment Batch #, and supplier name
Who You Can Contact
Contact the supplier when
- The account is closed, frozen, or restricted
- You must get confirmation about:
- The correct account / routing info and account type
- Confirmation on if routing info is for ACH or Wire
Contact Prendio Support with Payment # and Payment Batch # when
- You need help interpretting a payment error
- The issue persists after correcting details
- You believe there is a problem with the Prendio software