Stripe Needs Client-Specific ACH IDs | Jonathan Tarud
Stripe Needs Client-Specific ACH IDs
Jul 1, 2026
We ran into a strange issue recently that feels like something Stripe should help solve.
A payment was rejected, and after a lot of back and forth, we finally figured out why. One vendor had tried to debit our account for an amount that should have been offset by a credit. Since the credit had not been applied yet, we put a blocker on that ACH ID to prevent the debit from going through.
The problem was that the same ACH ID was also being used by another vendor.
Both vendors use Stripe. So even though the issue was with only one of them, blocking that ACH ID affected the other one too. From the bank’s point of view, it was the same originator ID. There was no easy way to distinguish between the two vendors.
To be fair, this is not entirely Stripe’s fault. The ACH system was not designed around modern platform payments, where one infrastructure provider may sit behind thousands of unrelated software companies.
ACH controls are still largely tied to originator identifiers managed through banks and processors. Assigning distinct IDs is not as simple as flipping a switch. It can involve bank sponsorship, underwriting, compliance oversight, and approval from the financial institution originating the ACH transactions.
That said, this is exactly why the issue matters.
Stripe has become infrastructure for a huge part of the software industry. Many companies now work with several vendors that all use Stripe in the background. Most customers do not know, or have any reason to know, which ACH IDs are shared across which platforms. But when something goes wrong, the customer is the one left trying to untangle it.
This matters even more for things like payroll, vendor payments, and other time-sensitive transactions. A blocked ACH ID should not accidentally interfere with an unrelated vendor simply because both companies happen to use the same payment processor.
Stripe should offer unique ACH IDs by client, merchant, or at least by critical payment relationship. Even if that is not the default for every account, it should be available for companies that need better control over approvals and blockers.
Shared infrastructure makes sense. Shared ACH IDs are where things get messy.
As Stripe becomes more central to how businesses move money, this is the kind of detail that needs to be cleaned up.