A short intro to ACH payments

In this post, we explain what an ACH payment is, who the key players involved are, and provide resources for getting started accepting ACH payments.


The Automated Clearing House (ACH) network allows for the electronic transfer of funds between accounts. It is the primary method of electronic money movement in the United States. In 2020 alone, $61.9 trillion in transactions were processed through the ACH network. These transactions include direct deposits, bill payments, person to person payments, and government benefits fund transfers.

ACH is unique in that it allows both “push” and “pull” transactions.

  • Push transaction (also known as credits or disbursements): the originator initiates the transaction and sends money to a recipient.
  • Pull transaction (also known as debits or collections): the receiver authorizes the originator to pull funds from their account.

The rules and standards of the ACH network are defined by the National Automatic Clearing House Association (Nacha), which is an independent regulatory body.

Key players

Each ACH transaction involves:

  • Originator
  • Receiver
  • ACH operator
  • Originating Depository Financial Institution (ODFI)
  • Receiving Depository Financial Institution (RDFI)

Note that the ACH operator could be either Electronic Payments Network (owned by The Clearing House) or FedACH (owned by the Federal Reserve), but the movement of funds is the same regardless of who the operator is. In fact, ACH is interoperable, meaning that you can still receive funds from another party even if your financial institution is on EPN and theirs is on FedACH, or vice versa.

How money moves with ACH

ACH files have a specific fixed-width format and include bank routing and account numbers identifying where the funds will be pushed to or pulled from.

For money to move via ACH:

  • The initiating party originates the transaction.
  • The ODFI has the ACH file, they send it to the ACH operator.
  • The ACH operator instructs the RDFI to process the transaction.
  • The RDFI will then debit or credit the specified account by the amount noted in the file.


There are two types of ACH transactions: same day and next day. A same day transaction will always settle later on the same day, while a next day transaction will settle at the next business day. A next day ACH transaction can take a few business days to settle, assuming the ACH file does not get returned. ACH payments are processed by the network in batches multiple times a day.

If an ACH file is returned or a change is requested, the funds will likely take longer than the typical 1-2 business days to settle.

  • Returns: There are a number of reasons for a returned ACH file, including non-sufficient funds, payment stop, or an invalid account number. In the case of a return, the ODFI will need to take action accordingly (i.e., if they debited another party $100, but received a return code, they would then credit that party back $100).

  • Change requests: If something is not quite right with the ACH file, like the name of the account holder, the account selected, or the account number, the RDFI will send a change request to the Federal Reserve, who then sends that information to the ODFI. In the case of a change request, the originating party will need to address the changes accordingly so that the next time they submit an ACH file, it will contain the corrected information.

Accepting ACH payments

It is typically complex to integrate ACH payments, as it requires establishing a relationship with an ODFI, adherence to regulatory compliance standards, and understanding of existing banking infrastructure. Moov makes it easy for developers to enable ACH payments on their platform without deep payments knowledge.

Want to learn more?

For an overview of different payments acronyms and terms, refer to our payments dictionary. If you want to chat directly with other developers building in this space, join 1800+ engineers, builders, and doers in our public Slack community.

Next up
Your guide to the Moov ImageCashLetter API
Education • 4m