>Now you could argue this is an accounting issue "Why doesn't the bank reserve the funds until the transfer is complete?" Answer, I don't know ask Capital One.
Because transaction ordering isn't guaranteed. Say I know that I'm getting paid on the 1st, and I want to spend my paycheck immediately on rent. If the rent transfer gets processed at 11:00 and the payroll provider gets around to doing it at 11:15, I don't want my rent to be rejected.
Therefore, the bank allows transactions to happen and only checks at the end of day for overdraft. They then apply a time-independent ordering to transactions they can reject like paper checks.
In fact, this same scheme applies to banks, Fed only looks at their accounts at end of day, why you have overnight funding.
The major exception to this is debit cards, which Congress made them reject if the money isn't there at time of authorization.