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 the U.S. bank-to-bank network used for electronic payments such as vendor and bill payments. ACH payments typically take 2 to 4 business days to complete.
This guide explains why an ACH payment may be returned and what to do next.
Why do ACH payments get returned?
A receiving bank can return (reject) an ACH payment for several reasons:
- Incorrect bank details (account or routing number)
- Account restrictions at the bank
- Insufficient funds or uncollected funds
- Authorization or compliance issues
- Technical or formatting errors
Most returns include a return code (for example, R03 or R13) that explains why the bank could not complete the payment. For a plain-language list of the codes you may see and what to do about each one, see our help doc: ACH Return Code Reference
What status will I see in Prendio?
When an ACH payment is returned, Prendio shows a terminal status such as “Failed,” “Declined,” “Voided,” or “Voided – Reconcile Declined.”
Hover over the status to open the tooltip, which shows the return code and plain-language next steps for that specific return. Any of these statuses means no funds were delivered to the supplier and no duplicate payment was made.
Use the return code and next steps shown in the tooltip to decide what to do, and see the help doc, ACH Return Code Reference, for the full list of codes.
Where ACH returns happen
This is the high-level lifecycle of an ACH payment:
- Payment submitted in the AP platform
- Sent to the originating bank / processor
- Delivered through the ACH network
- Evaluated by the receiving bank: accepted (funds posted) or returned (with a reason code)
Most returns happen at the last step, where the receiving bank validates the account, funds, and permissions.
Tip: ACH vs. wire routing. Invoices often list a supplier's wire routing number, which is not valid for ACH. Many banks use a different routing number for wire and for ACH. If a routing code is returned, confirm the supplier's ACH routing number specifically before resubmitting.
Common situations and what to do
Invalid account number
What it means: The account number does not match any account at the receiving bank. Common codes: R03, R04.
- Confirm the account number with the supplier.
- Re-enter it exactly as provided, watching for missing digits or extra leading zeros.
- Create a new payment only after you confirm the correct account number and update the Payment Method for the supplier.
- Confirm the routing number with the supplier.
- Make sure it is the ACH routing number, not the wire routing number. If the account is only set up for wire, change the supplier's Payment Method to Wire.
- Create a new payment only after you confirm the correct routing number and update the Payment Method for the supplier.
- Contact the supplier about the closed or frozen account message.
- The supplier must confirm an open, active account before you resubmit.
- Check the Payments tab for other payments to the supplier for the same invoice or amount.
- Do not create a new payment until you confirm there is no duplicate. If unsure or it recurs, contact Prendio Support.
Invalid routing number
What it means: The routing number does not exist, is mistyped, or is not eligible for ACH. Common codes: R13, R28.
Account inactive
What it means: The bank account is closed or locked. Common codes: R02, R16.
Duplicate or stale transactions
What it means: The bank sees the transaction as duplicated or too old. Common codes: R08, R24.
Receiving bank technical errors
What it means: The bank could not process the transaction due to an internal issue. Common codes: R06, R20.
- Create a new payment after 1 business day.
- If it repeats, contact the supplier with details about the problem.
Step-by-step troubleshooting
- Do you see a return code? If no, contact Prendio Support with the Payment #, Payment Batch #, and supplier name. If yes, look it up in the Prendio Payments – ACH Return Code Reference.
- Account or routing code (R03, R04, R13, R28)? Re-confirm the routing, account number, and type; confirm the routing is ACH (not wire); update the Payment Method; then create a new payment.
- Closed (R02)? Contact the supplier; they must resolve the account issue with their bank before you resubmit.
- Possible duplicate (R08, R24)? Review the Payments tab for a matching amount and invoice. Only resubmit if you confirm the supplier was not already paid.
- Bank technical error (R06, R20)? Retry with a new payment after 1 business day; if it repeats, the supplier must report it to their bank.
- Multiple failures with correct info, or unsure? Contact Prendio Support with the Payment #, Payment Batch #, and supplier name.
Who to contact
Contact the supplier when:
- The account is closed.
- You need to confirm the correct account or routing info and account type, or whether the routing is for ACH or wire.
- You need help interpreting a payment error.
- The issue persists after correcting details.
- You believe there is a problem with the Prendio software.
Contact Prendio Support (with the Payment # and Payment Batch #) when:
- You need help interpreting a payment error.
- The issue persists after correcting details.
- You believe there is a problem with the Prendio software.
To contact Prendio Support, please complete a request form using the link: Support Ticket Request Form