
How ACH works: A developer perspective – Part 3 - aseidl
http://engineering.zenpayroll.com/how-ach-works-a-developer-perspective-part-3/
======
contingencies
I've done a lot of thinking in this area, mostly a few years ago when we were
starting kraken.com but also ongoing.

Though the US ACH system is a particularly bad case, as others have pointed
out it affects credit cards, and to a lesser extent cryptocurrencies too, and
it's a global problem.

The solution is to build systems that objectively consider the real properties
of these settlement networks, known or inferred, before committing to
transactions.

This allows, for wont of a better term, a 'free market' in financial services
that should act to increase efficiency and reduce overheads/latency worldwide
by incentivising financial services companies to be more objective and
transparent in their dealings.

Now: _[forced to accept legalese at your bank]_ _[try to do something at your
bank]_ _[wallow in pain and self-pity as they fail to either do anything or
communicate about the flailing process]_

Future: (with plugin support for arbitrary cryptographic protection, financial
endpoint identification and entity identification/reputation systems) _[send
RFQ]_ _[receive quotes on what you want to do, including temporal and cost
overheads, references, jurisdiction information, intermediate path details,
asset-types /currencies supported]_ _[select a quote based on your local
priorities, risk profiles, etc.]_ _[execute and manage state versus promised
progression with incremental status updates]_

If anyone else believes this is generally logical I'd love some feedback on
[http://ifex-project.org/](http://ifex-project.org/) ...

The only thing I see sort of remotely in this space right now is high end
logistics solutions, of the type probably employed by SAP customers, global
courier companies and places like Amazon's global warehousing.

------
hayksaakian
Good read. The most interesting fact to me was that it takes 3 days to 100%
confirm a transaction.

I thought bitcoin was slow, but this really gives me hope.

~~~
waps
Technically it takes 60 days. Not sure from what basis. I would assume that 60
days countdown only starts on the 2nd or 3rd day, so that would make it 63
days.

~~~
edawerd
There are many ACH transaction types (called: SEC cods).

The post I wrote generally applies to PPD SEC codes, which are generally used
when debiting a consumer bank account.

The 60-day rule applies to PPD SEC codes.

There's another ACH SEC code called CCD, which can be used when debiting a
_corporate_ bank account. For CCD codes, an 'unauthorized' return must be
received within 48 hours, instead of the 60-days.

Here's a full list of ACH SEC codes:

[http://en.wikipedia.org/wiki/Automated_Clearing_House](http://en.wikipedia.org/wiki/Automated_Clearing_House)

------
anactofgod
The details you provide are especially interesting, especially in light of
PayPal's announcement yesterday of their Next-Day-Settlement (NDS) service:
[http://thenextweb.com/insider/2014/07/08/paypal-now-lets-
us-...](http://thenextweb.com/insider/2014/07/08/paypal-now-lets-us-firms-
bypass-4-day-waits-transfer-money-bank-accounts-24-hours/)

NDS must be a proprietary alternative to ACH.

Thanks for this write-up. Looking forward to your next post on the ACH file
format.

------
zaroth
It's interesting how the incentives are misaligned for the two banks. The
receiver wants to wait as long as possible before returning a REJECT, because
returning earlier doesn't benefit them, and in fact can hurt the customer
experience.

My bank will send me a warning that an ACH is pending, and I need a certain
amount in the account by 10am the next morning. That's plenty of time to move
funds into place from a neighboring account (as long as it doesn't involve
selling shares). And on the other hand, it's an interesting benefit that the
requester of the debit doesn't see this happening.

I think the solution is an explicit ACK. We could add an optional pingback url
as part of each transaction message, and let everyone else deal with building
the infra.

I have a feeling it's a lot more complicated than that. $39 trillion a year is
a lot of transactions to track live status for, so I suspect this is both
complicated and valuable.

What the heck NACHA -- impress us with your ability to build the next gen ACH
system! Oh right, unless we're talking a physical structure, that's never
going to happen.

------
donutz
"the RDFI is allowed 60 days to return the ACH debit. Because of this, the ACH
protocol is very consumer friendly, since the originator of the ACH debit must
now return the money they debited"

Well, consumer-friendly if the consumer has enough money in their account to
temporarily cover the unauthorized debit amount plus any other authorized
debits/withdrawls that occur in the meantime. But if the ODFI's do their
homework to keep fraudsters from getting accounts, I suppose that issue is
minimized.

------
DeepakShah
Good Read for non-developers.

Best resource is official NACHA Rule Book - must read for any payments/ach
developer.

[http://www.metcapbank.com/2013_Corporate_Rules_and_Guideline...](http://www.metcapbank.com/2013_Corporate_Rules_and_Guidelines.pdf)

------
guan
In the case of a debit, say, is the account receiving the money always the
ODFI? Can you do an ACH transfer from one client’s account at bank A to
another client’s account at bank B, with you using a third financial
institution to process this?

~~~
edawerd
the ODFI is always the bank that is _initiating_ the ACH transaction, whether
its a credit or debit. The RDFI is always the bank that is the _target_ of the
ACH transcation, whether its a credit or debit.

You cannot do an ACH transfer from one clients account to another clients
account. You must be the originator of the ACH transaction (meaning your bank
account must be at one end of the transaction).

At ZenPayroll, this is why we'll first initiate an ACH debit from the
company's account to our account, wait 3 business days, and then initiate an
ACH credit from our account to the employee's account.

~~~
disillusioned
This is really interesting... I currently use and administer our Intuit Online
Payroll account. I'm required to run payroll only 2 full business days before
pay day. Does the final credit stage you mention here not introduce any
additional delay? (Read: is IOP doing the same thing to their main account?)

Also, are you or IOP able to collect interest on the 3 day float? Or does
interest not accrue for not fully guaranteed funds?

Finally, is the clearinghouse account you utilize internally not something of
a high-risk target? I understand there are safeguards in place to prevent
unauthorized false requests, but the thought of even temporarily acting as a
go between with somebody else's funds like that feels an awful lot like being
a bank without the rewards.

~~~
guan
I also wonder if the account is legally set up so that employer customers get
FDIC pass-through insurance.

------
tomasien
I'm interested in two things:

1\. What would happen if ACH was fully guaranteed minus chargebacks instantly?
What is that worth? 2\. What would it be worth if ACH was fully guaranteed
instantly PERIOD - including chargebacks? What would that be worth?

------
ilya89
What does SVB charge for an ACH debit?

~~~
edawerd
The cost depends largely on your ACH volume, but is generally less than $0.50.

Thus, ACH is known as a low-cost alternative to credit card fees, which charge
a percentage of the amount.

