I had a fascinating lesson about the electronic payment processing between banks today. I, as probably most do, have always assumed this happens in (or nearly) real time between banks. It couldn't be further from the truth.
- It is nowhere near real time
- It does not happen directly between banks.
The process is done by central clearing facilities (currently it's The Fed (Federal Reserve) and another processor whose name I can't recall right now) using the ACH Network.
Not only is this done through an intermediary, it's a batch processing system governed by strict timing rules.
So what happens when you send money electronically using your bank to another bank?
- Your bank generates an ACH file and sends it to a processor, like the FED. The FED will only receive these files during certain hours and the cut off time is 10pm. Anything after needs to wait until the next business day.
- After the cut off time, the FED batch-processes all the files it received the given day and credits or debits bank accounts appropriately (each bank has its own account at the FED). Note, at this time they don't know if the money is actually good or bad! That comes later
- After 5am (the next business day), the banks can go in and pick up the files with transactions directed at them from other banks and process it against their customer accounts. Once this is done, they can tell the FED which of the transactions are bad. All transactions are assumed as "good" unless the bank reports otherwise. They have 48 hours to do this.
If you're a programmer or a system architect your first question is probably "so what happens when the receiving bank never recieves a notice that someone wants money from one of their clients but the Fed thinks it sent the debit?" That's where the processor is most useful to the banks, they handle reconciliation and balancing.
This system was designed in 1974 and this is our modern electronic payment processing system. How is it better than checks? You can process debits and credits, that's about it!
Note, there is nothing stopping the banks from going directly between each other for these transactions, but it becomes costly when you consider that each relationship between two banks would need to involve accounting settlements to make sure there were no mistakes in fund transfers and everyone received and paid the money they should have. Currently, the processer (the Fed) does this for the banks.