Article

ACH Return Codes: A Guide for Construction Payments

Avatar photo
Built Team
Jul 24, 2026
Illustration of an ACH return code (R03) document moving through payment verification and approval workflow.

ACH return codes are standardized three-character codes (R01 through R85) defined by Nacha that explain why an Automated Clearing House payment was rejected by the receiving bank. The most common codes in construction are R01 (insufficient funds), R02 (account closed), R03 (no account found), and R04 (invalid account number). 

For general contractors processing dozens of subcontractor payments each billing cycle, a single returned ACH payment can delay lien waiver collection, hold up draw submissions, and stall project cash flow. Understanding what each code means, why it was triggered, and how to resolve it keeps money moving through the owner-to-GC-to-sub payment chain. 

Built’s digital payment platform eliminates the most frequent return causes by verifying sub banking information during onboarding and tying ACH payments directly to lien waiver exchange.

What Are ACH Return Codes?

ACH return codes are three-character identifiers that tell you exactly why an electronic payment failed. When a payment gets rejected, the receiving bank assigns a code and sends it back through the ACH network to the sending bank, which then relays it to the company that originated the payment.

Two banks are involved in every ACH transaction. The Originating Depository Financial Institution (ODFI) is the sending bank, the one that submitted the payment on your behalf. The Receiving Depository Financial Institution (RDFI) is the sub’s bank. When the RDFI rejects a payment, it assigns a return code and sends it back through the network to the ODFI, which notifies you.

Nacha, the organization that governs the ACH network, processed 35.2 billion ACH payments in 2025. With that volume, returns are inevitable. The codes exist so every party in the chain knows exactly what went wrong and what to do next.

For GCs, return codes are the first signal that a sub payment has stalled, a lien waiver isn’t getting signed, and your next draw package might be incomplete.

Complete List of ACH Return Codes

The table below covers the 15 ACH return codes that GC accounts payable teams are most likely to encounter when paying subcontractors.

CodeNameWhat It MeansTime Frame
R01Insufficient FundsThe sub’s account doesn’t have enough money to cover the payment.2 banking days
R02Account ClosedThe sub’s bank account has been closed.2 banking days
R03No Account/Unable to Locate AccountThe account number doesn’t match any account at the receiving bank.2 banking days
R04Invalid Account NumberThe account number structure is invalid (wrong number of digits or fails check-digit validation).2 banking days
R05Unauthorized Debit to Consumer AccountThe sub claims they didn’t authorize the debit(applies to consumer accounts only).60 calendar days
R06Returned per ODFI’s RequestYour bank requested the return, typically because of a duplicate or erroneous transaction.2 banking days
R07Authorization Revoked by CustomerThe sub previously authorized the payment but has revoked that authorization.60 calendar days
R08Payment StoppedThe sub placed a stop payment order on this specific transaction.2 banking days
R09Uncollected FundsFunds exist in the account but aren’t available yet (pending deposits).2 banking days
R10Customer Advises Not AuthorizedThe sub says they never authorized the transaction. This is an unauthorized return.60 calendar days
R11Check Truncation Entry ReturnRelated to converted check entries. Rare in construction sub payments.2 banking days
R13Invalid ACH Routing NumberThe routing number doesn’t correspond to a valid financial institution.2 banking days
R16Account FrozenThe sub’s account has been frozen by the bank, often due to legal action or compliance holds.2 banking days
R23Credit Entry Refused by ReceiverThe sub’s bank refused the credit. This can happen when the account doesn’t accept ACH credits.2 banking days
R29Corporate Customer Advises Not AuthorizedThe corporate account holder says the transaction wasn’t authorized. Similar to R10 but for business accounts.60 calendar days

Most Common ACH Return Codes Explained

Five return codes account for the vast majority of ACH failures in construction payments. Here’s what triggers each one and how to resolve it.

R01: Insufficient funds

R01 is the most common return code across all industries. The sub’s account didn’t have enough money to cover the payment at the time it was processed.

In construction, R01 often shows up between draw cycles when a sub’s balance is temporarily low. The fix is straightforward. It involves confirming the sub has adequate funds and resubmitting. If R01 returns keep happening with the same sub, it may signal a cash flow issue worth a direct conversation.

R02: Account closed

R02 means the sub closed their bank account. This happens often with smaller trade partners who switch banks or consolidate accounts.

You can’t resubmit to a closed account. The only resolution is getting updated banking information from the sub. The delay compounds when you’re working with a sub across multiple projects, because every pending payment to that account will also bounce.

R03: No account found

R03 fires when the account number on file doesn’t match any account at the receiving bank. This is almost always a data entry error, such as a transposed digit, a missing number, or outdated information carried over from a previous project.

For GCs still collecting banking details on paper forms, R03 is a predictable failure. A single wrong digit means the payment bounces, the waiver sits unsigned, and the AP team spends a day chasing corrections.

R04: Invalid account number

R04 is similar to R03 but more specific. The account number format itself is invalid, meaning it doesn’t conform to the structure the receiving bank expects. This typically happens when account numbers get mixed up across banks or when a form field truncates the number. Like R03, it’s entirely preventable with digital banking verification during onboarding.

R10: Customer advises not authorized

R10 is an unauthorized return, meaning the account holder is telling their bank they never approved the transaction. In construction, this can happen when a sub’s accounting team isn’t aware of an incoming payment, when a payment goes to the wrong sub, or in rare cases involving disputed amounts.

Nacha tracks unauthorized returns closely. Resolving R10 requires direct communication with the sub to confirm authorization before resubmitting, plus proper documentation.

ACH Return Timeframes and Deadlines

ACH returns fall into two categories based on how long the receiving bank has to send the payment back.

Standard returns (R01, R02, R03, R04, R08, R09, R13, R16) must be initiated within two banking days of the settlement date. These are the most common returns in construction, and the two-day window means you’ll know quickly if a payment failed.

Extended returns (R05, R07, R10, R29) can be filed up to 60 calendar days after the original transaction. These are all unauthorized return codes, meaning the account holder is claiming they didn’t approve the payment.

The distinction matters for construction AP teams planning payment runs. A two-day return gives you time to fix the issue and resubmit before your next billing cycle. A 60-day return can surface weeks after you thought a payment was settled, reopening a waiver you already counted as complete.

Why ACH Returns Matter for Construction Payments

A returned payment in most industries is an inconvenience. In construction, it’s a chain reaction.

Consider a GC running a $15M commercial project with 18 subs who processes ACH payments monthly. One sub changed banks and didn’t update their info. The R03 return bounces the payment. That sub doesn’t get paid, so the conditional lien waiver sits unsigned. The GC can’t include it in the next draw package. The draw submission planned for Friday is missing documentation, and the lender won’t fund an incomplete draw. Now the GC is waiting on one sub’s banking info before funding moves for the entire project.

The multi-party payment chain in construction (owner to GC to sub to supplier) means one returned payment affects everyone downstream. The sub can’t pay their material supplier. The supplier holds the next delivery. The project schedule slips.

There’s also a compliance dimension. Nacha enforces a 0.5% threshold on unauthorized return rates for ACH originators. Exceeding the threshold can result in additional scrutiny from your bank, fines, and in severe cases, loss of ACH origination privileges.

For more on how payment failures cascade in construction, see this article on common payment issues in construction.

How to Handle ACH Returns on a Construction Project

When an ACH return hits your account, the process for resolving it is straightforward. But skipping steps creates repeat failures.

  1. Identify the return code and understand the cause: Don’t resubmit blindly. An R01 (insufficient funds) has a completely different resolution path than an R03 (no account found). Determine whether you can fix it on your end or need the sub’s involvement.
  2. Contact the sub to resolve the underlying issue: Whether it’s confirming their account balance (R01), providing updated banking information (R02, R03, R04), or confirming authorization (R10), the sub is part of the fix.
  3. Update banking information if needed: For R02, R03, R04, and R13 returns, get corrected banking details in writing and verify them before resubmitting.
  4. Resubmit the payment if the code allows it: R01 can be resubmitted once the funds issue is resolved. R02 (account closed) can’t be resubmitted to the same account. Check the specific code’s resubmission rules before retrying.
  5. Track the status and re-collect the lien waiver: This is the step GC teams most often miss. The original conditional waiver tied to that payment is void. Once the resubmitted payment clears, you need a fresh waiver signed and filed.

The most common mistake is treating a return as a simple retry. If you resubmit without fixing the root cause, you’ll get the same code again and lose another two days.

How to Prevent ACH Returns When Paying Subcontractors

The ACH return code isn’t the problem. It’s the payment workflow that produced it.

Most construction ACH returns trace back to one root cause, which is bad banking data. A sub fills out a paper form with the wrong account number. Someone transposes two digits during data entry. A sub switches banks and nobody updates the file. These are process failures, not payment failures.

Prevention starts at onboarding. Verify banking information digitally when a sub first joins a project. Digital verification catches invalid account numbers (R04), non-existent accounts (R03), and closed accounts (R02) before you ever send a payment.

Before processing large payment runs, confirm account status for every sub on the list. A quick pre-validation step catches problems that would otherwise surface as returns two days later.

Keep sub banking records current across projects. A sub who worked on your last three projects may have changed banks since the first one. Pulling banking info from a stale record sets up an R03 or R02 return.

Monitor your unauthorized return rate. If you’re processing hundreds of sub payments per month, even a handful of unauthorized returns (R05, R07, R10, R29) can put your ACH origination privileges at risk.

For more on why ACH is still the best payment method for construction despite these challenges, see this article on why ACH is the best construction digital payment method.

How Built Helps Construction Teams Manage ACH Payments

Built offers free ACH payments for construction, the first platform in the industry to do so. However, free payments are only part of the equation. The real value is eliminating the data and workflow problems that cause returns in the first place.

When a sub onboards through Built, their banking information is verified digitally. R03 (no account found) and R04 (invalid account number) returns are caught before a payment is ever sent. No paper forms. No transposed digits. No chasing corrections after a payment bounces.

Built ties lien waivers and payments into a single workflow. The waiver exchange triggers the payment release, so subs get paid the moment they sign. There’s no gap where banking info can go stale or documentation can fall through the cracks.

Subs see payment status in real time, which eliminates the “Where’s my money?” calls that eat up your AP team’s day.

GCs using Built report 50% faster subcontractor payments and 85% or higher sub adoption rates.

Rod Heisler of Rod Heisler Construction put it this way: “Not only has Built freed up a lot of my time, it’s also getting us paid a lot quicker from our clients. And that allows us to get our subs paid quicker and keeps everyone through the entire process a lot happier.”

Another example is Waltz Construction, who switched from paper checks to Built and completed implementation in two weeks.

Talk to Built about eliminating ACH returns from your payment workflow.

ACH Return Code FAQs

What does ACH return code R01 mean?

R01 means “insufficient funds.” The receiving bank rejected the payment because the account didn’t have enough money to cover the transaction. In construction, this often happens when a sub’s account balance is low between draw cycles. The GC can resubmit after confirming the sub has adequate funds, but repeated R01 returns may signal a cash flow issue worth discussing directly.

How long does it take to process an ACH return?

Most ACH returns are processed within two banking days of the settlement date. However, unauthorized return codes like R07 (authorization revoked) and R10 (customer advises not authorized) can be filed up to 60 calendar days after the original transaction. Construction AP teams should account for both timelines when planning payment runs.

Can you resubmit an ACH payment after it’s returned?

It depends on the return code. Codes like R01 (insufficient funds) can be resubmitted once the issue is resolved. But codes like R02 (account closed) or R10 (unauthorized) require updated banking information or new authorization before any resubmission. Nacha limits resubmission attempts for certain codes, so check the specific code before retrying.

What is the difference between an ACH return and an ACH reversal?

An ACH return is initiated by the receiving bank when a payment can’t be processed. An ACH reversal is initiated by the sender to cancel a payment they sent in error. In construction, reversals typically happen when a GC sends a payment to the wrong sub or for the wrong amount. Returns happen when the sub’s bank rejects the incoming payment.

What ACH return codes indicate fraud or unauthorized transactions?

Codes R05, R07, R10, R29, and R51 are classified as unauthorized returns. Nacha monitors these closely and requires originators to keep their unauthorized return rate below 0.5%. For GCs processing sub payments, unauthorized returns can result in additional scrutiny from their bank, potential fines, and even loss of ACH origination privileges.

How do ACH returns affect subcontractor payments in construction?

A returned ACH payment doesn’t just delay one sub’s payment. It also stalls the lien waiver that sub was supposed to sign upon receiving funds. Without that signed waiver, the GC can’t include it in the next draw package to the owner or lender. The result is a cascading delay that affects the entire project payment chain, from sub to GC to owner to lender.

Written by The Built OGC Sales Team
Built’s OGC Sales team focuses on accelerating adoption of payments and standalone solutions purpose-built for real estate owners, developers, and general contractors. The team brings experience across sales, general management, and operations in technology-driven businesses.

Built Payments for Construction

Free ACH, lien waivers tied to every payment, and subs paid in 1 to 2 days. One workflow from waiver to funds.

Illustration of an ACH return code (R03) document moving through payment verification and approval workflow.