Hacker News new | past | comments | ask | show | jobs | submit login
What Happens When You ACH a Dead Person? (moderntreasury.com)
254 points by saarons 23 days ago | hide | past | web | favorite | 217 comments

This reminds me of a question I've had for the longest time (+): why is it that in the US wiring money between accounts is so expensive or difficult? Whole ecosystems of companies have sprung up (PayPal and Stripe come to mind, and apps such as TransferWise) to reduce the friction when the banks could easily set up a way cheaper system that would actually be better (privacy etc.) for the consumer. The EU seems to be much better at this .. ?

(+) Partial answer found here, but not satisfying https://money.stackexchange.com/questions/27474/why-are-wire...

CTO of Modern Treasury here. Banks are actually starting to setup a new payment system between themselves called Real-Time Payments (RTP) which has a lot of the same benefits as wire transfers. RTP is 24/7, instant, and (from our experience) much cheaper than wire transfers. It's starting to roll-out across more banks and currently ~50% of bank accounts can receive RTP transfers [1]. I just cashed out on Venmo the other day and their instant transfers are going over the RTP system. Other than coverage not being complete, one of the main downsides is the $25,000 cap which means that for higher dollar volumes people will likely choose a wire. If you're sending $1mil, then the $35 wire fee doesn't seem like so much in comparison.

[1] https://www.theclearinghouse.org/payment-systems/rtp/institu...

Thank you for the RTP information! Had not heard of it yet. The fees look very reasonable ($0.01-$0.045 depending on type of transaction) and they provide a level playing field (flat-fee, no discounts for volume)

I also heard someone say at some point that Americans are very wary of having people transfer money to their bank account. Not sure what the rationale is (maybe taxes or afraid of criminal money?) but I was wondering if you have heard this and if so, whether RTP has some protections or safeguards against this?

Historically Americans have been wary of handing out their bank account information because that's all the information needed for a bad actor to issue an ACH debit and pull money from your account. The NACHA guidelines have very strict rules around this and the payment protections are rather strong but it's still a pain to deal with as a consumer. RTP itself is non-reversible so when someone sends you an RTP payment it clears instantly and can never be pulled back as it can with Check and ACH payments.

You hand out your bank account information every time you give somebody a check

And indeed that's one reason (of many) I don't like to write checks. But I'd still argue that the threat model from giving a physical check to someone you know or do business with is different from linking your bank account with some online service like Venmo, where any mass breach or vulnerability might result in a wide array of people now having access to my banking information. And even if my bank covers me in the case of fraud, they don't compensate me for the domino effect problems that can come from having bill payments bounce because the account was emptied.

To be clear I'm not arguing that this is a good system, but as long as it is the system we have, it's wise to limit who you give your banking account information to, regardless of channel.

This is exactly why Donald Knuth doesn't give out checks


Many banks have different values for the check MICR account numbers vs ACH routing purely to avoid easily spoofed ACH requests.

my bank prints out paper checks but they seem to xfer the money through another company. money leaves my bank account, but the checks, when delivered, have a completely different routing and account number. doesn't matter to me, but I had a paper check payment I needed to return and the local branch couldn't help me at all - the floor guy there couldn't even understand my situation. there was an 800 number on the check to call and I explained and they cancelled that check.

> I also heard someone say at some point that Americans are very wary of having people transfer money to their bank account.

All it takes to extract money from my bank account is the routing and account numbers. Print a fake check with that info, take a couple crappy photos with one of those mobile deposit apps, and boom my money is gone. This happened to me just a couple years ago. The signature on the check was literally "John Hancock." Perhaps things have improved in the past couple years, but I doubt it.

As for replacement programs, I trust banks no further than I can throw them. You want me to sign up for Zelle, or whatever new money transfer program is? What's the catch? No way I'm trusting any program introduced by a bank.

You can't transfer money between banks in US Dollars within the US for free?

We really are blessed with SEPA¹.

Still, a few cents sounds at least reasonable.

1: https://en.wikipedia.org/wiki/Single_Euro_Payments_Area

Most times, the financial institution will eat the ACH fee, so to the customer it looks like it's free.

SEPA also doesn't mean that the transactions are free, either. According to a third party transfer service (https://transferwise.com/help/15/paying-for-your-transfer/29...) there might still be some fees from banks.

If you do commercial SEPA Transfers, yes there are fees. If you only do push transactions (ie, customers sends SEPA transaction to you), it's largely account management fees.

The pull transaction (SEPA Debit) isn't free, you can buy transaction packets (usually around 5-15€ per 1000 transactions) as well as paying a fee on monthly cash inflow (usually around 0.1-0.3%). Honestly, it's peanuts.

Naturally the UK banks found a way to charge consumers for SEPA payments.

SEPA can be free for customer but participating banks and payment institutions pay per transaction.

I had this random thought, I wonder if it holds water:

The EU states are (fairly) confident in their status as independent countries, and thus dare subject themselves to and implement such things as SEPA.

While the U.S. is a single country, the states within are not independent countries and, very aware of that, try to defend their independence within the union at every turn.

I'm not sure it's the independence being defended so much as local grift of one form or another.

There's same day ACH, but I have no idea how widespread it is yet:


Anecdotally, I recently moved my banking to a discount broker and my paycheck is now credited to my account the night before. I don't know if that has anything to do with same-day ACH.

Also anecdotally, Ally takes 5 business days (!) to open a CD via ACH even for an already verified bank. Definitely faster to have a checking/savings account with them, wire in the funds, then open the CD from checking/savings which is instant.

Businesses use ACH extensively to pay each other same-day (and debit consumer bank accounts). But it has never caught on for consumer "push" payments.

One reason why ACH is tricky with consumer accounts is that there are LOOOONG reversal windows (~30 days) whereas the business transfers ("Corporate Credit and Debit") are final in 24-48 hours.

That means for consumer accounts there's a ton more risk of things going sideways well after the money has moved on.

(Source: possibly outdated circa 2011 NACHA rules and transaction types)

Is pull a totally different process? I’ve noticed for pull you have to authenticate the account (usually) with the “verify the two small deposits” dance while push will sometimes let you skip that.

In fact, I just called Citi earlier today because I’d closed a CC with them and had a credit. The CS rep asked for my routing and acct number and without even verifying it with me immediately said “you’ll see the credit in a couple days.” I asked her to verify the account number and she said “I’m sorry but the number is no longer visible to me but rest assured I sent it to the correct account.” So if those funds went somewhere else I suppose I’ll never see them?

I was also able to establish the ability to wire from my discount broker today to another checking account I have without performing any verification of the destination beyond providing the routing/acct number.

I have a feeling I actually don’t want to know how this all works...

If you don’t get the money you’ll call up Citibank again to complain and they’ll take the hit to their operational losses budget [0], which happens infrequently as a percentage of transactions but quite frequently over the totality of the system. That’s what the budget is for.

[0] Contingent on the transaction going through and not being reversible, which can happen for many reasons (staleness by the time you report it, disinclination of someone who enjoys Monopoly to repay Bank Error In Your Favor, CS staff not having a button that reverses the transaction, Citi’s ops team [1] considering it beneath their notice, etc.)

[1] I oddly enough know the name of their SVP in charge of this team because Citi escheated a check due to me to the state of Illinois back in 200X. Illinois told me they had insufficient information to determine that I’m the same Patrick McKenzie so they want said SVP to file a report on my behalf. I assess 80%+ likelihood that they’ll comply. This is boring inside baseball mostly meant to underline the fact that BigBank actually does have people with names and addresses who deal individually with transactions according to some fairly involved business processes.

> If you don’t get the money you’ll call up Citibank again to complain

I hope not. You can't imagine how annoying it is to get them on the phone. Well actually, you of all people probably know exactly how annoying it is. But I'll recap it anyway. First, when you login to the web site to access your closed account to check the statement, the 1-800 number displayed is for card activation only. Go to main web site, dig up correct number. None of the usual tricks (wait in silence, try 0, try 9, ask for an operator, ask for customer service) will bypass they infernal voice response system. Even "close account" is automated now. I guess they don't care about retention.

While I'm griping, the account has been closed for more than 90 days. Are they required at any point to send me a check?

Are they required at any point to send me a check?

They're required to do what they promised to do in your Deposit Account Agreement and/or are required to do by state law. In some states if you take no action to recover it they will be required to "escheat" the money to the safekeeping of the state treasurer to await your eventual claim for it.

For the better since ACH is woefully insecure.

Tbh there isn't much security in SEPA either. The only reason SEPA Debit Fraud is rare is because A) it requires you having a bank account with a verified address and business registration and B) the bank is liable if the vendor goes fraudstering. The bank gets the money from the fraudster or they loose it.

You can also easily block or reverse transfers either in general or for specific merchants including down to blocking only weekly payments under 50€ from vendor X if you want to be really specific.

Secure enough to process $50 trillion in 2018.

> Secure enough to process $50 trillion in 2018.

How is that any indication of its security?

It is an existence proof that the security is good enough to get the job done and keep losses to an acceptable level. If it was truly "woeful" enough to actually matter then an alternative with better security would have displaced it by now.

This is overly simplistic and assumes an open market witn no barrier to entry for competitors, which is not the case.

It’s like saying the people of North Korea believe their government is good enough to get the job done, otherwise KJU would have been displaced by now.

It is a high indication of many people considering it secure enough (for their respective business case)

If I produced applications with that level of security, i would be unemployed.

> my paycheck is now credited to my account the night before

Some "nice" banks always do this, like USAA.

Sad part that I've seen... worked on an implementation of Visa push payments at a TPA/ISO (I think it was formally called something else by Visa [Visa Direct?]) - it was designed as a real time payment system to make small payments to vendors or contractors. In order to settle everything at the end of the day, we were using ACH and wires behind the scenes to re-balance the source accounts. It was really comical IMO . I know progress has to start somewhere but it just felt like we were adding layers of complexity.

Is this the same thing as Zelle?

I don't think Zelle is real time. I'm curious if it's the same working group for RTP that was behind Zelle.

Zelle is roughly real time.

It is owned by the same company doing RTP.

Not correct . RTP is from theclearinghouse and Zelle is from clearexchange. Zelle came from a mix of banks trying to address only P2P scenarios. RTP goes beyond to B2C and all other combinations .

Zelle is owned by Early Warning Systems, a wholely owned subsidiary of the top 7 banks in the US. The Clearing House is a joint venture by the top 25 banks in the US.

Clearexchange was purchased by EWS a few years ago.

The times I’ve used Zelle to send money, it has been real-time.

Once I've sent money to someone a few times it's typically instant, but it isn't always.

it is not

> main downsides is the $25,000 cap

I suppose this isn't inflation indexed, so RTP will become increasingly useless over time? -- halving in 35 years per fed plans and much sooner under monetary policy twitter-proposed by the president?

We've heard (unofficially) the cap will be raised over time.

$35! No wonder everyone pays with credit cards and cheques...

If I wanted to use RTP for my business- do any third-party processors offer it already?

Paypal (and subsequently Venmo) offers it. I've "instant transfered" money from eBay sales right to my account. They do charge a 1% fee (up to $25) versus zero fees for classic ACH transfer. If I need the money right away, I'll pay the 1% but I usually can wait the couple days.

Yup. Just transferred $2K from my PayPal account (ebay sales) to my checking account. Slight clarification: PayPal caps the transfer fees at $10.

Folks do realize that paying 1% to speed up a transfer by 1-2 days is equivalent to a 180%-365% interest loan?

In many cases they’ll be paying 1% of e.g. $40 either to avoid having to think about this any more or because they have extremely toothy consequences to not having the cash today. e.g. The implicit interest rate on an NSF fee if they don’t fund the $10 overdraft currently happening on their checking account due to the rent check being deposited, which they have 3 hours to cover before the cutoff, is on the order of 3.8e200%. ($35 interest to borrow $10 for a day.)

My sense is that's the vast minority.

I think most of the % fee-based "instant withdrawals" are done without understanding the effective APR. "It's only 1%!"

Venmo used to have a flat fee of $0.25 then they changed it to 1%. I'm guessing for most people, it would never be a problem since most people are usually only sending small amounts to eachother on Venmo (paying someone back for lunch or splitting utilities) but now Paypal gets a larger cut of people doing instant transfer of things like rent payments.

I love when folks over-analyze stuff like this.

I had $2K in my Paypal account. I had about $1200 in my primary checking account. And another few Gs in savings.

I needed to pay a $2700 expense. I could have transfered from the savings, but you are restricted to the number of times per year you can do that, without penalty.

TLDR: I have no problem sacrificing $10 to get immediate access to another $2K in cash, with the thought co-resident in my mind that I do not want to incur any potential savings -> checking with-drawl penalties.

The APR in this case is meaningless to me completely. $10 for low latency access to my cash is a small price to pay, versus waiting a day or longer for slower (free) transfer methods to complete.

The only problem with trusting PayPal is you can't trust PayPal.

On the bank side, one of the main providers offering RTP payments to businesses right now is JPMorgan Chase. If you have a commercial account with them, you can originate RTP payments.

Does RTP bypass Fedwire?

Yes and no. Banks reconcile funds via Fedwire.

Snarky answer - there's no real motivation to change it and from an institutional perspective it's not broken.

- it costs a lot to fix or redesign a money system moving billions of dollars in volume per day

- change is risky

- any impacts on reliability would be unacceptable and have significant economic impact [both direct and indirect]

- stakeholders that fully understand the existing system and have the knowledge to redesign it are part of that system and benefit from it

- as an insider, it's hard not to make money within the system

- it's a closed ecosystem - access to the system is controlled by the established players (like Wells Fargo, BoA, Visa, Mastercard, etc.) and they will revoke access if you threaten their position.

- Insiders are making so much money at this game that end consumers have little leverage at this scale.

Paypal, stripe, venmo, zelle, square, name-your-favorite-fintech-start-up are all working within the existing system by exposing easy to use integrations and interfaces. They aren't really fixing anything, just wrapping it up, putting a bow on it and making a handful of basis points on your transactions.

The RTP system is a chance to fix it but I suspect it will take years for that to replace the existing systems. I've heard it discussed as an additional feature not a replacement.

[I know HN likes proof but any real numbers I can't disclosed due to NDAs. I'm basing my opinion on the margins I saw and heard referenced while working at a smaller financial institution]

The biggest reason is that fast money is almost never needed, and usually indicative of a problem.

Yeah, the only good use cases I heard for wanting real time payments had to do with businesses not wanting to keep cash reserves on site at all times. The two I recall were

(1) in businesses that have variable payment demand (think scrap yards that buy scrap material from anyone that walks up) and they currently handle this by keeping large amounts of cash on site in a safe

(2) some states where when a hourly employee is terminated, due to regulations it's easiest to pay them out for hours worked on the spot and this is currently usually handled in cash that's kept in a safe on site

I might be forgetting some details on the whys but it seemed like they wanted a way to avoid having to secure cash funds.

Moving from Australia to Canada/US felt like going back in time 20 years when it came to banking.

Even ten years ago in Australia I could do more with my online banking than I can today in North America.

Checks are for what now?

Moving from Norway back to Australia felt like going back in time 20 years when it came to banking! In Norway I'd get a new bill and enter the code into my banking and it would offer me an option to "automatically approve up to X per month for this vendor".

Automatically approved bills didn't get auto paid - but they appeared in the "upcoming bills" when issued, with a pay date of the due date on the bill. I could go an hit "pause" or "stop" on any bill - and it either wouldn't pay or would be removed entirely. Anything that wasn't auto-approved would start in paused mode and I'd have to manually approve it - but that was a single click.

Still, I agree that when I'm in the states it feels crazy old tech. They still require signatures on credit cards!

BPay gets you close with that. Had that for years and years at this point.

Now we have Osko and PayID which is immediate free payments without needing to remember bank account details. It’s neat!

Yeah, PayID is pretty cool.

I was doing that 10 years ago in Australia with BPay...

Checks are for what now?

For me this week: Paid for a city license, paid the cat sitter, paid for a small magazine subscription, made a charitable donation, and paid the rent.

The cat sitter and the charity were check only. No other option. The magazine has a PayPal option, but I don't trust PayPal. The city license could have been done with a card online, but I'm not interested in setting up yet another account with yet another third party to mishandle my information. Paying the rent by check is free, but paying with a credit card is a $74 fee. And this is with a very large company that almost everyone knows.

People do abandon checks when possible. But for the most part it's the businesses that put up barriers. Or, in my case, a lack of trust, which has caused me to use checks more. I like the paper trail. I check my bank statement every month and at least once a year there is an error.

I am coming around somewhat on the trust thing. If I can use a virtual credit card number, I will. But not if I have to make yet another account with yet another password and yet more gathering of information that is nobody's business.

Edit: I forgot that I also had to send a check to a county recorder out if state to file some legal documents. But that was a cashier's check, not a bank draft. Still, the only form of payment accepted by that county government is cash if you live there, or a cashier's check if you're out of state.

Also, my accountant only takes cash and checks. I consider it a virtue since it indicates that she watches every penny. But I didn't put that payment in the list because it was a couple of months ago.

When your life is simple, banking is simple. As you get older and your life becomes more complicated, banking gets more complacated.

What I don't really get is why American payment systems insist on including some way to pull money out of an account, which therefore requires massive amounts of trust.

The way the European system works is that there is one possible operation; the owner of an account can move money from their account to any other account.

If you want me to pay you rent, you provide me with a standard format bill, which includes your account number, the amount, the date to pay by, and an optional reference number (for use of the recipient to tell what I was paying for). To pay, I input those into my banking app (or more likely, read the barcode on the bill with my phone), verify that everything is correct, and press a button to transfer funds.

The point is, I don't have to trust you to do any of the banking right. I have paper trail from you in form of the bill you provided (which confirms that the numbers I used are correct), and from my bank that the transfer was initiated on a given day at a given time. There cannot be any error that I didn't make.

> The way the European system works is that there is one possible operation; the owner of an account can move money from their account to any other account.

This isn't true at all. The direct debit system allows any participant to withdraw money from your account, providing just your account number and a claim that you authorised them to do that. You never have to directly tell the bank anything, and in many cases you can't even opt out of the process or deny access to an individual withdrawer through the bank.

The banks are meant to limit access to the direct debit program to companies they trust, and cut off access to bad actors, and make whole customers who were debited in error or by fraud. How enthusiastically they do this depends on the bank and the local regulator.

Not sure where you're from, but here direct debit requires setting up "direct debit agreement" by the owner of the account, that specifies account number the debit comes from, how often and maximum amount.

So you setup something like "account 123 can debit up to 100 EUR monthly" and the bank enforces that.

You're required an ID card (in most country in europe, a digital id) to prove your are the owner of the bank account and in case of a procuration, you still have to prove you id and you need the procuration itself which contains reference of id card of the account owner and other details.

You could theorically withdraw money from an account by faking the procuration, providing you know the id details of the account owner, but you are still required to present your id card which contains a digital photo of you to prove you are who you pretent to be.

Fake id are maybe common in the us thanks to your broken SSN system but in europe, digital id cards are centralised from the moment you're registered as human being at your birth and banks have access to that system when they check your id.

Any attempts to withdraw money from your account leave a trace, and in case of fraud, you would be quickly with the cops on your trail.

Don't generalize all of Europe (or the European Economic Area) unless you are confident that you are correct.

The UK and Denmark don't have identity cards. At least in those countries, there is occasional fraud. The banks will fix it (at least in the case you describe), but it can happen.

> For me this week: Paid for a city license, paid the cat sitter, paid for a small magazine subscription, made a charitable donation, and paid the rent.

Even ten years ago in Australia all of that was done through internet banking, and if I wanted to I could set it up to pay those automatically when the next bill came in (or not, it's up to me).

I've never written a check in my life (I'm 37), and whenever I get one I laugh and am shocked people still use them.

I know. In America, it's such a bloody nightmare with the cheques everywhere. This should obviously be first-class supported by banks. If I could just set up direct debit that would be so much better. It would all show up on one screen, I could see what this months aggregate direct debits are, what they are to each account. You could even just use the 'Transfer Money' functionality to one-time things if you don't want to give repeat access.

And to top it all off, the American bank cheque system is so insecure.

Yeah, it's hard to secure a system where paying someone involves giving them your name, address, bank account and routing number, and signature.

In Australia, all of those could be simply done with an online bank transfer instead of a cheque.

Functionally it's the same thing, except that instead of writing on a piece of paper that you're giving the bank authority to withdraw your funds, you're doing it online. It takes less time, it's more reliable, and you get even better record keeping, as you can enter notes when you make the transfer.

I have not written a check in over 10 years. I do, however, use my bank's online bill pay system. When I was a renter I used this to pay. I don't have to touch any paper, or stamps.

Yup, the online bill payment ends up sending a check anyways, but saves me having to find a stamp and envelope.

I envy you. I'm trying to get back to a simple life, but it's hard. Some day.

I started renting a studio a couple months back. They gave the option to pay with a paper check or with a credit/debit card online. Online transaction came with a $20/statement "convenience fee". Meanwhile a mailed paper check is $0.50 including postage. Paper check it is.

I never understood this logic. We’ll hand process your check for free, but if you want to use this website we set up, it’ll be a $20 “convenience fee.” I get passing the debit/credit fee onto the consumer, but it’s there even when I were to choose ACH.

Probably because the party doing the ACH is a third party agent/ISO but the checks are probably cashed directly by the management company. The thing that your management company probably wont tell you is they get some kick back on the profits from those fees you're being charged. So not only do they get your rent money but they also make money on you using electronic payments.

I'm 40 years old in Australia and I have never had to use a cheque in my entire life.

Canada has Interac E-transfer which is convenient and free depending on which bank you bank with. I pay my rent with it for example.

I use checks to pay vendors I don’t like, like the for-profit power utility my building forces me to use.

I have stamps to use up, and it costs them probably $7-$10 to handle it.

There is no way depositing a check costs $7 to $10 for any decent size business as they’re already probably handling checks. If anything, a check payment is cheaper as it’s more secure for the recipient in case of a dispute.

Someone has to open it. Someone has to key it into a billing system. Someone has to scan it. Someone has to archive it. Some process needs to occur to verify that the payment indeed went through.

I doubt their remote deposit app is any less clunky than the consumer one they give me. If it’s better, they’re paying for it.

Someone needs to manage those people. And they need space to do their work.

I could see it taking 15 minutes in total labour costs.

It's entirely possible that all of those someones are outsourced. If they're using a lockbox service[1], the entire cost of processing your mailed check can come out to less than $1 (substantially less with sufficient volume). And at the same time, many lockbox services will expose your data to offshore contractors doing the manual components.

[1] https://en.wikipedia.org/wiki/Lock_box

Those people likely do many other tasks. Removing checks from the equation would not eliminate their jobs.

I use checks all the time actually. Every other form of payment online is “pull”, I only want to “push” my funds to external people.

That's not actually correct. By giving an external person a check, you give them the ABILITY to PULL funds from you. It looks like a push, but it's actually not.


Knuth had to quit giving out real checks (which nobody actually ever cashed, anyway) for exactly this reason.

They probably meant a fire-and-forget method to pay untrusted parties without giving them the ability to charge more than agreed.

Chargebacks are a thing, but they require constant vigilance and the occasional bureaucratic task.

Checks have substantially less security there. Not more - and even if/when it gets fixed the money comes out immediately.

More importantly you're giving them the authorization.

Everyone already has the basic ability to pull funds from arbitrary checking accounts. heh.

That’s what wire transfers are for in EU. Same day/instant, either free or with a flat fee of $0.25-0.5.

In Poland if you’re going out with friends and someone paid for you bc you forgot a card, you just wire them money from your phone.

For my whole adult life (36 yo) I only used and saw an actual check once. Wire transfers since I can remember.

Since a few years ago, you were also able to use the BLIK system to transfer money instantly for free between most banks, by only knowing the recipient's phone number. To be fair I can't imagine anything more convenient.

In NL we have "Tikkie", where you just have to give them a link, whether it's by whatsapp, email, IRC, whatever. Sounds slightly more convenient as it's not based around a phone number (but can be if that's what you have :)

> Every other form of payment online is “pull”, […]

Wat? When I transfer money to another account via my bank's ebanking app that is very much "push". The transfer is executed either immediately or at the end of the business day. Nobody is pulling anything.

I assume you live in the EU (or somewhere else outside the US), where it is the most natural thing to just send money from your account to another one.

This simply isn't a thing in the US, as I discovered when moving to there for a time. They use third-party apps, cheques, and wire transfers (which are expensive and seem to work via ACH, a pull type system). It's simply not possible to go into your ebanking app and transfer money to someone elses account. (With very restrictive exceptions, e.g. same bank, or maybe the bank has integrated a third party service...)

As inconceivable as the American system is in the beginning for somebody coming from the EU, I guess for many people from the US it's similarly non-obvious that a push system can (and does) exist somewhere else.

But why? It just doesn't make sense to not have a push system. I, honestly, don't get it.

Lived in the USA all my life, have always wanted to have direct transfer as you describe.

> Every other form of payment online is “pull"

Sorry, but if I transfer funds to a friend from my banking app, how is that "pull"? If I send you money with PayPal, that's not "pull". If we settle our debt using e.g. TransferWise, that's not "pull"..? I don't get your point. There are plenty of "push" methods.

If PayPal decided to charge you a $10 per month for “maintenance costs”, how would you stop them from doing so?

Well, if they're not authorised, dispute it with the bank?


Can you pay your electric bill with those?

Yes, I pay all my bills by bank transfer (house, electric, internet, settlements with friends etc). It's the most common payment method here (I'm in Europe).

PayPal et al are barely used here because the bank transfer system is free and frictionless.

I'm guessing, but I think most people probably give the electric company permission to pull the money from their account (direct debit) rather than reviewing the bill and "pushing" the money every time.

There are very strong guarantees in the individual's favour if the company makes a mistake.

Although, you need your bank to actually fulfil the guarantee, depending on how terrible your bank's customer service is, this may be a lot of trouble.

I've actually done this (use the DD Guarantee to unwind bill payments I didn't want paid) with my good bank and it was a pleasure, no trouble at all. But I can imagine that a bank with bad customer service is going to make it a nightmare that will suck up hours of your life.

I doubt it, they might lose their banking license over it.

SEPA direct debits allows for R-transactions to unwind a collection up to 13 months after execution, no questions asked, it’s wild.

Yes, having them control the amount and timing of the transfer is exactly what I am trying to avoid. I can easily set up direct debit, but it has led to too many erroneous and poorly timed withdrawals.

In Sweden we have an e-billing system where your bills show up as PDFs in your internet bank and then you hit accept or deny (and they go in a queue to pay on either the due date or a date you pick). You can also set it to auto-accept new bills from the same company if you want to emulate how direct debit works (with the added benefit of having a period of time between the bill coming in and the due date to verify the amount is right)

If you want to stick to paper bills, they all have the receiving account number and customer reference number so they can be paid manually via a transfer.

In the Netherlands, we had that for some time but sadly it didn't catch on with the utility companies, housing associations, insurers etc., and has been discontinued. I would love such a central place to manage my bills and pay them on my own time instead of using direct debit which most of them nudge us to use now by introducing costs for other payment methods.

In the UK, larger companies usually allowed a choice of the date the payment went out. (After all, they'd rather not deal with failed payments.)

I keep enough money in my accounts (partly because of this) that I don't really care about it, but I'd be surprised if they don't use the preferred date.

So the electric company gives you their account number to use?

Yes, as an example here's a major British energy company:

> Our bank details are: > Bank account number - 99183129 > Sort code - 57-40-99


This company is easily large enough that their bank details are already listed in online banking systems. You can choose "Pay a bill", then select "Southern Energy" rather than type in those account details.

Actually, several of my bills work that way, but the bank hides the details.

Yes, you can. However, since the last few years, the electricity company has started to charge something (about € 1,50 per month I think) for that. (Netherlands)

Nope, "online push" is ubiquitous in civilized countries.

Don't get me started on filing taxes!

The numbers at the bottom of the check are all that someone needs to initiate an ACH transfer out of your account!

I think the point here is that the various bills I have to pay don't give me their bank account number, but they ask for me to give them our account information so they can automatically subtract whatever amount. If they would give me their account numbers, I would gladly send them funds. Instead, I use my bank's online bill pay to generate a check for them.

>I use my bank's online bill pay to generate a check

which has your account information on it

(I do the same thing, though.)

I am not so much worried about the fraud aspect, as I am explicitly giving them permission to take amounts of their determination from my account without my explicit agreement to the amount of each transaction and on their schedule.

i've never used a check in my entire life. when i need to pay someone i just do an online transfer.

Sorry if I'm out-of-date, but how do checks work online?

Like, to pay for something remotely? I’ve emailed a picture of the check to sellers who refuse to use PayPal and then they use their bank’s online deposit system to drop it into their account (a couple of times for second-hand board games).

Thanks for the reply. But, that sounded very unsecure. What happens if a third party cashes it first, you say you didn't share the picture, the merchant says they didn't share the picture?

You’re stuffed, you’re supposed to only exchange the physical instrument so you’d be liable for fraud.

A partial answer is also the US's approach to banking regulation. First off, the US prioritizes having many small community banks. The US has 4,909 banks, while Japan has 198. This necessarily makes setting up inter-operation between banks more complicated.

Second, US banks are regulated on both a Federal and State level. A system that works for a bunch of banks in California may not be viable for interoperation with banks in, say, Georgia.

In short, US banks cannot easily set up a way cheaper system with the vast number of banking partners they'd need to coordinate with and the large amount of regulatory systems to navigate.

> The US has 4,909 banks ... This necessarily makes setting up inter-operation between banks more complicated.

The EU has 6,250 banks though. Each with different countries. With 28 different languages, cultures and governments, with far more differences than the states in the USA.

You're really arguing that it's harder to unify that in the homogeneous USA than it is in Europe? Come now.

And FYI: they all "talk" SEPA. You can wire money anywhere in europe (+ switzerland and some other countries) overnight for next to nothing (<1 USD).

...as long as it's in euro. In other currencies, you may get lucky, you may not. I recently got charged € 6 for a payment from euro to zloty.

> This necessarily makes setting up inter-operation between banks more complicated.

Technically this is true but the clearing houses were set up a long time ago to solve this problem and they work fine

I like community banks. They don't fuck you in the ass like big banks.

Even better is for a community to _own_ a bank.

In the UK there are Building Societies. Originally the concept went only like this: If a thousand workers in a town pool their savings to form a mutual Building Society it can use that money to loan someone (one of their number or somebody else) money to build a house. The new house owner's payments on the loan provide good interest on the savings and a profit the society can use to expand, as savings and loan payments roll in they can loan more money for another house and so on, eventually everybody gets a house and rich bankers get nothing because the society's savers and borrowers are also its owners. The first ones were Limited Building Societies, they ceased to exist after a period of time having served their purpose - providing loans within a geographically constrained community, but the Permanent Building Societies grew, and eventually came to dominate mortgage lending as an industry in the UK.

Towards the end of last century unfortunately there were what the press called "Carpetbaggers". The carpetbaggers realised that a Permanent Building Society has a considerable cash reserve because it needs to be able to survive a "bank run" and its main assets are other people's homes which aren't liquid enough to cash out if a run happens. Their plan was, join the society and then vote as members to convert the society into a limited company, an ordinary bank - effectively cashing out. This worked on a number of famous Permanent Building Societies, including the one that had loaned money for the house I was growing up in at the time. I voted against, my parents (whose mortgage it was) voted in favour, and their side won, the society no longer exists. Some societies instituted "anti-carpetbagger" rules to try to prevent it, challenged demutualisation in the courts, or just plain voted against - those are still successful today, while the ones that turned into ordinary banks were mostly ruined in the recession (e.g. Northern Rock)

Building Societies sound like credit unions.

Edit: I also nearly witnessed a "carpetbagger" situation at a local credit union (where leadership wanted to become a bank/corporation), which was voted down.

Yes, the credit union is very similar in practice, although there are numerous technical differences. The most obvious practical difference was that originally Building Societies were oriented around this idea particularly of loans for members to buy homes, a worthy goal that is also conveniently economically sound. Credit unions are broader in scope from the outset.

It was perhaps more obvious (especially for the Limited Building Societies) that they've achieved something good if now everybody owns a home, whereas if now everybody has a savings account with the credit union, er... is that better? Maybe?

Why would anyone vote to convert? What's the benefit?

As a member of the society you "own" it but you can't sell that to anybody. Demutualising creates a new public company with shares, which naturally go to those owners. The shares in a public company can be sold. The exact rules for how shares are divided among members would have been in the terms of the proposed demutualisation.

I can probably look it up but I received a not inconsiderable sum of money for my shares when I sold them many years later. I presume my parents sold and spent the money very soon after the plan went through. All members received shares (it would be obviously inequitable to propose that only those voting for the deal get shares if the vote passes, I'm not sure if that would be straight up illegal, but it would clearly be immoral).

This could be changing with FedNow https://www.federalreserve.gov/newsevents/pressreleases/othe...

You may want to read the findings of the Faster Payments Task Force (FPTF) https://fasterpaymentstaskforce.org/

Zelle[1] is a fairly recent solution to that problem.

Free and nearly instant email address based transfers directly through your bank account without having to sign up for anything extra. I've done a bunch of transfers with it and it's been solid.

It's about as easy as you can get and most US banks support it.

[1]: https://www.zellepay.com/

Double edged sword IMO. If you use Zelle and off a digit in a phone number or email you are out of luck. No way to recover funds once sent.

If you send it to an email address that doesn't exist, does the transfer go through? If so who ends up with the money?

It's been a while since I sent funds to a new address but I am pretty sure my bank's UI provided protection against that, and now when I send future funds to the same account, I just pick them from a drop down box instead of entering it manually.

No - it’s more dangerous with a phone number, which is how I usually send/receive.

Much, much safer way to use Zelle is to ask the receiver to request a payment from you and then accept the request.

That's a good idea in both cases.

Although I'm guilty of just sending funds direct but only through email addresses which I usually copy / paste straight from what someone wrote to me.

It cancels after a few weeks (IIRC) of remaining unclaimed.

ACH transfers aren't expensive or difficult, they're just relatively slow. The US banking system revolves around reversible transactions and pull transfers (check writing). If some business wants to buck the trend by taking in money via a pull and send it out via push, they're doubly on the hook for fraud.

Which is why services like Zelle have a bunch of things in their terms to make you more responsible for fraudulent transactions - so they're in a better position of not having to roll back as many. For that same reason, I think it's a terrible idea to sign up for things like Zelle with any account that handles more than petty cash



ACH transfer itself is charged by batches from the banks like BofA. As an example, they might charge $5 for each NACHA file transfer but you can have hundreds or even thousand transactions of many different types. From that perspective of cost per value transfer, it is going to be cheaper if you have a lot of transaction with higher dollar amounts.

But the total cost of ownership is expensive. I mean the time and money to develop the process to integrate with your bank on ACH is going to be a heavy fixed cost and that is one of the reasons of the cost. Now Wire transfer and other type of transfers, they use different system and the costs varies because of that.

Also regarding about the speed of transfer, that is hinging at the speed for the banks to reconcile all transactions with the Central Bank. I think the US Central Bank is planning to implement real time transaction and that consequently will speed up transfer.

Disclosure: I work for financial institution in the US.

I think that the nature of wire transfers makes them somewhat risky. The institutions facilitating the transfers assume some of that risk for their consumers. If a large some of money is moved from your account to someone else's, and you dispute the transfer, the institution sending the wire may have to refund you the money.

The cost of a single transfer offsets the risk of the aggregation of fraudulent transfers. This could be a calculation of volume, fraud rates, average amount transferred on that channel, etc.

This is all in addition to network costs as payment processors (third party inbetween financial institutions)

So, fees = portion of network cost + risk offset

Hope this sheds a little light.

I don't see how cheques (or credit cards) are any different in this regard.

Cheques can be forged, just as easy, if not easier than a wire transfer.

Checks are a little different. Many banks will not allow immediate availability of funds with checks which allows banks some time to catch fraud. Many businesses also communicate their check registers to banks which prevent forged checks from clearing the bank account.

Checks you tend to purchase from the FI and credit card purchases have fees, but they are covered by the merchant.

The short answer is "because they can". The longer answer is because banking in the US is not as sophisticated as Europe since we have many fewer banks. The few banks we have have decided it isn't worth trying to compete on convince, so they haven't bothered to update the technology to be synchronous instead of asynchronous. In Europe, there are many banks in many countries, so they had to standardize quicker.

FWIW in the US the banks are starting to play nice. They came up with Zelle, which is basically a federated payment processing system amongst the biggest banks to compete with PayPal/Venmo. You can instantly (almost, five minutes delay usually) send money to someone at another bank. The downside is that it is limited. Each bank has different rules, but it's usually just a few thousand a week. For example Bay Area rent can't be paid with Zelle.

> since we have many fewer banks

Australia has fewer still, with the big 5 almost entirely dominant, yet we have instant bank transfers through Osko, have had almost universal contactless in store payments for years, etc. I suspect it's more about government corruption. Governments are captured, each for its own historical reasons, by different industries. Australia by mining industries, the US by medical & finance, local governments almost everywhere by property development.

Adding onto this, Canada has pretty much the same amount of banks (about 5 big ones that completely dominate the industry) but unlike the US, have worked together for decades to create their own interbank network, Interac (https://en.wikipedia.org/wiki/Interac). The network handles most ATMs, direct debits, e-transfers and online transactions, and the last two I think have been available for over 10 years now. Every single debit card in Canada is Interac-branded and the network is pretty much ubiquitous for transferring money.

It blew my mind going from that to what the US has.

I haven't been to the US since 2010, but at least at that point it felt like going backwards in time with respect to banking, mobile networks & any dealings I had with government agencies.

It's the complete opposite of what you said, at least in terms of numbers.

The U.S. historically had many more banks than in Europe as the banking industry in Europe has historically been more centralized at the national level. Whereas in the U.S. not only did we have 50 states each regulating their own banking system (similar to Europe), but you had many more smaller banks rather than a few larger ones in each state.

It appears the U.S. now has fewer banks, but that's only because of a precipitous decline over the past few decades, and it's only been in the paste several years that the number of E.U. banks surpassed those in the U.S., long after the E.U. saw better payment systems.

So the reason the E.U. banking industry has more convenient payment systems, especially retail payment systems, is because they were historically both more centralized and less in number, which made consistent adoption of newer payment systems easier. Whereas the banking system in the U.S. was more fractured and far more diverse, and even with the dramatic drop in number and increase in centralization, we still see the repercussions.

"because they can" is probably the best answer. Before RTP, which is still rolling out, wire tranfers were the only way to do same-day, non-reversible, high-value payments. On occasion we also see that wire transfers being sent manually need what's called "repair", as in the sending party didn't put enough information in the wire so the sending bank or receiving bank have to go get a human being to figure out what went wrong. Repairs and rejects add to the operational complexity of wire transfers and probably contribute to the higher end-user cost of sending one.

I was confused at how bad this is in the US compared to where I come from (Pakistan). I have to rely on Paypal and Venmo because the online banking is so backwards here.

How do you send or receive money from home?

The not-answer answer is fairly simple - negative interest rates are "natural".

If I give you a car / boat / house / gold bar to look after you will charge me a fee for the effort.

Where money is concerned there has been a magic trick - initially banks took your money and paid you a fee (interest rates).

However they sneakily make more money from other things

- Just offering less interest than you earn (competed away)

- Account fees (competition eats those away)

- Taking three days to move money (regulators eat those away in EU, in US finally the Fed is killing it off - soon)

But overall, giving someone else money costs us money. Positive interest rates it seems are a thing of the past.

I'm not sure why nobody has mentioned it, but at the end of July, someone transferred $468.5M worth of BTC for $374.98. It's much faster than a wire transfer, too. So many afternoons I'd have to sit at the bank and sign papers for wire transfers...

isn't it usually free to transfer money between accounts if you're willing to wait? I've never paid a fee to transfer money, but it usually takes 2-3 days to clear.

now wires (near instant transfers) have usually been about $25 sometimes plus a certain percent of the transaction amount. I always assumed that was the cost of having a real human audit the request and perform it in realtime.

If you schedule the transfer via the bank that is receiving the funds, they will usually eat the cost and not pass it onto you as the consumer. Smaller banks [which are most] will submit ACH files up to larger banks [like Wells Fargo or Bank of America] that will actually run the ACH requests through the network. The smaller bank itself is usually being charged either per file fee or some data transmission rate by the bigger bank. I think there are less than 20 banks in the US that can actually run ACH directly but it's been a while since I had to know any of this and it evolves over time.

I wonder what happens when you Venmo a dead person.

Given other stories I've heard about the difficulty of resolving problematic payments over Venmo with no recourse, I bet they don't have much of a robust system in place for resolving that either.

Banking controls are expensive. It's cheap when you simply don't have them.

After living in Australia and NZ for years, I wondered the same thing. I did a write up on it a while back:


Electricity costs for the 70s mainframes running COBOL probably. Only half tongue in cheek.

India launched UPI payments method. Everyone who downloaded the UPI app has an address like email and can send money to each other. Money goes into bank account directly! And it's free.

I can send ACH and international wires from my US bank's web interface. Neither is especially hard or expensive, but it is somewhat slow...1-3 business days.

Those companies are not able to transmit money with the same scale and security as wires.

Ah, NACHA, oh how I hate thee.

If only NACHA files were JSON as shown in the example in the article.

I wrote a NACHA processor in MS Access many years ago for a client in the insurance industry. That thing is still being used. God, I wish it would die. Although, I'm not sure which is worse: Parsing and generating the NACHA record format, or trying to parse and generate JSON in VBA.

Why MS Access? Their entire claims processing system (which I did not write) ran on it. I only just got that damn thing migrated to an MSSQL backend. The pain.

My previous job involved MS Access for insurance too, this in Canada. We got them to use SQL Server as a backend for most of the databases at least, so I could build infrastructure for reporting off the SQL. But all the data entry & quite a few reports were built into Access UIs. Quite a few places where we had to shunt table valued functions into Access to output into Excel

I wrote an ACH generator in Thoroughbred Script-IV[1] as an intern. It was pretty funny when my malformed ACH file generated $1 out of thin air (the bank took the dollar back a few days later). Trying to do JSON in Script-IV would have been quite a challenge.

One thing I remember was I think there were 3 different places in the ACH file to insert company name, and they were fixed length, each with a different length. I had a list of companies to support, so for each company, I carefully created 3 different abbreviated names for it, one for each length, applying more extreme abbreviation strategies for the shorter lengths.

[1] http://www.thoroughbredsoftware.com/reference/DOCUMENTATION/...

The new international standard for banking is ISO 20022 [1]. Yes, it's XML, but it also doesn't have fixed width lengths, and is relatively extensible.

20022 does a lot more than just payments, too.

[1] https://en.wikipedia.org/wiki/ISO_20022

Neither the title of this post nor the article explains what ACH is. And it somehow got 15 points in 6 minutes or so. Am I missing something?

edit: yes, downvote me to -3. I love you all

Also currently on the front page:

* An article about a null-pointer bug in GCC that doesn't explain what pointers are

* An article about Stripe that doesn't explain what Stripe is or does

* An article about the programming language Julia that doesn't explain what Julia is.

I think it's your expectations that are out of whack. Not every article needs to explain everything as if the reader is completely unfamiliar with the topic being discussed.

> I think it's your expectations that are out of whack. Not every article needs to explain everything as if the reader is completely unfamiliar with the topic being discussed.


User s9w appears to be German. ACH is a USA construct. The closest analog would be PE-ACHes for SEPA, of which OP might be familiar. Without context and operating from a localized search zone, googling ACH may render results irrelevant to the topic at hand, requiring marginally more google-fu than might otherwise make sense just to embrace a hackernews thread.

Hackernews in general is pretty US-centric in terms of assumptions, and this comment is emblematic of this defect.

In the future, you could just answer the question, or you could opt out of replying entirely. You never know what constraints a person has encountered when trying to answer it on their own. For all you know, the user asking must work with an impairment or disability rendering simple web queries as taxing or arduous.

I certainly didn't intend it as a personal criticism, and if it came across that way I'm sorry!

There's nothing wrong with not knowing what ACH is and asking about it. But conversely, there's also nothing wrong with writing an article about ACH that doesn't bother to explain the background in detail, nor is there anything wrong with posting such an article to HN.

The only thing I take issue with is the suggestion that it's somehow unusual or noteworthy.

> In the future, you could just answer the question, or you could opt out of replying entirely.

I noticed that other commenters had already answered the question adequately, or else I would have included it in my response.

(For what it's worth, I just tried a Google search for "ach" in an incognito window with both region and language set to Germany, and two articles about the ACH system were on the first page of results. Again, I am not saying this to criticize for not knowing about it.)

Just for the record: I obviously could have googled it. But although I'm German, I spend a good amount of time in the "American internet" - and never heart of ACH. Plus the submission was upvoted like crazy. So I was pretty confident that this was either spam or I'm having a brainfart.

It seems though that there are things like ACH that are somehow very common knowledge but I've never come across until now.

The article on the null-pointer bug goes into technical details about what the exposed error case is - the fact that it's a bug is made super clear - the fact that it's a logic bug is pretty readily apparent.

The Stripe article starts with "I worked at Stripe for 3+ years" so Stripe is clearly a company, the article itself is focused on the operations & team cohesion side of stripe not on their line of business.

The article about Julia is hosted on `julialang` and within the first paragraph there is a sentence containing: "So I thought it might be helpful to the broader Julia community—and maybe even for other programming language communities—to actually write down Julia’s release process"

None of these articles give you a full and complete comprehension of their topics - walking away from Strip I don't know if they're a listed company or what their market cap is - but I was given enough information to make it through.

ACH is not a common jargon term, and even with common jargon there usually is some explanation, if someone writes a well-written article about some MySQL quirk, it'll probably have the term "SQL" somewhere in the first paragraph and it'll certainly have the term "database" and "query" - those hints are enough to grasp the general subject matter. The word "bank" doesn't show up in the article until paragraph three and the jokey description of doing it to "a dead person" immediately derails the users ability to grasp that it's a monetary transaction - it's perfectly logical that monetary transactions need to have error handling around dead, missing and not-yet-existing people, but leading with that point harms readability.

I think this article is a great example of a poorly written piece that with some very minor edits to clearly define the scope of the article would be a lot more legible.

> ACH is not a common jargon term

It’s not jargon at all, is it? It’s just literally the proper name for the specific payment network. I thought jargon is industry-specific slang terms for concepts that could otherwise be described with less industry-specific terms. There is no simpler or clearer way I’m aware of to refer specifically to ACH.

As for it being common, if you work as a developer on any web products that accept or send significant payments in the US, you’ve almost certainly heard of ACH. If you haven’t, then this article probably won’t be of any interest or use to you even if it had an extensive introduction about what ACH is.

As someone from the US, though who now lives in the UK, I would feel the need to quality that with the phrase "needless jargon" if I wanted to refer specifically to jargon that could otherwise be described with less industry-specific terms.

So then would you say "jargon" is just any term for something that laypeople wouldn't be familiar with, even if it's the standard/only name for that thing?

I think that's fair - with the exception of self-descriptive names, and acronyms can further obscure understanding, if you say you've got a Self-Contained Underwater Breathing Apparatus sure, it's for... like breathing, underwater... apparently self-contained which I'm not quite certain the significance of but like "Under water breathing thingy" is a very natural interpretation. SCUBA, to contrast, is much more easily recognizable due to pop-culture, but has no naming inherent to it's name, and is generally not written in a way that implies acronym-ness, "Oh, were you wearing your Scuba tank?"


> ACH is not a common jargon term

It is for anyone involved with money. However, it is a noun, not a verb.

Maybe if you live in the US.

Agreed. Even after Googling "ACH" I had to reconcile the article's usage of "ACH" as a verb, when it appears to be a electronic payment system.

Oooh I got this one...

>* An article about a null-pointer bug in GCC that doesn't explain what pointers are

That's obviously the finger you point at people with, a null pointer is when you don't point at someone but just angrily stare at them.

>* An article about Stripe that doesn't explain what Stripe is or does

Obviously a stripe is those lines on zebras that make them zebras

>* An article about the programming language Julia that doesn't explain what Julia is.

Clearly the one and only Julie Roberts...

Obviously I'm being stupid but that's genuinely how I feel sometimes when I open HN

- "RUST does..." erm, why are they screaming rust, I know rust is annoying if you don't sand it down and deal with it quickly but why are we yelling about oxidation

- "ExFAT..." why are they talking about their weight loss on HN

- "Wave-based non-line-of-sight computational imaging in Julia" some woman named Julia used a computer to figure out how to best appear in photographs of them waving? Must be one of the royals.

- "A+, the Programming Language of Morgan Stanley" why do I care about Morgan's grades?

- "YouTube should stop recommending garbage videos to users" I dunno, I watched a really good one on landfills one time, I think it also recommended me one on how fuel trucks refill gas stations after that.

- "Curl exercises" yeah, I hammer curl on Tuesdays as some of my accessory work, not a real fan of bicep curls though.

- "Is Ringo Starr a Good Drummer?" I assume this is about the Beatle but it's probably about some computer programming language in some network security application.

- "Perils of Constructors " must be English as a second language, clearly they mean Perils of Construction, certainly a mod will fix that title soon. I'm guessing death and hemorrhoids.

ACH is Automated Clearing House - a US Bank Transfer / Direct Deposit.


The article is written for people interested in the very specific topic of the technical workings ACH transfers. It seems absurd to me that you would try to write this article to an audience that hasn't even heard of ACH. I think the only thing you are missing is that you are not the target reader.

Elitism is no reason to avoid having a definition of jargon. HN has discussions on a wide variety of technical topics most of which aren't directly useful in our day job - or at least on the topic of information we'd seek out independently... But we have this list in part because intellectual curiosity is a good thing and maybe, within the way that whatever an ACH is deals with a dead person, there might be some interesting logic that you could apply to your own field.

If someone submitted "How I managed to emulate Super Mario in C without using more than 30 Kb of memory" I'd be super interested and look to see what sorts of crazy pointer tricks or unioned structs were in use - even though I don't currently work with games or C in my daily.

It's not elitism. ACH is a term that should be familiar to anyone even remotely informed on the topic. It's ok to read articles on things you are unfamiliar with but it is also on you as the reader to educate yourself when you read on topics that you are unfamiliar with.

If every detail was explained in layman's terms, reading would be terribly boring and nuanced technical writing would be dead.

But... I've worked with technical writers and PhDs, technical writers (the good ones) can really easily pull analogies out of thin air to help elevate a reader's understanding, I think (maybe due to star trek) that a lot of technical PhDs are quite good at forming comprehensible analogies as well. Usually CS papers are ~40% comprehensible to the vast majority of non-CS people, this differs from more liberal artsy fields where other field pieces are taken as a given and the assumptions compound to the point where education ends up being about familiarizing yourself with all that jargon.

There are some terribly complex CS concepts (try and explain how a hash function produces essentially random output - or how private and public keys are actually computed in a manner to make private keys non-trivially derivable from public keys) and some terribly ingrained jargon (Oh, how's that SSL cert was it SHA signed?) but the effect on your topic of how these jargony terms work is usually easy to express, you don't need to know the history of POSIX to comprehend that CS people have a tool that checks if a string sorta looks like an expect format that we use everywhere, and you don't need to explain positive lookahead zero width assertions to convey that point.

Having a single clause stating "ACH (the preferred US method for bank-to-bank transfers)" would instantly clear all this up... it's also insanely relevant because the topic of the article is about what happens when bank-to-bank transfers have a recipient who is dead.

When I run into something I don't understand in the title of an article, I just look it up on a search engine. When it's the first hit, I read the capsule description, then return to the article. Alternatively, I often decide that I'm probably not interested in reading an article when I don't understand the terms used in the headline.

Fully expanding an acronym the first time it is used is part of standard written English (SWE).

Expanding that acronym wouldn't help. I hate to get into this silly discussion, but we're all having it on the internet. It's easier to find out what ACH is by using the internet than to post a question on the internet asking what ACH is.

Regardless, it is still a standard courtesy.

ACH is a bank to bank transfer.

I don't believe that its technically a bank to bank transfer because the ACH is involved. With wire transfers you're communicating directly with the bank via SWIFT or Fedwire.

I think it depends on context - I'm guessing you're thinking about flow of funds where as others are thinking about the actual process of running ACH files through the network.

As an end consumer or other entity(like a TPA or bank ISO), you can submit a request or set of requests that will end up in that banks ACH file. At the end of the day, the bank that submits that file is responsible for ensuring those requests are valid, and ensuring all the returns are processed. These requests consist of to/from account routing information and dollar amounts with a lot of other rules in the file specifications. Not every banks can submit these directly. A lot of banks submit to larger banks and so on. I vaguely recall there also being fines/fees applied to the file submitter on if you send bad data or exceed return thresholds.

Or bank to customer, thus potentially customer to customer.

Probably the US version of European SEPA.

That's not quite right. An automated clearing house for transactions isn't a US-specific concept, it's used all over the world (sometimes called an ACH, sometimes under a different name).

SEPA uses STEP2 as the pan-European clearing house. Each European country also has their own equivalent to the ACH.

From https://en.wikipedia.org/wiki/Automated_clearing_house, Germany's seems to be a service offered by the Bundesbank.

In the context of the title though, ACH =~ SEPA

As someone who has worked on integrating with BACS (UK version of ACH) they have the have the same code.


"2 Payer deceased You have attempted to set up a DDI on the account of someone who is deceased. Extremely rare."

Relevant podcast on the workings of ACH, if you're interested in something less technical than this post:


The Social Security Administration's Death Index and Death Master File are a great resource. Too bad they make it such a pain to get.

The US military keeps its own death file for its beneficiary population (all members of the military, retirees, and their dependents). I have been told (not surprisingly) that there are disagreements between the various authorities on who exactly is dead.

So, even if you get an R15 and the bank tells you they certified the death against the SSA's MDF, they may only be mostly dead.

Perhaps those well-versed in such arts can inform me, who knows little about ACH and the rest:

Why is it so slow? I get that this is a system that can work built on top of any number of manual processes, but check-cashing scams are rampant and function in world where a major bank gets a check (apparently) from a different major bank and the customer is told it is all good....and possibly weeks later the check is noted as invalid and the deposit reversed.

...why can't the big players (at least) confirm things quickly? Why can't there be an easy status to say if a check has truly "cleared" or not?

The amount of fraud committed using this must be astronomical, based on how many reports I see without really looking.

What is the piece I'm missing?

ACH is a file format. You generate an ACH file and then SFTP that to the Federal Bank (or another central bank... I forget which). In simple terms, the file contains a header and a bunch of batches. The header has the account info whomever generated the ACH file (a bank, usually) and the records in each batch the account info of another party.

The federal bank iterates through all of the records in the file and attempts to perform each transaction using the pair of account info, the type of transaction, and the details in the transaction record.

To answer the question about why it takes so long?

Generally it doesn't actually. Most companies will tell you it takes 24hrs to send you money, and that's because most companies generate and submit an ACH file once a day, and the federal bank will process those files at some point after that.

Why does it take weeks for a deposit to be marked invalid and reversed? Well, analytics, fraud detection, and those kinds of activities are not all real-time. More than you think are actually caught _remarkably_ fast, but many take time to find and often include collaboration with multiple banks, government agencies, and policing organizations from multiple countries. That means geo-political concerns, international treaties, timezones, communication problems. You name it.

I actually had a job where part of my responsibility was processing this file. It was literally me opening WS_FTP Pro and manually downloading and uploading that file. It blew my mind that this was how we were doing it.

The entire system is built around asynchronous batch processing, as one would expect given when it was designed.

It assumes intermittent serial connections between systems to transfer the payload. The systems then process the payload offline, generate a response, and send back the result during the next transfer window.

Nowadays this is done via the Internet,* but the same basic architecture, and in many cases, the same mainframe backends, are still being used to do the processing.

* I'm not sure how the banks and the Fed are connected, actually. But ACH from businesses almost always go over the Internet. They used to go over dialup.

Hey there - author of the article here.

Like some of the other comments said, ACH payments are handled by a middle man(The Clearing House/FedACH). In terms of speed, this is what their current guidance is:

"Specifically, the Nacha Operating Rules require that ACH credits settle in one to two business days and ACH debits settle on the next business day. Recent enhancements to the Nacha Operating Rules now enable same-day settlement of virtually all ACH transactions."


For what you're asking about with check reversals, there are protections that let you challenge payments after they have "cleared". ACH payments from individuals can be challenged for up to 60 days and for businesses, up to 3 days (although sometimes banks will let you do it beyond that window).

ACH is built to be reversible. If you want avoid that, you can use wires or (soon) RTP.

There's an interesting series of blog posts on the topic: https://engineering.gusto.com/how-ach-works-a-developer-pers...

And the accompanying hackernews thread - https://news.ycombinator.com/item?id=7636066

But basically it seems like ACH is slow because the federal reserve runs once a day batches.

> ...why can't the big players (at least) confirm things quickly? Why can't there be an easy status to say if a check has truly "cleared" or not?

Consider a forged check with valid identifying information. Think about what the other side of that transaction looks like. That other customer needs time to review incoming transactions to their account, notice the errant one, and dispute it. And so waiting this time is the only practical way the receiving bank can fully clear a transaction.

Does that mean Americans check their account every day or two?

I probably read my statements (online only) about every two months...

The timeframe is much longer - 60 days AFAIK. So essentially you verify every statement, or verify the online transactions every month and a half.

Even with the smaller attack surface of a banking system based on only "pushing" money, surely other countries must have analogous timeframes for reporting unauthorized transactions (eg from an authorized login).

What is ACH?

Applications are open for YC Winter 2020

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact