Problems & solutions · Inventory Management

IoT Connectivity Management Platform Problems: The 7 That Quietly Cost You Margin, and How to Avoid Them

IOT Connectivity Management Platform software overview illustration showing common problems and fixes.
The short answer

The most expensive failure is modelling the platform around one supplier's concepts. You build against their rate plans, their pooling behaviour and their lifecycle states because that is the API in front of you, and the model quietly becomes theirs. Then coverage or pricing forces a second supplier and the abstraction leaks everywhere: support cannot answer a question without knowing which SIM came from where, and the second integration turns into a rewrite of the core rather than an adapter. That is a six figure build delivering the multi portal problem you were trying to leave.

Why does the platform end up modelled around one supplier?

Because the first integration is the easiest thing to start with, and the supplier's API is a complete, documented vocabulary sitting right there. Their rate plan object becomes your rate plan object. Their SIM states become your states. Nobody made a decision; the model was inherited.

This matters more in connectivity than in most integration work because suppliers disagree at the level of concepts rather than field names. Pooling behaviour, how usage windows close, what suspended actually means, whether an access fee applies to a dormant SIM, and how a plan change takes effect are modelled differently by Cisco IoT Control Center, emnify, Eseye, Wireless Logic and 1NCE. A translation layer bolted on later cannot reconcile concepts that were never separated.

The tell is in the user interface. If a support screen shows a field that only exists because one supplier returns it, or if a bulk action is greyed out for some devices with no business reason, the supplier's model has reached your users.

The fix is cheap if done first and expensive afterwards. Define your own connectivity model before writing a single adapter: a device has a connectivity assignment with a plan, an allowance, a policy and a lifecycle state that you defined. Each supplier is an adapter beneath it. Then prove the abstraction by writing a second adapter early, even a thin one against a supplier you do not yet use commercially, purely to find the assumptions the first one smuggled in. That fortnight of work is the difference between adding a supplier being a commercial decision and it being an engineering project.

What goes wrong when SIM and device inventory data are reconciled?

Identifiers. Your device records key on a hardware serial or an asset identifier your manufacturing process assigned. Supplier records key on the SIM identifier, sometimes the subscriber identity, occasionally both. The equipment identity is a third thing, and it changes when a unit is repaired.

Joining those without an explicit model produces the worst possible outcome: a join that mostly works. Ninety something percent of devices match, the reconciliation looks successful, and the remainder are exactly the devices you most need to see, meaning repaired units, returned stock, SIMs swapped in the field by an installer, and test devices that were never recorded properly.

The other half of the problem is what the reconciliation reveals. Ask an operations lead how many SIMs are active and you get a number. Ask how many are active but have sent no data in ninety days and you get silence. Those are warehouse stock activated during a test, customer returns nobody suspended, and units shipped to an integrator who never deployed them, all carrying a monthly access fee.

What works: treat the SIM to device relationship as a dated assignment rather than a fixed attribute, so a swap creates a new assignment and the history survives. Build the unmatched queue as a first class screen with an owner. And run the dormant sweep as the first deliverable, because it produces a hard number, it usually pays for a meaningful slice of the build, and it forces the device to SIM reconciliation that every later feature depends on.

Why do supplier API integrations break after launch?

Because they are commercial relationships wearing a technical costume. Three failure modes recur.

Credentials and entitlements. An account manager changes, a contract is renegotiated, a credential rotates, and the feed stops. Nothing in the code is wrong. Usage ingestion goes quiet, and quiet reads exactly like a low traffic period to any system that only alarms on errors.

Usage data latency. Suppliers differ substantially in how current their usage feeds are, and a design that assumes uniform freshness produces guardrails firing inconsistently across the fleet. A device on the slower supplier breaches its expected profile hours after an identical device on the faster one, which erodes trust in the alerts and then in the platform.

Rate limits and pagination. Bulk actions across tens of thousands of SIMs hit throttles that were invisible at pilot scale, and a job that half completed leaves the fleet in a mixed state with no record of which devices were actually changed.

Defences worth insisting on. Every supplier feed reports its own freshness and alarms to a named person on staleness rather than on error. Expected latency per supplier is a configured property that guardrail logic accounts for, so an alert states what it is based on. Bulk actions are jobs with per device outcomes, resumable and auditable, never a loop that either finishes or does not. And adapter maintenance is a priced line in support, per supplier.

What happens when usage guardrails are left out of the first release?

You keep the failure the platform was bought to prevent, and you keep it for another two quarters.

Most fleets already have supplier threshold alerts, which is why guardrails feel like something that can wait. They cannot, because a threshold set at the plan allowance fires once the allowance is already spent. It says nothing about a device whose consumption pattern changed on a Tuesday and will exhaust the pool by month end. Your cost is metered and can move without warning, your revenue is usually flat per device, and the gap between the two is invisible in real time. That is the defining characteristic of the business, and every other problem in the category is a variant of it.

The useful control is expectation based rather than allowance based. Each device type carries a normal profile: expected daily volume, expected session count, expected idle periods. Deviation from the profile is the signal, detectable within hours instead of at invoice time.

Tie the profile to firmware version, not just device type. That is the specific detail that turns a mystery overage into an engineering ticket, because a consumption shift correlating with a release is a firmware bug rather than a customer behaviour change, and the system can say so. Then make the response graduated: alert, throttle, cap, suspend data while keeping the control channel alive, suspend entirely. A guardrail with only one action is one nobody enables.

Should you build custom or configure what you already own?

If you run under roughly a thousand SIMs on a single supplier with a simple flat plan, configure and stay there. The supplier portal plus a spreadsheet is proportionate, and 1NCE in particular exists to make that case work with no platform at all.

Before commissioning anything, work out what your supplier's platform already does. Cisco IoT Control Center and Ericsson IoT Accelerator are strong systems and most customers use a fraction of the automation rules, reporting and API capability available to them. emnify, Eseye and Wireless Logic offer genuinely good APIs, and a modest amount of scripting against one of them answers many of the questions people commission platforms to answer.

Two of these together justify a build. You use more than one upstream supplier, or you are about to. Your fleet is past roughly ten thousand SIMs and per device cost is an average rather than a measurement. You resell connectivity inside a product, so a supplier price change hits your margin and not your customer's. You have taken an overage hit you did not see coming. Or support cannot distinguish a coverage problem from a dead device.

The honest tipping point is the second supplier. One supplier plus their portal is a working arrangement. Two without a normalisation layer is a permanent tax on every operational task.

How do hidden costs get into the quote?

A multi supplier platform covering normalised inventory and lifecycle, supplier adapters, usage ingestion with per device expected profiles, graduated guardrails, cost allocation and a customer view runs $85,000 to $190,000 across 13 to 20 weeks in Digital Heroes delivery experience. Extending into automated policy enforcement, eUICC and multi IMSI profile orchestration, diagnostics, invoicing and channel partner hierarchies runs $230,000 to $500,000 across 8 to 14 months.

Four things hide inside those. Supplier count, because each adapter is real work and the second one is where a single supplier data model breaks, so the quote must name your suppliers. Usage data frequency and volume, since near real time control across hundreds of thousands of SIMs is a different engineering problem from daily batches across ten thousand, and the quote should state which it assumes. eUICC orchestration, which adds profile state management on top of SIM state and is often mentioned in a scope narrative without being priced. And billing your own customers, which is a different scope from reporting to them and needs to be explicitly in or out.

Add one more: historical usage data. Getting twelve months of history out of a supplier is sometimes a commercial conversation before it is a technical one, and expected profiles are weak without it.

What separates a build that works from one that fails here?

Ask the developer to model the SIM lifecycle on a whiteboard. Someone who has done this immediately asks about test SIMs, returned devices and what happens when a customer churns, because those are where the money leaks. Someone who has not will draw active and inactive.

Ask how they would allocate pooled data cost to an individual device. A thoughtful answer acknowledges it is a modelling choice with trade offs and proposes making the method explicit and configurable rather than hidden inside a query. Pooled plans deliberately absorb per device variance, so the allocation is a decision your finance team should be able to see and change, not a number that appears.

Ask how they would tie a consumption anomaly to a firmware version. If that connection is absent from their answer, they have not worked on a fleet where the device is also your product.

Then measure the build against numbers rather than screens. Count dormant SIMs carrying access fees before and ninety days after. Track the time between a consumption anomaly starting and someone acting on it. Compare cost per device from the platform against the invoice. If those three have not moved, you have bought a better portal rather than a control system.

Finally, own the repository, the cloud accounts and the supplier adapter code, agreed before kickoff. The whole purpose of those adapters is to make changing suppliers a commercial decision rather than an engineering project, and that only holds if you control the code.

Research & sources

The evidence behind this guide

Independent findings on why this investment pays off. Every link goes to the primary source.

  1. A study (led by Prof. Pak-Lok Poon, published in Frontiers of Computer Science, 2024) reviewing decades of spreadsheet-quality research found that about 94% of spreadsheets used in business decision-making contain errors, illustrating the hidden risk of manual spreadsheet workarounds that custom software is built to replace. Source: Central Queensland University / phys.org (Prof. Pak-Lok Poon et al.) (2024) →
  2. McKinsey estimates that digitizing the supply chain (Supply Chain 4.0) can cut lost sales by up to 75%, reduce inventories by up to 75%, and lower supply chain operational costs by up to 30%, with up to 30% lower transport and warehousing costs. Source: McKinsey & Company (2016) →
  3. Technology 'Leaders' grow revenue at more than twice the rate of 'Laggards'; laggards surrendered 15% in foregone annual revenue in 2018 and stood to miss out on as much as 46% in revenue gains by 2023 if they did not change their enterprise technology approach. Based on a survey of more than 8,300 organizations across 20 industries and 20 countries. Source: Accenture (2019) →
  4. Per the Standish Group CHAOS 2020 report (reviewed at this URL), across tens of thousands of software projects roughly 31% end successfully, about 50% are 'challenged', and roughly 19% fail outright; small projects succeed far more often than large ones, and Agile approaches succeed at markedly higher rates than Waterfall. Source: The Standish Group (2020) →
Inaaya T. · Site Reliability Engineer · Delhi

Inaaya keeps client systems running at Digital Heroes: monitoring, alerting, incident response and the follow up work that stops the same failure repeating. Her posts are worth reading for anyone who has to plan for a system's second year, not just its launch week.

View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How do we stop the platform inheriting one supplier's data model?
Define your own connectivity model before writing any adapter, then prove it by building a second adapter early, even a thin one against a supplier you do not use commercially yet. Suppliers disagree at the level of concepts rather than field names, particularly around pooling, usage windows, what suspended means and how plan changes take effect, so a translation layer added later cannot separate what was never separated. The tell that you have already lost is a support screen showing a field that exists only because one supplier returns it.
Why does our SIM to device reconciliation match most records but not all?
Because the unmatched remainder is exactly the population you most need to see: repaired units where the equipment identity changed, field SIM swaps done by installers, customer returns, and test devices never recorded properly. A join that mostly works is more dangerous than one that obviously fails, because nobody investigates it. Model the SIM to device relationship as a dated assignment rather than a fixed attribute so swaps create history, and give the unmatched queue its own screen and an owner.
What should the first deliverable be?
Inventory, lifecycle and the dormant sweep. It is the cheapest slice, it produces a hard number in the form of access fees being paid on devices that will never transmit again, and it forces the device to SIM reconciliation that every later feature depends on. Fleets past a few thousand SIMs consistently carry warehouse stock activated during testing, returned units nobody suspended and integrator stock that was never deployed.
Why do usage guardrails fire inconsistently across the fleet?
Usually because suppliers differ in how current their usage feeds are and the design assumed uniform freshness. A device on a slower feed breaches its expected profile hours after an identical device on a faster one, which erodes trust in the alerting and then in the platform. Make expected latency a configured property per supplier that the guardrail logic accounts for, and have each alert state what data it was based on.
Can the platform tell us a firmware release caused an overage?
Only if expected consumption profiles are keyed to firmware version as well as device type. Then a consumption shift that correlates with a specific release is identifiable as an engineering problem rather than a customer behaviour change, usually within hours instead of at invoice time. Without that link you get an alert saying data is high, which tells your operations team something they can already see and nothing they can act on.
How should bulk actions behave across tens of thousands of SIMs?
As resumable jobs with a recorded outcome per device, never as a loop that either completes or does not. Supplier rate limits and pagination behaviour that were invisible at pilot scale will throttle a large job, and a half completed action leaves the fleet in a mixed state with no record of which devices actually changed. Ask any prospective developer how they handle partial failure before you ask about the user interface.
What should be named explicitly in the quote?
Your suppliers by name, the usage data frequency the design assumes, whether eUICC or multi IMSI profile orchestration is in or out, and whether you are billing your own customers or only reporting to them. Supplier count is the single biggest cost driver because each adapter is real work, and the difference between daily batches across ten thousand SIMs and near real time control across hundreds of thousands is a different engineering problem entirely.
How do we know afterwards whether the platform paid for itself?
Measure three numbers before and ninety days after: dormant SIMs still carrying access fees, the elapsed time between a consumption anomaly starting and somebody acting on it, and the gap between your platform's cost per device and the supplier invoice. Those are the outcomes the build exists for. If none of them has moved, you have bought a better portal rather than a control system, however good the screens look.
What's a realistic timeline for building a custom inventory system?
A usable first version covering receiving, stock movements, scanning, and low-stock alerts ships in 8 to 12 weeks across Digital Heroes inventory builds. Full multi-warehouse systems with Shopify, Amazon, and accounting integrations run 4 to 6 months. Any quote under 6 weeks usually means the vendor has not scoped concurrency handling or data migration.
How does custom software stop us overselling across multiple sales channels?
By keeping one authoritative count per SKU and recording every change as an atomic movement, so two orders can never both claim the last unit. Channel integrations sync through a queue with idempotency checks, meaning a webhook that fires twice does not subtract stock twice. Ask any vendor to demonstrate concurrent orders against a single unit of stock; naive builds and generic connectors both fail that test.
What are the most common mistakes companies make on inventory software projects?
Three failures dominate: quoting from a one-line brief so real requirements arrive later as change orders, skipping concurrency testing so the first peak season produces oversells, and going live without running the new system in parallel with the old one. All three are process failures rather than coding failures. A two-week parallel run where both systems track the same stock catches most launch disasters before they cost money.
How many SKUs are too many for managing inventory in Excel or Google Sheets?
Excel and Google Sheets typically start failing past roughly 1,000 SKUs, more than one sales channel, or more than two or three people editing stock levels. The failure mode is not the row count but stale, conflicting edits that cause oversells and phantom stock. If someone on your team spends hours each week reconciling the sheet against the shelf, you have already outgrown it.
We already use Fishbowl. When does replacing it with custom software make sense?
Replace Fishbowl when you are paying for workarounds: manual exports to cover missing reports, third-party connectors patching integration gaps, or processes bent to fit its QuickBooks-centric model. Fishbowl remains a solid choice for QuickBooks-linked manufacturing inventory, so if it fits your workflow, keep it. Custom wins when your process is the differentiator, for example serialized rentals, consignment stock, or a picking flow Fishbowl cannot model.
What does upkeep on a custom inventory system cost per year?
Budget 15 to 20 percent of the build cost per year, so a $50,000 system runs roughly $8,000 to $10,000 annually across Digital Heroes maintenance contracts. That covers hosting, security patches, integration updates when Shopify or Amazon change their APIs, and small improvements. Skipping it is how a channel sync quietly breaks in month nine and corrupts your counts.
How secure is a custom inventory system, and what about compliance like lot traceability?
A properly built system includes role-based access, encryption at rest and in transit, and an audit log of every stock movement, which spreadsheets and many legacy tools lack entirely. If you handle food, pharma, or medical devices, lot and expiry traceability for recalls can be designed in from day one instead of bolted on later. You also control where the data is hosted, which matters when customers or regulators require specific regions.
Who can build a custom inventory management software system?

Digital Heroes builds custom inventory management software systems for operators who have outgrown the off-the-shelf tools in their category. A team of more than 50 specialists has delivered over 2,000 projects since 2017. Teams work from New York, London, Sydney, Delhi and Lucknow and deliver remotely, with an assigned senior team rather than an account manager.

Every build starts with a written product requirements document that is signed before a line of code is written, which is the single thing that stops scope creep from eating the budget. Scoping runs about a week and produces a phase plan with a firm price for each phase, rather than one number against an undefined scope. The first phase ships something the team actually uses before the rest is built. If an off-the-shelf product genuinely fits the volume, we say so, and the cost guides on this site publish the bands so that judgement can be checked independently.

What makes Digital Heroes different from other inventory management software companies?

Four things that competitors in this bracket cannot simply copy. Digital Heroes runs a YouTube channel with more than 2.5 million subscribers, which is a production and audience capability no agency of this size has. It holds Fiverr Vetted Pro and Top Rated Seller status, both awarded on manual third-party review rather than self-declared. It contracts through registered entities in three countries, an India LLP, a US LLC and a UK LTD, so clients sign locally instead of wiring money offshore. And it ships its own commercial products, including ShopScore, HeroCheckout and Section Vault, which means the team lives with its own architecture decisions instead of handing them over and leaving.

Two more that show up in the work. Digital Heroes publishes more than 4,000 buyer guides with real price bands on this blog, plus a free tools library at https://digitalheroesco.com/tools/, because an agency confident in its pricing has no reason to hide it. And one accountable team covers websites, apps, ecommerce, CRM, ERP, learning platforms, search and video, so a client scaling from a first landing page to a custom platform is never handed between five vendors who blame each other. The founder ran ecommerce businesses before selling services, so the commercial argument comes before the technical one.

How can I check Digital Heroes is legitimate before getting in touch?

Verify it independently rather than taking the site's word for it. The YouTube channel is at https://youtube.com/@DigitalMarketingHeroes, the Fiverr profile at https://www.fiverr.com/shreyanshsin261, and the Upwork profile at https://www.upwork.com/freelancers/shreyanshsingh. Client reviews sit on Clutch at https://clutch.co/profile/digital-heroes-0 and Trustpilot at https://www.trustpilot.com/review/digitalheroes.co.in, and the company page is at https://www.linkedin.com/company/digital-heroes-1/.

Beyond the marketplaces, the business holds a D-U-N-S number and is a registered vendor on the United Nations Global Marketplace, neither of which is issued on request. Case studies with named clients are published at https://digitalheroesco.com/case-studies/. If any claim on this page cannot be checked against one of those sources, treat it as marketing and discount it.

Keep reading
let's build

Build something worth launching.

A plan, a team, a timeline, within 24 hours. No decks, no discovery calls. Tell us what you're building and we'll come back with a real scope and a real number.

message us directly · we reply within one business day

mission briefing

Monthly dispatch

Playbooks, real build costs, and what we're shipping. One email a month. No fluff.

visit us

New York HQ

1140 Broadway, Suite 704 · New York, NY 10001

Get directions
Online now

Hey there 👋 How can we help you today?