Skip to the content.
How U.S. Payments Really Work Part 15
How U.S. Payments Really Work Part 15

ACH Cutoffs: The Hidden Clock That Breaks Your UX

Why “send money today” doesn’t always mean it moves today.

Suma Manjunath
Author: Suma Manjunath
Published on: September 17, 2025

ACH Cutoffs

Audience: Payments engineers, fintech product managers
Reading time: 9 minutes
Prerequisites: Basic ACH knowledge, awareness of batch settlement windows
Why now: Same-Day ACH volume is crossing $3T annually, but user frustration remains high due to hidden cutoff times

TL;DR:

⚠️ Disclaimer: All scenarios, accounts, names, and data used in examples are not real. They are realistic scenarios provided only for educational and illustrative purposes.


Problem Definition

The challenge: Users expect “instant” money movement, but ACH cutoffs silently delay payments. Missing a 4:00 PM cutoff can mean workers wait three extra days if a weekend intervenes.

Who faces this: Fintech apps, payroll platforms, and bill pay providers.

Cost of inaction: Lost trust, higher support costs (“Where’s my money?” tickets), and churn to RTP/FedNow competitors.

Why current solutions fail: Banks and BaaS providers hide their cutoff logic, leaving product teams blind.


Solution Implementation

Step 1: Understand ACH Cutoffs

ℹ️ Note: These are transmission deadlines (when files must be sent to the ACH operator), not guaranteed settlement times at the receiving bank. RDFIs may post later depending on their own processing schedules.

Step 2: Implement Cutoff-Aware Logic

// Improved: find the next available cutoff window
// Adds weekend/holiday handling
defaultHolidays = [
  "2025-01-01", // New Year's Day
  "2025-07-04", // Independence Day
  "2025-12-25"  // Christmas Day
];

function isBusinessDay(date) {
  const day = date.getDay();
  const ymd = date.toISOString().slice(0,10);
  return day !== 0 && day !== 6 && !defaultHolidays.includes(ymd);
}

function nextBusinessDay(date) {
  let d = new Date(date);
  do {
    d.setDate(d.getDate() + 1);
  } while (!isBusinessDay(d));
  return d;
}

function canProcessSameDay(amountCents, currentTime, bankCutoffs) {
  if (!isBusinessDay(currentTime)) return false;

  const nextCutoff = bankCutoffs
    .filter(c => currentTime < c)
    .sort((a, b) => a - b)[0];
  if (!nextCutoff) return false;

  // Assume 15 min processing overhead for realism
  const processingTimeMs = 15 * 60 * 1000;
  return currentTime.getTime() + processingTimeMs < nextCutoff.getTime();
}

// Example usage
const bankCutoffs = [
  new Date("2025-09-15T14:30:00-04:00"), // 2:30 PM ET bank cutoff
  new Date("2025-09-15T16:00:00-04:00")  // 4:00 PM ET bank cutoff
];

console.log(canProcessSameDay(12500, new Date("2025-09-15T14:25:00-04:00"), bankCutoffs)); // ✅ true
console.log(canProcessSameDay(12500, new Date("2025-09-13T14:25:00-04:00"), bankCutoffs)); // ❌ false (Saturday)

💡 Tip: Extend the holiday calendar with institution-specific non-processing days.

Step 3: Route to the Best Rail

function routePayment(amountCents, urgency, currentTime, bankCutoffs) {
  if (urgency === 'instant' && hasRTPAccess() && amountCents <= 100000000) { // $1M cap
    return 'RTP';
  } else if (canProcessSameDay(amountCents, currentTime, bankCutoffs)) {
    return 'SAME_DAY_ACH';
  } else {
    return 'NEXT_DAY_ACH';
  }
}

Validation & Monitoring

Test Cases

Metrics to Track

Failure Modes

Warning: Users may interpret “Same-Day ACH” as instant. Always clarify in UX copy.

Troubleshooting


Visual: ACH Cutoffs in Action

flowchart TD
  A["User Initiates Payment (e.g., Payroll, Rent)"] --> B["Bank Internal Cutoff (e.g., 4:00 PM ET)"]
  B -->|Before Cutoff| C["FedACH Transmission Window (e.g., 4:45 PM ET)"]
  B -->|After Cutoff| D["Next Business Day Transmission"]
  C --> E["Same-Day Settlement (Funds Available by RDFI Posting)"]
  D --> F["Funds Posted on Next Business Day"]

ACH Cutoffs Diagram


Takeaways & Next Steps

Next Steps for Engineers:

  1. Audit your provider’s cutoff policies and which FedACH windows they actually use.
  2. Implement cutoff-aware routing in your payment service.
  3. Add proactive UX messaging tied to cutoff windows and settlement delays.

Acronyms and Terms


References

  1. NACHA ACH Volume Stats - NACHA ACH Volume Statistics, 2024
  2. Fed Payments Study - Federal Reserve Payments Study Highlights, 2024
  3. NACHA Same-Day ACH - Same-Day ACH Resource Center, 2024
  4. FedACH Services - Federal Reserve ACH Processing Windows, 2024
  5. EPN Rules - The Clearing House EPN ACH Rules and Schedules, 2024
  6. Expensify/Mastercard Insights - ACH and Payments Insights, 2025
  7. ABA Banking Journal - ACH and RTP Value Growth, 2024

Comments & Discussion

Share your thoughts, ask questions, or start a discussion about this article.