Industry guide · Custom Software

eSIM Lifecycle Management Development: What Happens When a Profile Downloads to the Wrong Device and Support Cannot See It

eSIM Lifecycle Management software visual showing microchip, cloud download, and task checklist.
The short answer

An eSIM orchestration layer over an existing SM-DP+ runs $70,000 to $160,000 and ships in 12 to 18 weeks in Digital Heroes delivery experience, covering profile inventory, activation code issuance, download state tracking, device eligibility checks, retry and recovery flows, and a care console that shows profile state in one screen. Extending that into device-to-device transfer, multi-profile management, dealer and retail activation journeys, and IoT bulk provisioning under SGP.32 runs $200,000 to $450,000 across 7 to 12 months. Build this layer when your support team cannot answer where a profile is, or when a stranded activation costs you a device return. Do not build the secure elements themselves: keep your SM-DP+ with Thales, IDEMIA, Giesecke+Devrient, Kigen or Workz, and build the operational layer that none of them own.

Why eSIM breaks operators in a place they were not watching

A customer buys a new phone on Saturday. They open your app, tap transfer, and something goes wrong: the profile shows as downloaded but the device says no service, or the QR code was scanned once on a tablet nobody remembers, or the download hit a retry limit and the activation code is now spent. On Monday they are in a store or on a call, and the agent has no way to see what actually happened. The agent's tooling shows a subscriber, a plan and a phone number. The profile state lives on the SM-DP+, behind a vendor portal that only two engineers have access to, and it is not joined to anything else.

The customer is not slightly inconvenienced. They have a phone that cannot make calls. In consumer retail this is the single highest-emotion failure an operator produces, and the recovery path is usually the same everywhere: escalate to a small internal team, have someone with portal access release the profile manually, issue a new activation code, and ask the customer to try again. That loop takes hours or days. For a device manufacturer shipping connected hardware, the same failure means a product that never onboarded, and a return that costs far more than the connectivity ever earned.

The structural cause is that eSIM split one object into three systems. The commercial subscription lives in your BSS. The secure profile lives on an SM-DP+ operated by a SIM vendor. The physical eUICC lives in a device with its own EID, its own OS version and its own quirks about how it handles a failed download. Nothing joins those three, so nobody can answer the only question that matters during an incident: what state is this specific customer's profile in right now, and what is the safe next action.

Problem 1: profile state is real, and your systems pretend it is a boolean

Under the GSMA consumer architecture, a profile moves through defined states: released for download, downloaded, installed, enabled, disabled, deleted. Those transitions can be initiated by the operator, by the device, or by the user, and some of them are not reversible. A profile that has been downloaded to an EID cannot simply be handed to a different device. A deleted profile is gone, and reissuing means a new profile from inventory.

Most operator stacks collapse all of that into an activated flag on the subscription. So the BSS thinks the line is live, the device disagrees, and the truth sits in a third system. Every downstream process inherits the lie: billing starts, the welcome campaign fires, and the customer is holding a phone with no service while your systems congratulate themselves.

What a custom build does: mirror the profile state machine locally as a first-class object, keyed on ICCID and EID, updated from the SM-DP+ over its result notification path, with every transition timestamped and attributed to whoever caused it. That local mirror is what makes support possible. It is also what makes safe automation possible, because an automated recovery action can check the actual state instead of guessing.

Problem 2: the vendors you already pay do not own the customer journey

Thales, IDEMIA, Giesecke+Devrient, Kigen and Workz are serious infrastructure vendors and you should not try to replicate what they do. Running a certified SM-DP+ means security accreditation, key management and GSMA compliance obligations that are their business and not yours. Their platforms are built to issue and manage profiles correctly and securely, and they do that well.

What they are not built to do is your retail flow. They do not know that your prepaid activation requires an identity check before profile release in one market and not another. They do not know that your postpaid upgrade journey should keep the old profile enabled until the new one is confirmed working. They do not know that your care team is measured on first contact resolution and needs a one-click safe release. Those are operator-specific decisions, and vendor portals expose primitives, not journeys. The gap between primitive and journey is exactly where customers get stranded.

What a custom build does: sit between your BSS, your care tooling and the SM-DP+, and encode the journeys. Profile release becomes a business action with preconditions, not an API call somebody makes from a portal. Retry has a policy. Recovery has an authorised path an ordinary agent can execute without escalating to engineering. That last point is the one that changes support cost.

Problem 3: device compatibility is a matrix, and it changes every autumn

Not every device handles eSIM the same way. Some support multiple installed profiles, some support one. Some expose an in-app transfer path, some require the settings app. Carrier bundle behaviour differs. Older OS versions handle download failures differently from current ones. Every September a new device generation lands and changes the assumptions your activation flow was written against.

Operators typically discover this through support tickets rather than through data, because nothing records the device model and OS version at the moment a download failed. So the pattern stays invisible: a particular model on a particular OS build fails at a particular step, and it looks like random noise across thousands of tickets.

What a custom build does: capture device model, OS version and EID with every download attempt and every failure, then make eligibility a data-driven rule rather than a hard-coded branch. When a new device family behaves differently, you change a rule and ship it in a day rather than waiting for an app release. Operators who do this find the failure clusters within a week instead of a quarter, and can proactively route affected customers to a working path.

Problem 4: SIM stock, eSIM inventory and activation state live in three places

Physical SIM stock sits in a warehouse system or a spreadsheet with ICCID ranges by batch. eSIM profile inventory sits with the SM-DP+ as pools awaiting release. Activation state sits in the BSS. Nobody can answer how many usable prepaid profiles are available for the market that is about to run a promotion, or how many activation codes were issued in the last thirty days and never consumed.

That unconsumed pool is real money. Codes issued and abandoned represent profiles that cannot be reused until someone reclaims them, and reclamation is usually manual because nobody built the sweep. It is also a security question: an activation code sitting in an email inbox for six months is a credential.

What a custom build does: one inventory model spanning physical and embedded, with expiry policy on issued activation codes, automated reclaim of abandoned profiles back into the pool, and stock alerting per market and per profile type. This is unglamorous and it consistently pays for itself, because it turns a recurring manual audit into a dashboard.

Problem 5: IoT eSIM is a different product wearing the same name

If you are a device manufacturer rather than a consumer operator, almost none of the above applies in the same shape. There is no user to scan a QR code. Profiles have to arrive on devices in the field or on a production line, in bulk, with no human in the loop, which is precisely why the GSMA published a separate IoT remote provisioning specification. Fallback matters more than experience: a device that loses connectivity must be able to recover a working profile without a truck roll.

Building for consumer and IoT with one flow is a common and expensive mistake. The state machines overlap but the trigger model does not: consumer is user-initiated with retries, IoT is fleet-initiated with orchestration windows, and the failure recovery for IoT has to assume the device cannot ask for help. Decide which product you are building for before the first sprint, and if the answer is both, scope them as two journeys over one inventory model.

What this costs and how long it takes

Across projects Digital Heroes has delivered, an orchestration layer over an existing SM-DP+ runs $70,000 to $160,000 across 12 to 18 weeks. That covers the local profile state mirror, activation code issuance with expiry, download and installation tracking, device eligibility rules, retry and recovery flows, inventory with automated reclaim, and a care console. Extending into device-to-device transfer journeys, multi-profile handling, retail and dealer activation, and IoT bulk provisioning runs $200,000 to $450,000 phased across 7 to 12 months.

What drives price up in this category: the number of SM-DP+ vendors you integrate, because their interfaces and notification behaviour differ in practice even where the specification is common. Multi-market operations, because identity verification requirements and profile release preconditions vary by country. Retail store integration, because in-store activation has different authentication and different failure handling from app activation. And any requirement to support both consumer and IoT provisioning models in one release.

What keeps price down: starting with the care console and the state mirror only. Give agents visibility first. It is the cheapest part of the build and it removes most of the escalations, which buys you time to do the rest properly.

Build versus buy, and where the line sits

Do not build an SM-DP+. That is not a cost decision, it is a compliance and key-management decision, and your vendors already carry it. Buy that layer and keep buying it.

Do build the orchestration layer if two or more of these are true. Your care team escalates profile issues to engineering more than a handful of times a week. You are shipping devices where a failed onboarding causes a return. You operate in more than one market with different activation preconditions. You are moving from physical SIM to eSIM-first and the retail journey is being designed now. Or you have no reliable count of issued-but-unconsumed activation codes, which means you have an inventory leak you cannot size.

Stay with vendor tooling alone if you are a small MVNO with one market, one SM-DP+, low volume, and an engineering team that can absorb the occasional manual release without it hurting. Below a certain activation volume, the manual path is genuinely cheaper than the build.

How to choose a developer for eSIM work

Ask them to explain the difference between an EID and an ICCID, and what happens when a profile is downloaded to the wrong EID. Someone who has done this work answers immediately and then tells you why release and reissue is not always possible. Someone who has not will talk about QR codes.

Ask which SM-DP+ platforms they have integrated with by name, and specifically how they handled result notifications and reconciliation when a notification is missed. Missed notifications are the normal case in production, and a build that assumes they always arrive will drift out of sync within weeks.

Ask how they would design the care agent screen. This is a good test because it forces them to think about state, permissions and safe actions rather than APIs. If the answer does not include who is allowed to release a profile and what gets logged when they do, they have not run this in production.

Ask who owns the code, repository and cloud accounts before kickoff. Digital Heroes hands the client the repository and the device eligibility data at the start of the work. Bring us your current activation failure tickets from the last month and your SM-DP+ vendor, and we will map where customers are getting stranded before quoting anything.

Research & sources

The evidence behind this guide

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

  1. Across 1,471 IT projects the average cost overrun was 27%, but one in six projects was a 'black swan' with an average cost overrun of 200% and a schedule overrun of nearly 70%. Source: Harvard Business Review (Bent Flyvbjerg & Alexander Budzier, University of Oxford) (2011) →
  2. A 0.1-second improvement in mobile site speed increased retail conversions by 8.4% and average order value by 9.2%; travel conversions rose 10.1%. Source: Deloitte & Google (2020) →
  3. Acquiring a new customer is five to 25 times more expensive than retaining an existing one, and research by Frederick Reichheld of Bain & Company found that increasing customer retention rates by 5% increases profits by 25% to 95% - underscoring the ROI of support that keeps customers. Source: Harvard Business Review / Bain & Company (2014) →
  4. Digital Champions expect to achieve about 16% in cost savings and around 15% in revenue gains from digital operations over five years; the study surveyed 1,155 manufacturing executives across 26 countries. Source: PwC / Strategy& (2018) →
Mahira K. · Lead UI/UX Designer · Lucknow

Mahira leads UI and UX design, which at an agency means moving from a vague client request to wireframes, then to screens engineers can build without guessing. She works on dashboards, storefronts and internal tools where usability decides whether staff adopt the software. Her posts focus on design decisions that survive contact with users.

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

FAQ

Frequently asked questions

How much does custom eSIM lifecycle management software cost?
An orchestration layer over an existing SM-DP+ runs $70,000 to $160,000 across 12 to 18 weeks in Digital Heroes delivery experience, covering profile state mirroring, activation code issuance, device eligibility, retry and recovery, inventory and a care console. Extending into device transfer journeys, retail activation and IoT bulk provisioning runs $200,000 to $450,000 over 7 to 12 months. Cost rises with the number of SM-DP+ vendors and the number of markets with different activation preconditions.
Do we need to build our own SM-DP+ or can we keep using our SIM vendor?
Keep the vendor. Running a certified SM-DP+ carries security accreditation and key management obligations that Thales, IDEMIA, Giesecke+Devrient, Kigen and Workz already hold, and duplicating it buys you nothing. What is worth building is the layer above: the journeys, preconditions, retries, recovery paths and care visibility that vendor portals expose only as raw primitives.
Why can support never tell a customer why their eSIM download failed?
Because profile state lives on the SM-DP+, subscription state lives in the BSS, and the device state lives on the handset, and nothing joins them. Agent tooling usually shows an activated flag that reflects the subscription rather than the profile. Mirroring the profile state machine locally, keyed on ICCID and EID with timestamped transitions, is what turns an engineering escalation into a first contact resolution.
Can custom software handle transferring an eSIM to a new phone safely?
Yes, and the safe design keeps the existing profile enabled until the new download is confirmed installed, rather than releasing first and hoping. That requires the local state mirror, because you need to know the real state on both devices before acting. Device model and OS version should be captured at every step, since transfer behaviour differs between device families and changes with new releases.
How is IoT eSIM provisioning different from consumer eSIM?
Consumer provisioning is user-initiated, assumes someone can scan a code or tap a button, and can rely on retries with a human present. IoT provisioning is fleet-initiated, runs with no human in the loop, and must assume a device in the field cannot ask for help, which is why the GSMA published a separate IoT remote provisioning specification. Building both journeys over one flow is a common and expensive mistake, though they can share one inventory model.
How long does an eSIM orchestration build take?
A first release with the state mirror, activation issuance, eligibility rules, recovery flows and a care console ships in 12 to 18 weeks. The main schedule risk is access: getting test credentials and a sandbox on your SM-DP+ vendor, plus real devices across the model range you support. Start the vendor access request on day one, because it runs on their calendar rather than yours.
What should we do about activation codes that were issued and never used?
Give them an expiry policy and an automated reclaim sweep that returns the profile to the available pool. Unconsumed codes are both an inventory leak and a security exposure, since a code sitting in an inbox for months is effectively a credential. Most operators cannot report how many they have outstanding, which is usually the first number a build makes visible.
Can we support multiple SM-DP+ vendors in one platform?
Yes, and it is worth designing for even if you start with one, because operators consolidate and switch. The practical differences show up in notification behaviour and error semantics rather than in the headline specification, so the abstraction should sit at the level of your own profile state machine with vendor-specific adapters underneath. Retrofitting a second vendor into a single-vendor design usually means touching the whole provisioning path.
Who owns the code and the integration if an agency builds this?
You should own the repository, the cloud accounts and the right to hire anyone else to continue the work, written into the contract before kickoff. At Digital Heroes the client keeps the repository and the profile orchestration logic from the first commit. This matters more than usual in eSIM work, because the orchestration layer sits between your BSS and a vendor you also depend on, and you do not want a third dependency in the middle of that.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
How many people should be working on my software project?
A typical $40,000 to $150,000 build runs on three to five people: a technical lead, one or two developers, a designer, and someone owning QA and project communication, often as overlapping part-time roles. More bodies do not make software arrive faster; past a point they slow it down with coordination overhead. The question that matters more than headcount is whether one named senior engineer is accountable for the outcome.
How do we get years of data out of our old system and into the new one?
Treat migration as a planned sub-project: a field-mapping document, at least one dry run on a copy of your data, then a cutover with the old system kept read-only for 30 days as a safety net. On Digital Heroes projects it consumes 10 to 15% of the budget when the old system has an export, and more when data must be pulled out screen by screen. Ask any vendor to walk you through their last migration before you sign.
Is a solo freelancer enough for my project, or do I really need an agency?
A solo freelancer is a fine choice for a well-defined build under roughly $15,000 to $20,000 with a limited lifespan: an internal calculator, a scripted integration, a prototype. Above $50,000, or for any system your business will depend on for years, you are buying continuity as much as code: enforced code review, cover when someone is ill, and support that outlasts one person's career plans. Price the risk of a single point of failure, not just the hourly rate.
Who owns the code when an agency builds my software?
You should, completely, through a written intellectual property assignment that transfers everything on final payment; without that clause, copyright stays with whoever wrote the code by default. Insist that the repository lives in your own GitHub organization from day one and that hosting, domains, and third-party accounts are registered to you. Also check for licenses to the agency's proprietary frameworks buried in the contract, because those can make switching vendors practically impossible even when you own your own code.
Can we migrate years of data out of our current system into new custom software?
Almost always yes, through CSV exports or the vendor's API, and migration should be scoped as its own workstream with field mapping, a dry run, and a planned cutover window rather than an afterthought. The real time sink is rarely moving the data; it is cleaning it, since years of duplicates, free-text fields, and inconsistent formats surface all at once. Pull a full export from your current vendor before committing to anything new, because some SaaS plans restrict exports on lower tiers.
If an agency builds my software, who actually owns the code?
You should own everything, assigned in writing: the contract transfers full IP to you on final payment, the code lives in your GitHub organization, and hosting runs in cloud accounts you control. The red flag is a proposal that mentions the agency's proprietary platform or framework, which usually means you are renting, not buying. Digital Heroes structures every build this way precisely so a client can fire us and lose nothing but the relationship.
Will an app built for 10 users survive growing to 500?
Yes, if it is built on standard cloud infrastructure with a sound data model, because moving from 10 to 500 users is a hosting configuration change, not a rebuild. The scaling decisions that actually hurt are made early and invisibly: how the database is structured, how accounts and permissions are modeled, and whether background work is queued properly. Ask your agency how the system would handle ten times the load; the right answer is boring and specific, and a promise to cross that bridge later means you will pay for the bridge twice.
How long does it take from first call to software my team can actually use?
Plan for four to six months: two to three weeks of discovery, two to four weeks of design, then a 10 to 16 week build with testing. In Digital Heroes delivery experience the schedule killer is not engineering speed but decision lag; a client who takes two weeks to approve wireframes adds two weeks to launch. Book a weekly 30-minute decision slot before kickoff and most of that risk disappears.
What should I prepare before contacting a software development agency?
A one-page brief beats a 40-page requirements document: the business problem in plain words, who will use the system, the 5 to 10 workflows it must handle, the tools it must connect to, and your budget range and deadline driver. You do not need wireframes, a specification, or technical vocabulary; producing those is the agency's job during discovery. Stating a budget range up front is the single best move, because it gets you honest scoping instead of a quote engineered to win the meeting.
What does it cost to keep custom software running after launch?
Budget 15-20% of the original build cost per year, which on a $100,000 system means $15,000 to $20,000 for security patches, dependency updates, bug fixes, and small improvements as real usage reveals what the spec missed. Cloud hosting for a typical business application adds $50 to $300 a month on top. Skipping maintenance does not save the money; in Digital Heroes rescue work, unmaintained systems typically need a far more expensive rebuild within about three years.
Who can build a custom software system?

Digital Heroes builds custom 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 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?