
The hidden cost of badly built integrations
Pubblicato il 20 dicembre 2025 · 9 min di lettura
"Connecting different tools sounds like a formality, but when integrations are fragile the business pays for it every month. How to recognise them, why they break, and how to build integrations that hold up over time."
Almost no modern business runs on a single tool. You invoice on one piece of software, manage clients on another, track projects on a third, and somewhere in between there's always something that "has to pass data from X to Y." That something — the integration — is the invisible glue that decides whether your day flows smoothly or whether you spend half of it patching misalignments.
When an integration works, you don't think about it. When it's fragile, you find out the worst way: a customer sees the wrong stock level, an order goes missing, a report contains numbers that don't match reality. And when the problem hits, it's almost always more expensive than doing it right the first time would have been.
This article is a guide to recognising the fragile integrations you're already paying for, why they break, and what it actually takes to build robust ones — without becoming a systems expert.
The signs your integrations are fragile
A good integration is invisible. A fragile one leaves traces everywhere — you just need to read them:
- Duplicate or misaligned data across systems: the customer exists three times, two of them with different fields, and nobody knows which is correct.
- Sync jobs that fail without warning: sometimes they work, sometimes they don't, and nobody is checking.
- Recurring manual workarounds: there's someone who every Friday "fixes" something that should be automatic.
- Nobody knows exactly how it works: the flow is a black box, set up two years ago, and the person who built it has left.
- Numbers that don't match between reporting and operations: CRM revenue doesn't match accounting revenue, and every month there's some discrepancy to chase.
- "Automatic" emails that arrive a day late, or don't arrive at all.
- Statuses that stay stuck: the order was paid, but the internal system still shows "pending."
If even two of these are happening in your company, you're paying a hidden cost: human time spent fixing, your image with customers, decisions made on bad data.
Why integrations break: five real causes
The technical reasons an integration gives way are always the same. Knowing them helps you ask the right questions to whoever builds or maintains it for you:
1. APIs change without warning
The services you integrate (Stripe, Shopify, ERPs, e-invoicing, payment gateways) evolve. Endpoints change, authentication methods get updated, fields become required. A good integration adapts. A fragile one — copy-pasted in a hurry — stops working and nobody notices until a customer calls.
2. Rate limits aren't handled
Almost all APIs have limits: so many requests per minute, so many per day. When you exceed them, the provider temporarily blocks your calls. A robust integration anticipates this — it slows down, distributes, resumes. A fragile one slams into the wall and loses data.
3. Errors aren't logged
"Something failed" isn't enough. Without detailed logs of what was requested, what came back and when, it's impossible to investigate later. Many integrations fail silently: the only trace is missing data that customers notice.
4. There's no retry logic
A network blip lasting ten seconds shouldn't break an integration. In serious systems there's retry with exponential backoff: if it fails, try again after 1 second, then 2, then 4, up to a limit. If it still fails, raise an alert. Without this logic, every small network hiccup becomes lost data.
5. There's no active monitoring
Integrations need to be watched from the inside. Not by someone who "checks every day that everything works" — but by automated alerts: a failed sync today should email the person who can fix it, not wait until the end of the week.
The shortcuts you pay for later
Three solutions that look cheap up front and turn expensive over time:
"We'll do it with Zapier/Make and move on"
Zapier, Make, n8n and similar tools are great for simple, low-volume integrations. When you load them with complex logic or high volume, you discover that:
- They get expensive (pricing scales fast with the number of operations).
- They're hard to debug (logging is limited).
- They don't handle complex error cases well.
- When they break, you depend on an external platform to fix yourself.
They're the right tool for 30% of simple integrations. They're the wrong tool for the other 70%.
"Manual export every Friday"
There's always someone who weekly downloads a CSV from one system, uploads it to another, fixes the columns, imports it. It works until it doesn't. Then that person goes on holiday, gets a column wrong, or leaves the company. It's a manual integration disguised as a process.
"We built it in a hurry last year"
Code written quickly, no monitoring, no tests, no documentation. Works perfectly for six months and then becomes a mystery even to whoever wrote it. Every change requires hours just to understand how it's wired up.
How to build integrations that hold up
There aren't many rules, but they need to be applied together. They're the same ones you'd use if your company depended on the integration — because usually it does:
1. Log everything
Every API call: what was requested, what was returned, when, with what outcome. Keep the logs for at least 30–90 days. Without logs, every problem turns into an investigation.
2. Handle errors explicitly
A network timeout, a 429 (too many requests), a 500 (remote server error) and a 401 (expired authentication) all require different strategies. Treating them all the same is the shortest road to a fragile integration.
3. Implement retry with backoff and a limit
If the call fails, try again — but not forever. Three or five attempts at growing intervals, then push the failure to a separate queue for manual review. Never infinite retries: they make things worse, especially under load.
4. Set up monitoring before launch
Alerts for:
- Number of failed calls per hour
- Average latency above a threshold
- Backlog queue growing
- Sync balance (e.g. orders in the CRM vs orders in the back office)
These have to be alerts that reach someone who can act, not emails that drown in a channel.
5. Define the source of truth before starting
When system A and system B disagree on a piece of data, which one wins? It has to be decided up front, written down, and applied consistently. Without this rule, every conflict becomes a case-by-case decision, and sooner or later someone gets it wrong.
6. Idempotency wherever possible
Meaning: if the same operation is performed twice by mistake, it doesn't cause harm. Example: "create invoice with reference order 12345" — the system checks if an invoice with that reference already exists before creating a second. It's a rule that saves the day in retry-and-duplicate scenarios.
7. Document the flow in plain language, not just in code
A page explaining: this integration connects A and B, syncs at this frequency, here's what happens if it fails, here's who gets notified, here's which system wins in a conflict. When the next person arrives (and they will), this is the difference between one day and three weeks.
The real cost of fragile integrations
An integration that works 95% of the time sounds acceptable. Let's see what 5% failure actually means for a company doing 1,000 operations a month:
- 50 problem operations a month
- 30 minutes average per operation to "fix by hand" = 25 hours a month of lost work
- At least one important decision made on dirty data, every month
- At least one customer receiving inconsistent information, every month
- Chronic operational stress on whoever holds the pieces together
On an annual scale: hundreds of hours, some bad decisions, some lost customers. The cost of a well-built integration is far lower than the cost of a fragile one dragged on for years.
When to bring in someone with experience
Simple integrations, low volume, between standard tools, can be done in-house or with no-code tools. It's worth involving someone experienced when:
- Volume is significant (hundreds of operations a day).
- Money is moving (payments, invoicing, inventory).
- The APIs involved are complex (ERPs, government systems).
- A break has visible customer-facing consequences.
- Multiple systems must stay aligned on shared information.
In those cases, the right way to evaluate a consultant isn't "how much do they cost." It's "how much is the fragile version of this integration costing me now and over the next two years." The answer, almost always, surprises.
In summary
Badly built integrations are one of the heaviest hidden costs in Italian SMBs. They're paid in wasted human time, decisions on bad data, lost customer trust. Well-built integrations aren't "more expensive": they're designed not to break silently.
Log, handle errors, retry intelligently, monitor actively, define the source of truth. Do this, and your integrations stop being the weak point of the business — and start being what they should be: invisible.
Conosciamoci.
Una call di 30 minuti, senza impegno, per capire se posso esserti utile.
Prenota una Call Gratuita
Aiuto agenzie e PMI a costruire sistemi digitali su misura per i loro processi reali.


