ACH — Automated Clearing House
Overview
The Automated Clearing House (ACH) Network is a batch-based electronic payment system that facilitates the movement of money between US financial institutions. Governed by the NACHA Operating Rules, ACH processes over 30 billion transactions annually and is the backbone of payroll direct deposit, consumer bill payment, business-to-business transfers, government disbursements, and tax payments.
ACH transactions are grouped into batches, transmitted in NACHA-formatted files, and settled through either the Federal Reserve's FedACH service or The Clearing House's Electronic Payments Network (EPN). Unlike wire transfers, ACH transactions are not immediately final — returns and reversals are permitted under defined timeframes.
Key Participants
| Participant | Role | Responsibility |
|---|---|---|
| Originator | Initiates the payment | Obtains authorization, submits payment file to ODFI, accepts liability for unauthorized transactions |
| ODFI (Originating Depository Financial Institution) |
Originator's bank | Receives ACH file from Originator, validates format, transmits to ACH Operator, accepts warranty for entries |
| ACH Operator | Clearinghouse | Routes entries between ODFI and RDFI. Either FedACH (Federal Reserve) or EPN (The Clearing House) |
| RDFI (Receiving Depository Financial Institution) |
Receiver's bank | Receives entries from ACH Operator, posts to Receiver's account, initiates returns if applicable |
| Receiver | Account holder | Grants authorization to Originator; account is credited (ACH Credit) or debited (ACH Debit) |
Standard Entry Class (SEC) Codes
NACHA defines Standard Entry Class (SEC) codes that identify the nature of the ACH transaction and the authorization type. The SEC code is a required field in every ACH entry. Operations teams must verify that the SEC code matches the transaction type, authorization on file, and applicable return timeframe.
| SEC Code | Full Name | Transaction Type | Authorization Required | Typical Use Case |
|---|---|---|---|---|
PPD |
Prearranged Payment & Deposit | Credit or Debit | Written authorization (consumer) | Payroll direct deposit, consumer recurring payments |
CCD |
Corporate Credit or Debit | Credit or Debit | Written authorization (corporate) | B2B payments, vendor payments, corporate disbursements |
CTX |
Corporate Trade Exchange | Credit or Debit | Written authorization (corporate) | B2B with addenda records for remittance data (up to 9,999 addenda) |
WEB |
Internet-Initiated Entry | Debit | Internet authorization (consumer) | Online bill payment, e-commerce, subscription services |
TEL |
Telephone-Initiated Entry | Debit | Verbal authorization (recorded) | One-time phone-initiated consumer payment |
IAT |
International ACH Transaction | Credit or Debit | Written authorization | Cross-border ACH involving foreign institutions; OFAC screening mandatory |
CIE |
Customer-Initiated Entry | Credit | Written authorization (consumer) | Consumer-initiated online transfers to business or biller |
POP |
Point of Purchase | Debit | Written authorization at POS | Check conversion at retail point of sale |
RCK |
Represented Check Entry | Debit | Consumer notification | Re-presentment of a returned check as ACH debit |
Processing Flow
ACH entries move through the following stages from initiation to posting. Operations teams interact primarily at file ingestion (ODFI side) and exception handling (RDFI side).
Submits File
Validates & Transmits
(FedACH / EPN)
Receives Entries
Posts to Account
Step-by-Step
- File Submission: The Originator creates an ACH file in NACHA format (94-character fixed-width records) and submits it to the ODFI by the agreed cut-off time.
- ODFI Validation: The ODFI validates the file structure (File Header, Batch Header, Detail Records, Addenda, Batch Control, File Control). Errors at this stage result in file rejection — not individual entry returns.
- Effective Entry Date Check: The ODFI checks that the Effective Entry Date is a valid banking day. Future-dated entries are held in a pending queue until the effective date.
- Transmission to ACH Operator: The ODFI transmits the validated file to the ACH Operator (FedACH or EPN) within the submission window. FedACH has multiple daily submission windows; same-day ACH has three additional windows.
- Sorting and Routing: The ACH Operator sorts entries by receiving ABA routing number and routes each entry to the appropriate RDFI.
- RDFI Receipt and Posting: The RDFI receives the entries, validates the account number, and posts the transaction to the Receiver's account. A credit is posted before the cut-off time on the settlement date.
- Settlement: The Federal Reserve settles net positions between participating institutions through the RDFI's and ODFI's Federal Reserve accounts. Settlement is final for same-day ACH; next-day settlement for standard entries.
NACHA File Structure
Every ACH file follows a strict 94-character fixed-width record format defined by NACHA. Understanding this structure is essential for operations teams validating file submissions and diagnosing transmission errors.
| Record Type | Code | Description |
|---|---|---|
| File Header | 1 | One per file. Identifies immediate destination (Fed routing #), origin, file creation date/time, and file ID modifier. |
| Batch Header | 5 | One per batch. Contains SEC code, company name, company ID, effective entry date, settlement date, service class code. |
| Entry Detail | 6 | One per transaction. Contains transaction code, receiving institution routing number, account number, amount, individual name/ID. |
| Addenda Record | 7 | Optional. Carries remittance information for CCD+, CTX entries. Required for IAT entries. |
| Batch Control | 8 | One per batch. Contains entry/addenda count, hash total (sum of routing numbers), debit/credit dollar totals. |
| File Control | 9 | One per file. Contains batch count, block count, entry/addenda count, hash totals, debit/credit totals. |
Settlement Timeline
ACH settlement dates are expressed as the Effective Entry Date — the date on which the RDFI is to make funds available or post the debit.
| Entry Type | Submission Deadline | Settlement Date | Funds Availability (Credit) |
|---|---|---|---|
| Standard ACH Credit | By end of business day D | D+1 (next banking day) | RDFI must make funds available by D+1 morning |
| Standard ACH Debit | By end of business day D | D+1 (next banking day) | Funds debited on D+1 |
| Same-Day ACH Credit (Window 1) | 10:30 AM ET | Same day (D) | By 1:30 PM ET same day |
| Same-Day ACH Credit (Window 2) | 2:45 PM ET | Same day (D) | By 5:00 PM ET same day |
| Same-Day ACH Credit (Window 3) | 4:45 PM ET | Same day (D) | By 6:00 PM ET same day |
| Same-Day ACH Debit | 2:45 PM ET | Same day (D) | Funds debited same day |
Same-Day ACH
Same-Day ACH (SDA) was introduced by NACHA in three phases (2016–2018) and expanded with a third submission window in 2021. It enables credits and debits to settle within the same banking day, provided entries are submitted before the applicable cut-off window.
Eligibility Criteria
- Transaction amount must be $1,000,000 or less per entry.
- IAT (International ACH Transaction) entries are not eligible for same-day processing.
- The Originator must explicitly request same-day by using a same-day service class code or the ODFI must flag entries accordingly in the Batch Header.
- Both the ODFI and RDFI must participate in same-day ACH.
Same-Day Fee
NACHA mandates that RDFIs charge ODFIs a Same-Day ACH fee, which ODFIs may pass on to Originators. As of 2023, the fee is $0.052 per same-day entry. This fee compensates RDFIs for the operational cost of accelerated processing.
Return Codes and Handling
When an ACH entry cannot be processed or is disputed, the RDFI or ODFI initiates a return. Returns are sent back through the ACH network as a new entry with a standard return reason code. Operations teams must monitor return rates and act within NACHA-mandated timeframes.
Return Timeframes
| Return Type | Initiated By | Deadline |
|---|---|---|
| Standard return (RDFI) | RDFI | 2 banking days after the settlement date |
| Late return (RDFI) | RDFI | Extended under specific conditions (written agreement) |
| Unauthorized debit (consumer) | RDFI on behalf of Receiver | 60 calendar days from statement |
| Disputed authorization (consumer PPD) | RDFI on behalf of Receiver | 60 calendar days from statement |
| Corrected return (ODFI) | ODFI | Within 1 banking day of return receipt |
Common Return Codes
| Code | Description | Credit / Debit? | Initiated By | Ops Action Required |
|---|---|---|---|---|
R01 |
Insufficient Funds | Debit | RDFI | Notify Originator; re-present within 180 days if permitted; check Originator return rate |
R02 |
Account Closed | Credit or Debit | RDFI | Contact Originator; update beneficiary account; do not re-present |
R03 |
No Account / Unable to Locate Account | Credit or Debit | RDFI | Verify account number with Originator; do not re-present |
R04 |
Invalid Account Number Structure | Credit or Debit | RDFI | Confirm correct account number format with Originator |
R05 |
Unauthorized Debit — Corporate Account | Debit (CCD/CTX) | RDFI | Investigate authorization records; flag for potential fraud review |
R06 |
Returned per ODFI Request | Credit | RDFI | Return requested by ODFI within 5 banking days; confirm return receipt |
R07 |
Authorization Revoked | Debit | RDFI | Stop all future entries for this authorization; escalate if pattern indicates fraud |
R08 |
Payment Stopped | Debit | RDFI | Receiver has issued stop payment; contact Originator |
R10 |
Customer Advises Not Authorized | Debit | RDFI | Highest priority — potential unauthorized debit. Investigate immediately; preserve authorization records |
R11 |
Customer Advises Entry Not in Accordance with Authorization | Debit | RDFI | Authorization exists but amount or timing is disputed; review Originator's debit terms |
R16 |
Account Frozen | Credit or Debit | RDFI | Do not re-present; contact compliance if related to legal hold or OFAC match |
R20 |
Non-Transaction Account | Credit or Debit | RDFI | Entry posted to a savings or money market account with transaction restrictions |
R29 |
Corporate Customer Advises Not Authorized | Debit (CCD/CTX) | RDFI | Corporate equivalent of R10; high priority; escalate to compliance |
Compliance Requirements
ACH processing must comply with NACHA Operating Rules, Regulation E, and applicable federal AML/OFAC requirements. The following checks are mandatory for all ACH transactions processed by this institution.
OFAC Sanctions Screening
- All ACH credits and IAT entries must be screened against the OFAC Specially Designated Nationals (SDN) List before posting.
- Matches must be placed on hold and escalated immediately to the Compliance team. Do not post or return without Compliance approval.
- IAT entries carry additional screening requirements — all parties (Originator, ODFI, Receiver, RDFI, financial intermediaries) must be screened.
Authorization Requirements
- Debit entries require valid authorization from the Receiver before initiation.
- Written authorizations must be retained for a minimum of 2 years after the last transaction entry under that authorization.
- Operations teams must not process debit entries flagged with missing or expired authorization records — escalate to the Originator relationship manager.
AML Transaction Monitoring
- Unusual ACH activity — structuring patterns, rapid velocity, beneficiary mismatches — must be flagged to the BSA/AML team.
- Currency Transaction Report (CTR): ACH cash-equivalent transactions exceeding $10,000 may require CTR filing depending on nature and account type.
- Suspicious Activity Report (SAR): File within 30 calendar days of identification.
Exception Handling
Notification of Change (NOC)
A Notification of Change (NOC) is sent by the RDFI when an ACH entry is successfully posted but the account or routing information has changed (account number update, routing number change, name correction, etc.). NOCs are not returns — the original transaction was posted. However, Originators are required to update their records within 6 banking days of receiving an NOC.
| NOC Code | Change Description | Required Action |
|---|---|---|
C01 | Incorrect DFI Account Number | Update account number in origination records |
C02 | Incorrect Routing / Transit Number | Update routing number |
C03 | Incorrect Routing and Account Number | Update both routing number and account number |
C05 | Incorrect Transaction Code | Verify checking vs. savings account type |
C07 | Incorrect Routing, Account Number, and Transaction Code | Update all three fields |
C09 | Incorrect Individual ID Number | Correct the individual identification number |
Reversals
An ACH reversal corrects a posted transaction that was sent in error (wrong amount, wrong account, duplicate entry). Reversals must be initiated within 5 banking days of the settlement date of the original entry. The reversal entry must include:
- The same dollar amount as the original entry
- The same account information as the original entry
- The notation "REVERSAL" in the Company Entry Description field
- A memo explaining the reason for reversal
Reconciliation Procedures
Daily ACH reconciliation ensures that all submitted entries match the settled amounts in the institution's Federal Reserve account (FRB master account or correspondent account).
Daily Reconciliation Checklist
- Obtain the ACH settlement report from FedACH or EPN for the business day.
- Match net settlement amounts (debits and credits) against the FRB account activity for the same date.
- Reconcile all return entries received against the original debit/credit postings in the core banking system.
- Confirm all NOC entries have been logged and routed to the Originator relationship team for correction within the 6-day NACHA requirement.
- Verify that no entries are pending in the exception queue without resolution.
- Generate the daily ACH exception report and route to the Operations Supervisor for sign-off.
- Archive settlement confirmation and exception reports per records retention policy (7 years minimum).
Suspense Account Management
ACH transactions that cannot be immediately posted to a beneficiary account are held in a suspense account. Items may be held due to: account number not found, account closed (pending return), OFAC review, or system processing errors.
- Suspense items must be reviewed and resolved within 2 banking days of receipt.
- Items unresolved after 2 days must be returned to the ODFI or escalated to the Operations Supervisor.
- Suspense balances exceeding institutionally-defined thresholds require immediate escalation to the Operations Manager and Compliance team.