shams.dev
Back to blog

Anatomy of an ACH Payment: How Your Paycheck Actually Gets to You

5 min read·Shams K

In the last post we read a wire message line by line, like reading a shipping label. Wires are great for one big, urgent payment. But most of the money moving around day to day, your paycheck, your rent, your phone bill, doesn't move that way. It moves through ACH, and this time we're opening that one up.

A different kind of delivery

If a wire is like a courier handing over one package, ACH is like a mail truck making one big pickup of thousands of letters at once and sorting them overnight. It's cheaper and works great at scale, but it takes a little longer and the letters travel as a batch, not one at a time.

Real world example: your employer doesn't send you a separate wire every payday. Instead, they (or their payroll provider) bundle up every employee's paycheck into one file and hand it to their bank at the end of the day. That one file might contain your paycheck along with five hundred of your coworkers'. The bank sorts it out overnight, and by morning, everyone's account is credited.

What's actually inside the file

An ACH file is basically a big envelope full of smaller envelopes. Here's how it's nested:

Loading diagram...

In plain terms:

  • The file is the whole batch, everything your employer's bank submits that day.
  • A batch is a group of related payments, like "all of today's payroll."
  • An entry is one single payment, your $2,000 paycheck, for example.
  • The totals at the end are like a receipt that says "we're sending exactly 500 payments totaling $1,240,000," so the bank can double check nothing got dropped or duplicated along the way.

The "type of payment" label

Every entry gets tagged with a short code that tells the receiving bank what kind of payment it is. Think of it like the difference between a "gift" box and a "fragile, handle with care" box, it changes how it's treated:

CodePlain English meaningEveryday example
PPDA payment to or from a regular personPayroll, tax refunds
CCDA payment between two businessesA company paying a supplier
CTXA business payment with a lot of extra paperwork attachedAn invoice payment with details for the accounting team
WEBA payment you set up onlinePaying a bill through a website, or a subscription charge

Push or pull, credit or debit

A wire only ever pushes money to someone. ACH can do both:

  • A credit pushes money to you, like your paycheck landing in your account.
  • A debit pulls money from you, like your gym membership or Netflix charging your card automatically every month.

That pull ability is what makes autopay possible. It's also why ACH needs a safety net that wires don't: if a company debits your account by mistake, or without your permission, there's a window (usually a couple of business days) where that transaction can be reversed. A wire, once sent, is basically final. ACH gives everyone a little bit of a safety cushion.

A real world example, from click to cash

Let's say you sign up for a $15 a month streaming service and pay by connecting your bank account instead of a card. Here's what happens behind the scenes:

Loading diagram...

No one sent a single, individual message the moment you clicked "subscribe." Your $15 charge just became one line in a much bigger file that got sorted and delivered like everything else that night.

Wire vs. ACH, side by side, one more time

WireACH
How it travelsOne payment at a timeBundled with thousands of others
SpeedSame day, often minutesUsually next business day
CostExpensiveCheap, often free
Can pull moneyNoYes
Can be reversedAlmost neverYes, within a short window
Everyday exampleBuying a house abroadPayroll, rent, subscriptions

What's next

We've now opened up both a wire and an ACH payment. Next in the series: real time payments, the newer rails (like FedNow and RTP) built to give ACH-style, everyday payments the same instant speed as a wire, without the wire price tag. We'll look at what changes when "next business day" becomes "next few seconds."