13.1 Direct Deposit Operations: ACH Files, Returns & Reversals
Key Takeaways
- The ACH direct deposit network operates under NACHA Operating Rules linking five core entities: Originator (employer), ODFI (originating bank), ACH Operator (FedACH or EPN), RDFI (receiving bank), and Receiver (employee).
- Standard Entry Class (SEC) codes define ACH transaction payloads: PPD is used for consumer payroll disbursements, while CCD/CCD+ (with 80-character ASC X12 addenda) is used for B2B transfers, state tax payments, and child support disbursements.
- Under NACHA rules, an originator may reverse an erroneous direct deposit entry or file within strictly 5 banking days of the settlement date, limited exclusively to incorrect amount, wrong receiver account, duplicate entry, or wrong settlement date.
- ACH return reason codes (such as R01 Insufficient Funds, R02 Account Closed, R03 Unable to Locate, R04 Invalid Account) must be returned by the RDFI within 2 banking days, while unauthorized consumer debits (R05, R07, R10) have an extended 60-calendar-day window.
- Notifications of Change (NOC) codes (C01 through C05) inform the employer of required master file corrections and must be remediated within 6 banking days of receipt or prior to the next live payroll file transmission.
Direct Deposit Operations: ACH Files, Returns & Reversals
Direct deposit via the Automated Clearing House (ACH) network is the primary method of wage disbursement in the United States. For the Certified Payroll Professional (CPP), understanding the legal, technical, and operational rules governing the ACH network is essential for ensuring timely wage payments, managing bank exceptions, executing compliant reversals, and maintaining strict regulatory compliance under NACHA (National Automated Clearing House Association) Operating Rules and Federal Reserve Regulation E (12 C.F.R. Part 1005).
1. The ACH Network Ecosystem & Five Core Participants
The ACH network is an electronic funds transfer system facilitating batch processing of credit and debit transactions. Every direct deposit transaction flows through five distinct participants in a defined sequence.
+-----------------------------------------------------------------------------+
| THE ACH TRANSACTION FLOW |
| |
| [1. ORIGINATOR] (Employer / Payroll Department) |
| | |
| | (Transmits NACHA payroll file) |
| v |
| [2. ODFI] (Originating Depository Financial Institution) |
| | |
| | (Aggregates and delivers batch files) |
| v |
| [3. ACH OPERATOR] (Federal Reserve Bank / FedACH or EPN / The Clearing Hse)|
| | |
| | (Sorts, routes, and settles net funds) |
| v |
| [4. RDFI] (Receiving Depository Financial Institution) |
| | |
| | (Posts credit to payee account by settlement date) |
| v |
| [5. RECEIVER] (Employee / Wage Earner) |
+-----------------------------------------------------------------------------+
The Five Core Participants
- Originator (Employer): The entity that initiates the ACH transaction. In payroll, the employer originates credit entries (wages paid to employees) and occasional debit entries (corrections/reversals or authorized benefit deductions).
- Originating Depository Financial Institution (ODFI): The financial institution that maintains the employer's payroll operating account, validates the employer's creditworthiness, establishes transmission exposure limits, formats or validates the NACHA-compliant file, and transmits the batch entries to the ACH Operator.
- ACH Operator: The central clearing facility that routes transactions between financial institutions. In the United States, two ACH Operators exist:
- FedACH (operated by the Federal Reserve Banks).
- Electronic Payments Network (EPN) (operated by The Clearing House Payments Company).
- Receiving Depository Financial Institution (RDFI): The financial institution holding the employee's bank account (commercial bank, savings institution, or credit union) that receives the ACH entry from the ACH Operator and posts the funds to the employee's designated account.
- Receiver (Employee): The individual or entity that authorizes the Originator to transmit credit or debit entries to their account at the RDFI.
[!IMPORTANT] Written Authorization Mandate: Under NACHA Operating Rules and Regulation E, an employer cannot initiate direct deposit entries without a valid, signed Direct Deposit Authorization Agreement (physical or secure electronic signature) from the employee. The authorization must explicitly grant permission to credit the employee's account and to debit the account solely for the purpose of correcting erroneous entries.
2. NACHA Standard Entry Class (SEC) Codes
NACHA rules use Standard Entry Class (SEC) codes to identify the specific application, legal framework, and record formatting of an ACH batch.
+-----------------------------------------------------------------------------+
| COMMON NACHA STANDARD ENTRY CLASS CODES |
| |
| SEC Code Full Name Primary Payroll Use Case |
| -------- ------------------------------- -------------------------- |
| PPD Prearranged Payment & Deposit Consumer Payroll Direct Dep |
| PPD+ PPD with Addenda Consumer Pay with Addenda |
| CCD Corporate Credit or Debit B2B Tax & Vendor Payments |
| CCD+ CCD with 80-Char Addenda Record Child Support SDU Remittance |
| CTX Corporate Trade Exchange Complex Multi-Invoice B2B |
+-----------------------------------------------------------------------------+
1. PPD (Prearranged Payment and Deposit)
- Application: Used for credit and debit entries to consumer (individual) bank accounts.
- Payroll Use: Standard employee wage direct deposits, expense reimbursements, and post-tax benefit deductions from consumer accounts.
- PPD with Addenda (PPD+): Contains a single 80-character Addenda record (Record Type 7) following the Entry Detail record, used to carry supplementary payment information.
2. CCD (Corporate Credit or Debit)
- Application: Used for credit and debit transfers between corporate or governmental entity accounts.
- Payroll Use: Federal employment tax deposits (via EFTPS), state unemployment insurance (SUI) payments, local tax remittances, and payments to third-party payroll vendors.
3. CCD+ (Corporate Credit or Debit with Addenda)
- Application: A CCD entry carrying exactly one 80-character Addenda record formatted according to ANSI ASC X12 standards (specifically the 820 Payment Order/Remittance Advice transaction set).
- Payroll Use: Remitting Court-Ordered Child Support to State Disbursement Units (SDUs). The 80-character addenda carries critical metadata including:
- Case Identifier (IV-D Case Number).
- FIPS Code (Federal Information Processing Standards code identifying state/county).
- Employee Social Security Number.
- Medical support indicator and withholding pay date.
4. CTX (Corporate Trade Exchange)
- Application: Enables corporate-to-corporate transactions carrying up to 9,999 Addenda records structured in full ANSI ASC X12 EDI formats for complex, multi-invoice B2B disbursements.
3. NACHA File Structure: The 94-Character Fixed-Width Record Hierarchy
Every ACH file transmitted to an ODFI must adhere to the standardized 94-character fixed-width text format. An ACH file uses a nested hierarchical structure consisting of six distinct record types:
+-----------------------------------------------------------------------------+
| NACHA FILE RECORD HIERARCHY |
| |
| [Record Type 1] FILE HEADER RECORD |
| | |
| +---> [Record Type 5] BATCH HEADER RECORD (e.g., PPD / Biweekly) |
| | | |
| | +---> [Record Type 6] ENTRY DETAIL RECORD (Emp #1 $1,200)|
| | +---> [Record Type 6] ENTRY DETAIL RECORD (Emp #2 $1,850)|
| | +---> [Record Type 7] ADDENDA RECORD (Optional/PPD+/CCD+)|
| | | |
| | +---> [Record Type 8] BATCH CONTROL RECORD |
| | |
| +---> [Record Type 5] BATCH HEADER RECORD (e.g., CCD+ / Child Supp) |
| | | |
| | +---> [Record Type 6] ENTRY DETAIL RECORD (SDU Payee) |
| | +---> [Record Type 7] ADDENDA RECORD (820 EDI Case Info) |
| | | |
| | +---> [Record Type 8] BATCH CONTROL RECORD |
| | |
| [Record Type 9] FILE CONTROL RECORD |
+-----------------------------------------------------------------------------+
Breakdown of the 94-Character Record Types
| Record Type | Name | Key Data Fields Contained | Mandatory Length |
|---|---|---|---|
| 1 | File Header Record | Immediate Origin (Employer/ODFI routing), Immediate Destination (Federal Reserve routing), File Creation Date/Time, File ID Modifier, Record Size (094), Blocking Factor (10). | Exactly 94 chars |
| 5 | Batch Header Record | Service Class Code (200=Mixed, 220=Credits Only, 225=Debits Only), Company Name, Standard Entry Class (PPD/CCD), Company Entry Description (e.g., PAYROLL), Effective Entry Date. | Exactly 94 chars |
| 6 | Entry Detail Record | Transaction Code (22, 27, 32, 37), Receiving DFI Transit Routing Number (9 digits with check digit), Receiving Account Number, Dollar Amount, Individual Identification/Emp ID, Receiver Name. | Exactly 94 chars |
| 7 | Addenda Record | Addenda Type Code (05), Payment-Related Information (up to 80 characters of remittance or ANSI ASC X12 EDI text), Addenda Sequence Number, Entry Detail Sequence Number. | Exactly 94 chars |
| 8 | Batch Control Record | Service Class Code, Entry/Addenda Count, Entry Hash (sum of all 8-digit receiving routing numbers in batch), Total Batch Debit Amount, Total Batch Credit Amount, Company ID. | Exactly 94 chars |
| 9 | File Control Record | Batch Count, Block Count (total records divided by 10, rounded up), Total File Entry/Addenda Count, Total File Entry Hash, Total File Debit Amount, Total File Credit Amount. | Exactly 94 chars |
Key Transaction Codes (Record Type 6)
- 22: Checking Account Credit (Standard Payroll Direct Deposit).
- 27: Checking Account Debit (Direct Deposit Reversal or authorized collection).
- 32: Savings Account Credit (Savings Direct Deposit).
- 37: Savings Account Debit (Savings Reversal).
- 23 / 33: Prenotification of Checking / Savings Credit ($0.00 zero-dollar test entry).
4. Prenotifications (Prenotes) vs. Live Dollar Processing
A Prenotification (Prenote) is a zero-dollar ($0.00) non-monetary ACH entry transmitted through the network prior to originating live dollar direct deposits to verify that the employee's bank routing number and account number are valid and capable of receiving electronic entries.
+-----------------------------------------------------------------------------+
| PRENOTE VALIDATION TIMELINE |
| |
| Day 0 (Monday) Employer transmits $0.00 Prenote entry (Code 23/33)|
| Day 1 (Tuesday) Prenote settles at RDFI; RDFI verifies account |
| Day 2 (Wednesday) RDFI validates account active and open |
| Day 3 (Thursday) 3rd Banking Day elapsed: Live $ entries PERMITTED |
| Day 4 (Friday) First Live Payroll Direct Deposit settles |
+-----------------------------------------------------------------------------+
Critical Prenote Rules under NACHA:
- Prenotes are Optional: Under current NACHA rules, employers are not legally required to send a prenote before initiating live entries. An employer may proceed directly to live dollar payroll direct deposit.
- The 3-Banking-Day Rule: If an employer chooses to send a prenote, the employer must wait at least 3 banking days following the settlement date of the prenote before transmitting the first live dollar entry, provided no Return or Notification of Change (NOC) is received.
- Prenote Response: If the account data is valid, the RDFI takes no action (silence is approval). If the data is invalid, the RDFI returns an ACH Return (e.g., R03/R04) or a Notification of Change (NOC).
5. Notifications of Change (NOC)
A Notification of Change (NOC) is an electronic notice generated by an RDFI to inform the Originator that an ACH entry was accepted and posted to the receiver's account, but that specific account information is incorrect or has changed and must be updated for future transactions.
+-----------------------------------------------------------------------------+
| NOTIFICATION OF CHANGE (NOC) CODES |
| |
| Code Meaning Required Payroll Action |
| ---- ------------------------------- ------------------------------ |
| C01 Incorrect Account Number Update employee account number |
| C02 Incorrect Transit/Routing Number Update 9-digit bank routing num |
| C03 Incorrect Routing & Account Num Update both routing and account |
| C05 Incorrect Transaction Code Change checking (22) vs sav (32) |
| C06 Incorrect Account Number & Tran Update account number & type |
| C07 Incorrect Routing, Account & Tran Update routing, account & type |
+-----------------------------------------------------------------------------+
[!WARNING] Mandatory NOC Compliance Deadline: Under NACHA Operating Rules, an Originator must make the corrections specified in an NOC within 6 banking days of receipt of the NOC information, or prior to initiating the next live transaction, whichever is later. Repeatedly originating transactions with known incorrect data after receiving an NOC exposes the employer to NACHA compliance fines up to $1,000 per violation.
6. ACH Direct Deposit Reversals: The 5-Banking-Day Rule
When a payroll error occurs—such as paying the wrong employee, paying an incorrect wage amount, or transmitting a duplicate payroll batch—an employer may initiate an ACH Reversal under strict NACHA parameters.
+-----------------------------------------------------------------------------+
| THE 5-BANKING-DAY REVERSAL WINDOW |
| |
| Original Payroll Settlement: FRIDAY (Day 0) |
| Banking Day 1: MONDAY |
| Banking Day 2: TUESDAY |
| Banking Day 3: WEDNESDAY |
| Banking Day 4: THURSDAY |
| Banking Day 5 (DEADLINE): FRIDAY (Must settle by 5:00 PM ET) |
| |
| * Weekends and Federal Reserve bank holidays do NOT count as banking days.*|
+-----------------------------------------------------------------------------+
Permissible Reversal Reasons (Strict NACHA Limitations)
NACHA rules permit reversals only in the following four specific circumstances:
- Wrong Dollar Amount: The amount credited was greater or less than the employee was owed.
- Wrong Receiver / Account: The payment was directed to an unintended employee or incorrect account.
- Duplicate Entry / Batch: The file or transaction was originated more than once.
- Wrong Settlement Date: The original entry contained an erroneous settlement date earlier than intended.
[!CAUTION] Prohibited Reversal Scenarios: An employer CANNOT initiate an ACH reversal simply because an employee quit, was terminated, failed to return company equipment, or owes an unliquidated loan balance. Initiating an unauthorized reversal violates NACHA rules and federal law.
Operational Rules for Executing a Reversal
- Timing Window: The reversing entry must be transmitted to the ODFI in time to settle within 5 banking days following the settlement date of the original erroneous entry.
- Receiver Notification: The employer must make a reasonable effort to notify the employee (Receiver) of the reversal and the specific reason for the reversal on or before the settlement date of the reversing entry.
- Reversal File Header Indicator: The Company Entry Description field in the Batch Header Record (Record Type 5) must contain the exact keyword
REVERSAL. - Correcting Entry Pairing: If the error involved an incorrect amount, the employer should transmit a reversing entry for the full incorrect amount accompanied by a simultaneous correcting entry for the proper amount.
What Happens When Reversal Fails (Insufficient Funds at RDFI)?
If the employee withdrew or transferred the funds before the reversing debit settles at the RDFI, the RDFI cannot force an overdraft and will return the debit entry with Return Reason Code R01 (Insufficient Funds).
In this scenario:
- The ACH reversal fails to recover the funds.
- The employer cannot re-initiate the debit repeatedly without authorization.
- The employer must pursue recovery of the wage overpayment directly with the employee through administrative payroll repayment plans in compliance with state wage deduction statutes.
6a. Federal Reserve Bank Holidays and the Payroll Calendar
The ACH network settles only on banking days, defined as days the Federal Reserve Banks are open. Any day the Federal Reserve is closed is not a processing day, is not a settlement day, and does not count when measuring the two-banking-day or next-banking-day settlement windows.
+-----------------------------------------------------------------------------+
| FEDERAL RESERVE BANK HOLIDAY SCHEDULE |
| |
| New Year's Day Labor Day |
| Birthday of Martin Luther Columbus Day |
| King, Jr. Veterans Day |
| Washington's Birthday Thanksgiving Day |
| Memorial Day Christmas Day |
| Juneteenth National |
| Independence Day |
| Independence Day |
| |
| WEEKEND RULE: a holiday falling on SUNDAY is observed the following |
| MONDAY. A holiday falling on SATURDAY is NOT observed by the Federal |
| Reserve Banks -- they are already closed, and the preceding Friday |
| remains a normal banking day. (Note that this differs from the federal |
| employee holiday rule, under which a Saturday holiday is observed on |
| the preceding Friday.) |
+-----------------------------------------------------------------------------+
Three payroll consequences follow directly:
- File transmission must move earlier, not later. If payday is the banking day immediately after a holiday, the origination deadline shifts back by a full banking day. A two-banking-day settlement file for a Tuesday payday following a Monday holiday must be originated the preceding Thursday, not Friday.
- Federal tax deposit due dates shift forward. Under Treas. Reg. § 31.6302-1, if a deposit due date falls on a Saturday, Sunday, or legal holiday, the deposit is timely if made by the close of the next banking day. Semiweekly depositors additionally receive at least three banking days after the close of a semiweekly period.
- Employee expectations must be managed. Funds availability is a receiving-bank decision. Payroll should publish the shifted pay dates on the annual calendar rather than field the questions on the day.
Note that the Federal Reserve holiday list is not identical to state banking holiday lists or to the NACHA processing calendar for international ACH transactions, so a multi-state or cross-border payroll must reconcile all three calendars once a year when the pay calendar is built.
7. ACH Return Reason Codes & Dispute Workflows
When an RDFI cannot post an ACH entry to a receiver's account, it must generate an ACH Return record back to the ODFI. NACHA defines standard return timeframes and specific alphanumeric return codes.
+-----------------------------------------------------------------------------+
| STANDARD ACH RETURN REASON CODES |
| |
| Code Standard Meaning Common Operational Cause |
| ---- --------------------------- ---------------------------------- |
| R01 Insufficient Funds (NSF) Account lacks available balance |
| R02 Account Closed Employee closed bank account |
| R03 No Account / Unable to Locate Account number not in RDFI database |
| R04 Invalid Account Number Format Check digit failure / invalid length |
| R05 Unauthorized Debit (Consumer) Corporate SEC used for consumer acct |
| R07 Authorization Revoked Employee revoked direct deposit auth |
| R08 Payment Stopped Receiver placed stop payment order |
| R10 Customer Advises Unauthorized Debit not authorized under Reg E |
| R16 Account Frozen / Blocked Legal freeze, levy, or bank block |
| R20 Non-Transaction Account Transfer limits exceeded on MM/Sav |
| R23 Credit Entry Refused Employee refuses direct dep credit |
+-----------------------------------------------------------------------------+
Return Transmission Timeframes
- Standard 2-Banking-Day Window: For standard administrative returns (R01, R02, R03, R04, etc.), the RDFI must transmit the return so that it is available to the ODFI no later than the opening of business on the second banking day following the settlement date of the original entry.
- Extended 60-Calendar-Day Window for Consumer Unauthorized Debits: For unauthorized debit entries to consumer accounts (codes R05, R07, R10), the consumer has up to 60 calendar days from the settlement date to file a Written Statement of Unauthorized Debit (WSUD) with their bank, forcing an immediate chargeback to the Originator.
8. Comprehensive Operational Case Study: Duplicate Payroll Batch Remediation
Operational Scenario:
On Friday, October 10, 2025, Apex Logistics processes a biweekly payroll for 500 employees totaling $1,250,000.00 net pay. Due to a system script error, the payroll specialist inadvertently transmits the identical NACHA file twice through the ODFI. Both files settle on Friday, October 10. As a result, every employee receives double their normal net pay.
+-----------------------------------------------------------------------------+
| DUPLICATE BATCH REMEDIATION TIMELINE |
| |
| Oct 10 (Fri): Duplicate batches settle ($1.25M x 2 = $2.50M debited) |
| Oct 11-12: Weekend (Non-banking days) |
| Oct 13 (Mon): Banking Day 1 - Error detected; Reversal file constructed |
| Company Description set to 'REVERSAL' |
| Employee email and SMS notifications deployed |
| Oct 14 (Tue): Banking Day 2 - Reversal file submitted to ODFI |
| Oct 15 (Wed): Banking Day 3 - Reversal settles at RDFIs |
| Oct 17 (Fri): Banking Day 5 - Final deadline for standard returns |
+-----------------------------------------------------------------------------+
Reversal Financial Reconciliation:
- Total Duplicate Amount Originated: $1,250,000.00 across 500 employee accounts.
- Reversals Successfully Settled: 485 accounts processed successfully = $1,212,500.00.
- Reversals Returned Unsuccessful: 15 accounts returned by RDFIs on October 16–17:
- 10 accounts returned as R01 (Insufficient Funds) = $25,000.00 (employees withdrew cash immediately).
- 3 accounts returned as R02 (Account Closed) = $7,500.00.
- 2 accounts returned as R16 (Account Frozen) = $5,000.00.
- Total Unrecovered Amount via ACH: $37,500.00.
+-----------------------------------------------------------------------------+
| PAYROLL GENERAL LEDGER RECONCILIATION |
| |
| Account Description Debit Credit |
| ------------------------------------------ ------------- -------------|
| 1. Initial Duplicate Disbursement: |
| Direct Deposit Clearing Account $2,500,000.00 |
| Cash (Payroll Bank Account) $2,500,000.00|
| |
| 2. ACH Reversal Settlement ($1.2125M Success): |
| Cash (Payroll Bank Account) $1,212,500.00 |
| Direct Deposit Clearing Account $1,212,500.00|
| |
| 3. Reclassification of Failed Returns ($37.5k): |
| Employee Advance Receivable (Asset) $37,500.00 |
| Direct Deposit Clearing Account $37,500.00 |
| |
| NET DIRECT DEPOSIT CLEARING BALANCE: $1,250,000.00 (True Net) |
+-----------------------------------------------------------------------------+
Follow-up Compliance Action for Unrecovered Advances:
For the 15 employees with unrecovered advances totaling $37,500.00, the employer must:
- Establish a written repayment schedule signed by each employee.
- Verify state wage deduction laws (e.g., California Labor Code § 221 strictly restricts unilateral paycheck deductions for overpayments without explicit written consent, whereas other states permit scheduled recovery).
- Offset subsequent regular payrolls only within state-permitted garnishment and disposable earnings thresholds.
An employer discovers on Tuesday morning that an erroneous payroll direct deposit file was transmitted and settled on the prior Friday. Under NACHA Operating Rules, what is the maximum allowable deadline for the employer to transmit an ACH reversal file to its ODFI?
Which NACHA Standard Entry Class (SEC) code must be utilized when an employer transmits an electronic child support wage garnishment remittance containing an 80-character ANSI ASC X12 820 payment information addenda record to a State Disbursement Unit (SDU)?
An RDFI returns an electronic direct deposit transaction with Return Reason Code R03. What is the specific operational meaning of this code, and what action must the payroll department take?