Why Banking Integration Projects Overrun (and How to Avoid It)

  • Newton Duarte
Por que tantos projetos de integração bancária estouram o prazo

I've seen dozens of financial integration projects slip by months. And it was almost never for lack of good developers.

That tends to surprise people who are just starting out. The expectation is that with a good team and a good API, integration is "just plug it in." In practice, integrating with a bank is one of the most treacherous things in software engineering and the biggest banking-technology disasters of the last decade prove it.

Banking integration isn't "calling an API"

Connecting to a bank isn't consuming an endpoint and moving on. It's dealing with a set of details that only people who have actually operated one understand:

  • CNAB. Brazil's file-exchange standard between companies and banks has variations, institution-specific quirks and rules that don't forgive. One field in the wrong place breaks the entire batch.
  • Reconciliation. Making sure what left one side matches what arrived on the other. Without a reconciliation strategy from the start, discrepancies only surface at close at the worst possible moment.
  • Processing windows. Banks operate in windows and batches. Ignoring those schedules is a recipe for stuck transactions and out-of-order responses.
  • Mismatched returns. The most common and most underestimated case. What does your system do when the bank's response doesn't match what was sent? This is where most projects find out, too late, that they had no plan.

None of these show up in the demo. All of them show up in production, under real volume. And that's exactly where deadlines blow up.

The case every tech leader should know: TSB

In April 2018, the British bank TSB migrated around 5 million accounts from its former parent's platform (Lloyds) to a new system. On paper, everything was ready.

On go-live night, the bank went down. Customers were locked out of their own accounts. Some could even see other customers' balances and transactions. Digital channels went offline. In the first week, complaints exploded and the wait to reach an agent went past an hour.

It wasn't fixed in days. It took about eight months to stabilize. The total cost came to around £330 million, the bank lost roughly 80,000 customers, and it was later fined £48.65 million by UK regulators.

The point that matters here: TSB wasn't short on good developers or budget. What brought the bank down was the details: migration and customization running in parallel, data that didn't behave as expected, and scenarios that only revealed themselves under real load.

And it wasn't a one-off: Deutsche Bank

If you think that was one bank's bad luck, the same thing happened to one of the largest banks in the world. In 2023, Deutsche Bank completed the migration of Postbank's roughly 12 million customers, moving tens of billions of records into its systems.

Weeks later, customers reported being locked out of their own money for weeks, with rejected debits and stuck transactions. The German regulator received thousands of complaints, called the situation "unacceptable," and even installed a monitor inside the bank to oversee the fix. Internally, bonuses were cut.

Two huge banks, years of preparation, strong teams and the same outcome. The lesson is hard to ignore.

What these cases teach

The conclusion is always the same: banking integration doesn't break in the code. It breaks in the details no one warns you about data that doesn't match, edge cases, behaviors that only appear in production, under real volume and real data.

If the world's largest banks, with every resource available, trip over these details, the real differentiator of a successful project isn't more people or more budget. It's having someone who has already lived these details and knows where they hide.

The question that separates who delivers from who slips

That's why the first question I ask on a new project is never "which API?" It's:

"What happens when the return doesn't match?"

The answer reveals right away whether the project was designed for the real world or just for the demo. It's what separates who will deliver from who will fall behind.

At T4tech, this is routine. We've built integrations for one of the largest banks in Latin America. What's unknown territory for many teams is our everyday work.

What to check before starting a banking integration

If you have a project ahead, start by securing clear answers to these points:

  • A reconciliation strategy defined from day one, not left for the end.
  • Handling of returns and exceptions: what the system does when the bank responds with something unexpected.
  • Processing windows mapped and respected in the flow.
  • Idempotency and security: making sure a duplicate request doesn't turn into a financial loss.
  • A rollback plan: how to safely revert if something goes wrong at go-live.
  • Testing with realistic volume and data, not just in a controlled environment.
  • Observability: visibility into every step, so you catch the small problem before it becomes an incident.

Frequently asked questions

What is CNAB?

It's the file-exchange standard between companies and banks in Brazil (outbound and return files), used for collections, payments and reconciliation. It varies from bank to bank, which makes integration trickier than it looks.

Why is reconciliation so critical?

Because it's what guarantees that what was sent matches what was processed. Without a reconciliation strategy from the start, discrepancies build up silently and only surface at close.

How long does a banking integration take?

It depends on scope, but the biggest schedule risk isn't the development itself it's handling exceptions, returns and production scenarios. Underestimating that is the most common cause of delay.

How do you reduce the risk of overrunning?

By treating the details as requirements from the planning stage: reconciliation, returns, windows and rollback. And, whenever possible, working with people who have already been through these scenarios.

Is your integration project stuck?

If your integration has stalled or you want to keep it from stalling talk to T4tech. In a short conversation, we pinpoint where the risk is and the shortest path to unblock it.