Most electronic payments and transfers to and from a bank account in the U.S. go through ACH, which stands for Automated Clearing House. To make money go from A to B, you can initiate the transfer from the sending account or you can initiate it from the receiving account. When I see complaints about ACH, it’s usually caused by not doing it the right way.
ACH Push vs Pull
If an ACH transaction is initiated from the sending account, it’s an ACH credit or figuratively an ACH push — you are pushing the money out of the sending account. When you receive a payroll direct deposit, the payroll provider is doing an ACH push into your account.
If an ACH transaction is initiated from the receiving account, it’s an ACH debit or figuratively an ACH pull — you are pulling the money into the receiving account. When you link your checking account to a mortgage or a credit card for autopay, the bank is doing an ACH pull against your checking account. When you write a paper check, the recipient’s bank uses the routing number and the account number on the check to do an ACH pull.
An ACH transfer isn’t a wire transfer. A wire transfer is faster but it usually costs more. Most banks charge $10-15 for sending a wire. Some banks also charge $10 for receiving a wire. An ACH transfer is usually free on both sides.
ODFI and RDFI
As members of the ACH network, financial institutions go by the operating rules set by an association (NACHA).
Whether it’s an ACH push or an ACH pull, the bank that initiates the ACH transaction is called the Originating Depository Financial Institution (ODFI). The bank that receives the ACH request is called the Receiving Depository Financial Institution (RDFI).
Originating and receiving refer to the ACH request, not which direction the money flows. The money flows in the same direction as the ACH request in an ACH push — from the ODFI to the RDFI.
In an ACH pull, the money flows in the opposite direction of the ACH request. The ACH request goes from the ODFI to the RDFI but the money flows from the RDFI to the ODFI.
The fundamental rule in ACH is that the bank that initiates the ACH (the ODFI) is liable for the transaction. The RDFI can reject the ACH if the account isn’t in good standing but otherwise they must honor the transaction. The RDFI can’t place any hold on the incoming ACH credit or delay the outgoing ACH debit. After posting the ACH transaction, if the account holder says the transaction isn’t authorized, the RDFI can reverse it.
Because the ODFI is liable, some banks and credit unions set limits on the frequency and/or the amount of ACH transactions they initiate. For example, a credit union has a policy of not initiating any ACH pull into its checking account. It also limits any ACH push it initiates to $5,000 per business day and $15,000 over any five business days.
These limits only apply when the credit union initiates the ACH. If the ACH is initiated by another bank, the credit union must faithfully accept it.
When you see limits on the frequency or the amount of ACH transfers, the limits only apply to ACH transactions initiated by that institution. It doesn’t mean you can’t transfer more frequently or in larger amounts. It just means you have to initiate the ACH on the other side.
The ACH operator charges banks less than one penny for each ACH transaction. Because this cost is so low, most banks don’t charge consumers for ACH transfers but some large banks still do. For example, Bank of America doesn’t charge for ACH pulls but it used to charge $3 for each ACH push to be delivered in three business days and $10 for next-day delivery. Bank of America only removed the fee and started delivering all ACH pushes on the next business day recently.
Similar to the ACH limits, these fees only apply when this bank initiates the ACH. The fees don’t apply when the ACH transaction is initiated outside this bank. If your bank charges a fee for ACH, initiate your ACH on the other side. When I needed to transfer money from Bank of America to Fidelity, I would initiate a pull from Fidelity.
ACH goes by the principle of “No news is good news.” The ODFI will hear back if anything goes wrong but they won’t have any positive confirmation that the ACH transaction “cleared.” The ODFI only knows that it hasn’t been reversed yet. The RDFI has 60 days to reverse an ACH transaction.
The RDFI is given 60 days to reverse an ACH transaction because customers can’t be expected to watch their accounts daily. In the old days, banks issue paper statements monthly and that was the only opportunity for customers to review their accounts. Customers are given time to receive the statement in the mail, review the statement, and object to any errors. With online and mobile banking and paperless statements today, consumer protection laws still go by the monthly statements as the official account records.
This creates a problem especially for ACH pull transactions and check deposits. You see that your other account is already debited but the ODFI can’t trust that it won’t be reversed. That’s why the credit union I mentioned has a policy of not initiating any ACH pulls into its checking account. That’s why Fidelity holds any ACH pull and check deposit for up to four business days before making it available for withdrawals (it’s available immediately for trading, just not for withdrawals). That’s also why if you made a deposit to Vanguard recently, your withdrawal can only go back to the same bank where it came from originally. These policies limit their liability when they initiate the ACH pull.
On the other hand, when you do an ACH push, the sending bank processes it only if you have enough money in your account. The receiving bank treats the incoming ACH credit as good funds because the sending bank is liable. The receiving bank can’t put a hold on the money pushed in.
Therefore, when you have a choice, push the money from the source to avoid a hold. Don’t do it as an ACH pull.
ACH traditionally processes overnight. The ODFI sends a batch of ACH transactions to the ACH operator in the evening. The RDFI posts the transactions to the accounts the next morning.
There is no 3-day ACH versus next-day ACH on the ACH platform. If the ACH transaction takes longer than one business day, it’s only caused by the ODFI delaying it on purpose. It takes 3 business days when the ODFI intentionally delays sending it on a push or when it intentionally delays crediting your account on a pull.
If you want faster ACH, use a better bank to initiate it.
The current gold standard in ACH is same-day ACH. When you request the ACH in the morning, you see it arrive on the other side in the afternoon.
This is again controlled by the bank that initiates the ACH. If the ODFI sends ACH requests to the ACH operator multiple times a day, your ACH transaction will arrive at your destination on the same day. If the ODFI only sends once in the evening, your ACH will arrive on the next business day.
For example, Fidelity does same-day ACH. When I ask Fidelity to transfer money to Bank of America before a cutoff time, I see the money in my Bank of America account in a few hours.
Not all financial institutions process same-day ACH but you should use one that does it at least overnight. Any slower than that is just lame. Because Fidelity’s same-day ACH is fast enough, I don’t bother using wire transfers even though Fidelity also offers free wire transfers.
FedNow Instant Payments
The Federal Reserve will launch a new real-time payment system soon. It’s called FedNow. It’ll work even faster than same-day ACH. Chase, Wells Fargo, and a number of other banks are already certified to work with FedNow.
We’ll have to see which banks will offer FedNow to consumer accounts and how it works in the real world. For the time being, let’s make sure all your transfers arrive at least the next business day.
When to Use ACH Pull
To minimize hold on your ACH, in general you should do your ACH as a push. Request the ACH at the institution where your money is at. Ask them to send the money to the receiving account.
However, you should do an ACH pull in the following situations (writing a check also counts as an ACH pull):
When you pay a bill, it’s important to associate the payment with your bill. You can use your bank’s Bill Pay service and include a reference for your bill but involving a third party creates the potential for finger-pointing when there’s a problem. Did the Bill Pay service fail to make the payment on time? Did the Bill Pay service pay but the biller didn’t apply it correctly?
It’s much cleaner to let the biller pull from your bank account. Their billing system will apply the pull to your bill. You can always dispute the pull with your bank if the amount is wrong.
When It May Not Go Through
If there’s a chance that the ACH won’t go through, you should do it as a pull.
If you do a push but it doesn’t show up in the receiving account, the money already left your sending account. If you do a pull and it doesn’t come through, at least the money is still in your original account. If the money left your account and the receiving bank doesn’t credit you, you can ask your bank to reverse it.
Overcome Limits and Fees
As I mentioned previously, if the sending bank has low limits or charges a fee for a push, you can initiate a pull from the receiving side. The pull may be subject to a hold though.
Contribute to an IRA
When you contribute to an IRA between January 1 and April 15, it can be for the previous year or it can be for the current year. If you do an ACH push into your IRA, the custodian doesn’t know which year it’s for. They can assume but their assumption can be wrong. If you ask the IRA custodian to pull, you’ll have an opportunity to say whether it’s for the previous year or the current year.
Buy a CD
A CD at a bank or a credit union doesn’t have an account number that accepts ACH. You can push to a checking account or a savings account at that bank and then use the money to buy a CD but it’s easier to just let the bank pull from your current account.
Deposit to Vanguard
Vanguard accounts don’t have a routing number for generic ACH transfers except for its new Cash Plus Account currently in pilot. Their direct deposit instructions are specific to each payer. To transfer funds into your Vanguard account, you link your bank account at Vanguard and initiate a pull from Vanguard.
The fastest transfers happen within the same institution or between two institutions owned by the same parent company. Both sides trust each other and they know that you have sufficient funds for the transfer.
Some large financial institutions offer both banking and investment services. Bank of America owns Merrill Edge. Chase has J.P. Morgan Self-Directed Investing. Fidelity offers a Cash Management Account. Charles Schwab owns Schwab Bank. Vanguard will have the Cash Plus Account when it’s made available to everyone. An internal transfer between the banking side and the brokerage side happens instantly and there won’t be any hold.
In a way, internal transfers are the best way to transfer money — no limit, no time delay, no hold. Using the same company as a one-stop shop for both banking and investing doesn’t give you everything in the best of breed but it’s a lot easier when you make fewer things matter.
Paying Another Person
This post primarily covers transferring between two accounts of your own and paying bills. These are called Account-to-Account (“A2A”) and Consumer-to-Business (“C2B”) payments.
A separate category of payments involves paying another person. It’s called Person-to-Person (“P2P”) payments. Besides sending a check, either directly or through your bank’s Bill Pay service, you can pay another person electronically through PayPal, Venmo, Cash App, Apple Pay, Google Pay, Facebook Pay, or Zelle. Each system has its own limitations. I covered these in the context of paying rent to an individual landlord in Pay Rent Electronically By Zelle: Daily Limit and Recurring Payments.
Say No To Management Fees
If you are paying an advisor a percentage of your assets, you are paying 5-10x too much. Learn how to find an independent advisor, pay for advice, and only the advice.