Problems & solutions · ERP

MVNO Platform Problems: The 7 That Eat Your Wholesale Margin, and How to Avoid Them

Mvno Operations Platform Development architecture and database illustration showing common problems and fixes.
The short answer

The most expensive failure in an MVNO build is a data model that stores rates as current values rather than effective dated versions. Every host operator sends late corrections, and roaming records arrive later still because they pass through clearing, so a usage record for the second of the month can land on the twelfth. If the system reprices it at today's rate card, your wholesale ledger silently disagrees with the host invoice, the monthly reconciliation goes back to a spreadsheet, and the one analyst who understands the difference becomes the only person in the company who knows your real margin.

Why does the launch scope quietly become a full carrier BSS?

The brief starts as a launch: three plans, one host, physical SIM, a care console. Then commercial asks for a family pool because that is the proposition. Finance asks for dunning because collections policy exists. Distribution asks for dealer commission because that is how the SIMs get sold. Someone mentions enterprise accounts, which changes the billing subject from the SIM to the account. Each request is reasonable and each one lands in the charging engine rather than in a settings screen.

The reason this happens specifically to MVNOs is that the whole point of the business is a proposition the host will not offer, so nobody wants to be the person who says the differentiator waits for release two. Six weeks of discovery turns a $90,000 to $200,000 launch core into the $250,000 to $600,000 full platform, and now you are 9 to 15 months from taking a subscriber.

The discipline that works is to launch with one host, one SIM form factor and three plans, and to say plainly that you will learn more from three plans in market than from thirty in a specification. What must be in release one is the shape of the data model, not the breadth of the catalogue: effective dated rates, immutable rated events, and a subscriber record that does not assume a single host. Those are the things that cannot be retrofitted. A fourth plan can be added on a Tuesday.

What goes wrong when you migrate subscribers and usage history off an MVNE?

Most MVNOs that build have already launched on an MVNE such as Effortel or Transatel and outgrown it, so the build starts with a migration under live traffic. Three things break in that migration and none of them are code.

The first is that the MVNE's subscriber record is shaped around their platform, so balances, bundle remainders and allowance expiry dates do not map cleanly onto your model. A prepaid subscriber with 4.2GB remaining and a bonus tranche expiring on the nineteenth has to arrive on the new system with both facts intact, or your first week of operation generates disputes you cannot answer.

The second is usage history. You need enough of it to explain past invoices when a customer queries them, and to compute your own margin trend, but the MVNE holds it in their format with their identifiers. Agree the extract format, the retention period and the cost in writing before you give notice, not after.

The third is the host relationship. If the MVNE holds the host agreement, migrating means renegotiating with the host directly, and the commercial schedule you end up with may differ from the one your build was designed against. Start that conversation before engineering, because the wholesale constructs in the agreement are the thing the system has to model.

Why do the host provisioning, eSIM and payment integrations break after launch?

Host provisioning breaks around state, not connectivity. Your system asks the host to activate a SIM, the host accepts, and then a downstream step in their network fails or lags. If your model treats the API response as the truth, you have a subscriber marked active who has no service, and a care agent with no way to see the difference. The design that survives holds the host response and the observed state separately and reconciles them, with a queue for divergence.

eSIM breaks around consumption. A profile on an SM-DP+ has its own download state, and the failure modes are unfamiliar: a QR code used on the wrong device, a download that started and never completed, a profile deleted by a customer who then wants it back. Each of those is a support call with an angry customer and no phone service, and each needs an explicit path rather than a manual intervention.

Payments break on recurring charges. Stored credentials expire, issuers decline, and retry logic that is too aggressive triggers fraud controls while retry logic that is too passive loses revenue. This is ordinary engineering, and it is routinely underscoped because it looks like a checkout.

The fix is to require named interfaces and named failure paths in the statement of work: this host, this provisioning method, this SM-DP+, this gateway, and what the care agent sees when each one disagrees with reality.

What happens when rate card versioning and retroactive corrections are not covered?

This is the failure that quietly destroys trust in the system. The host bills on its own schedule with its own aggregation windows, and it sends corrections. Roaming arrives late because it clears first. If your rated events are mutable and your rates are stored as current values, a correction landing on the twelfth for usage on the second gets priced at today's card, the delta disappears, and the wholesale ledger drifts from the host invoice by an amount nobody can explain.

The design that holds is effective dated rate cards, immutable rated events that carry the rule and rule version that priced them, and every host record ingested with its own arrival timestamp alongside the usage timestamp. Then a late correction is applied to the day it belongs to and the difference is a visible number rather than an absence.

The same property gives you the other thing you need, which is explainability. An agent handling a billing dispute should be able to click an invoice line, see the rated events behind it, and see the source host record and catalogue version. Without that, every dispute becomes a goodwill credit, and goodwill credits are pure margin loss in a business whose margin is already thin.

Should you build custom or configure what you already own?

If you are testing a market, buy. A full stack MVNE such as Effortel or Transatel gives you connectivity, business support systems and often the host relationship in one contract, and you can be live in months without an engineering team. The trade is revenue share and a proposition constrained to what their platform models. For a brand extension launching one simple plan to an existing audience, under roughly 20,000 expected subscribers, that is the correct decision and we say so.

If your problem is real time charging depth rather than proposition flexibility, look at MATRIXX or Optiva before you build. They are genuinely strong at convergent real time rating, and if you are large enough to afford them and generic enough to fit them, buying that engine is sensible. Comarch and Nexign bring full carrier grade suites with the same caveat: they encode a large operator's assumptions, and configuring them into your shape is a systems integration programme rather than a settings screen.

Build when two or more of these are true. Your differentiation is a plan structure no packaged platform represents natively. You are running or planning more than one host, including multi country. Your base is past roughly 50,000 and the per subscriber platform fee is a visible line in your profit and loss. You sell through dealers or enterprise accounts where the billing subject is not the SIM. Or your reconciliation takes more than three working days and depends on one person.

How do hidden costs get into the quote?

The first hidden cost is the second host operator. Systems built against one host tend to embed that host's identifiers, rate structure and provisioning semantics into the subscriber record, so adding a second means touching almost everything. If multi host or multi country is anywhere in your two year plan, say so during discovery even if you are launching with one, because designing for two costs modestly more now and saves a rewrite later.

The second is real time control. If your host exposes charging in the signalling path and you want genuine live balances, that is integration into a network path rather than a batch feed, and it is a different class of work. Quotes that promise real time balances without asking what the host exposes have not read your agreement.

The third is roaming. Clearing introduces late records, disputes and a settlement process, and every one of those is scope.

The fourth is regulatory obligation in your market, which varies enormously and should be scoped with counsel before engineering rather than discovered during certification. And the fifth is prepaid. Retrofitting prepaid balances and control policy into a postpaid only data model is one of the more expensive rewrites in this category, so if both are in your future, model both from the start even if you launch with one.

What separates an MVNO build that works from one that fails?

The first separator is whether the developer asks about your wholesale schedule before your screens. Someone who has done this will immediately want to know whether a pooled allowance is calculated across active or provisioned SIMs, how a mid cycle plan change prorates on the wholesale side, and what happens to a late roaming record after the retail invoice has issued. Someone who has not will draw customers and plans and start talking about a dashboard.

The second is effective dated rates and immutable rated events. If that is not in the answer when you ask about corrections, finance will not trust the system in year two and the spreadsheet will come back.

The third is one screen for care. An agent should see the subscriber, the SIM or eSIM profile, the port request state, the host provisioning response and the last usage record together. Agents currently move between four browser tabs to answer one question, and collapsing that is the fastest measurable win in the whole build.

The fourth is simulation. A product manager should be able to compose a plan and run it against last month's actual usage before launch, which is the difference between launching a bundle and knowing what it costs.

The last is ownership. The platform is the mechanism that controls your margin. At Digital Heroes the client keeps the repository, the cloud accounts and the host integration work from the first commit, because a developer who wants to hold those keys is selling you the dependency you left the MVNE to escape.

Research & sources

The evidence behind this guide

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

  1. In the Flexera 2025 State of ITAM report, respondents reported roughly 33% of SaaS spend is wasted, underscoring how paying for off-the-shelf seats and tiers that go unused erodes the supposed cost advantage of generic SaaS. Source: Flexera (2025) →
  2. Poor software quality cost the US economy an estimated $2.41 trillion in 2022, including roughly $1.52 trillion in accumulated technical debt, driven partly by unsuccessful development projects and low-quality legacy systems. Source: Consortium for Information & Software Quality (CISQ) - Herb Krasner (2022) →
  3. The performance gap between digital and AI leaders and laggards is widening: McKinsey reports leaders pull ahead on shareholder returns, and the average maturity spread between top and bottom performers jumped ~60% (from 10 points in 2016-19 to 16 points in 2020-22), reinforcing that the returns to transformation concentrate among top performers. Source: McKinsey & Company (2023) →
  4. Only 16% of respondents said their organizations' digital transformations had successfully improved performance and equipped them to sustain gains over the long term; even in digitally savvy industries such as high tech, media, and telecom, self-reported success rates did not exceed 26%. Source: McKinsey & Company (2018) →
Prasun Anand · CEO & Founder · New York

Prasun founded Digital Heroes in 2017 and leads it from New York. His work sits where commercial decisions meet delivery: which projects to take on, how teams are shaped across five offices, and where a build is likely to go wrong. Readers get the view from the side that owns the outcome.

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

FAQ

Frequently asked questions

What has to be right in release one and what can wait?
The data model has to be right: effective dated rate cards, immutable rated events that carry the rule version that priced them, and a subscriber record that does not assume a single host. Catalogue breadth can wait, and should. Launch with one host, one SIM form factor and three plans at $90,000 to $200,000 over 14 to 22 weeks, then add dealer hierarchies, dunning and a second host once real traffic has taught you which assumptions were wrong.
We are migrating off an MVNE. What breaks first?
Balances and bundle remainders, because the MVNE's subscriber record is shaped around their platform and does not map cleanly onto yours. A prepaid customer with a partial allowance and a bonus tranche expiring mid month has to arrive with both facts intact or your first week generates disputes nobody can answer. Agree the extract format, usage history retention and cost in writing before you give notice, and check whether the MVNE holds your host agreement, because migrating may mean renegotiating with the host directly.
Why does a subscriber show as active with no service?
Because the system treated the host provisioning API response as the truth. The host accepts the request, a downstream step in their network fails or lags, and your record says active while the handset says nothing. The design that survives holds the requested state and the observed state separately, reconciles them on a schedule, and puts divergences in a queue a care agent can see, so the agent knows the difference between a customer who is wrong and a provisioning failure.
How should late and corrected usage records be handled?
Ingest every host record with its own arrival timestamp alongside the usage timestamp, price it against the rate card that was effective on the usage date, and keep the rated event immutable. A correction landing on the twelfth for usage on the second is then applied to the second and the delta is a visible number. If instead you reprice at today's rates, the difference disappears, your wholesale ledger drifts from the host invoice, and finance rebuilds the reconciliation in a spreadsheet.
Can we get real time data balances in our app?
Only if your host exposes it. If the host offers real time charging control or usage notification in the signalling path, yes, and the balance can be genuinely current. If the host only sends periodic usage files, the honest design is a near real time counter fed by the fastest available feed, reconciled later against the authoritative billing records, with a stated policy for disagreements. Any developer promising real time balances without asking what the host exposes has not read your agreement.
What makes adding a second host operator so expensive later?
Systems built against one host tend to embed that host's identifiers, rate structure and provisioning semantics directly into the subscriber and usage records, so a second host means touching almost every layer. The usage file dialect is different, the provisioning API is different, and the commercial constructs rarely line up. Designing for two from the outset costs modestly more, so raise multi host or multi country during discovery even if you are only launching one.
How do we handle eSIM alongside physical SIM without doubling the work?
Treat them as one inventory model with different fulfilment paths and one state machine. Physical SIMs move through manufactured, allocated, shipped, sold and activated states tied to ICCID ranges. eSIM profiles sit on an SM-DP+ with activation codes and download states, and their failure modes are different: a code consumed on the wrong device, a download that never completed, a profile a customer deleted. Both belong on the same subscriber timeline so a care agent sees one story rather than two portals.
Why do billing disputes cost us more than they should?
Because the agent cannot explain the charge. If an invoice line does not link to the rated events behind it, and those events do not link to the source host record and the catalogue rule version, every dispute ends in a goodwill credit. On a business with thin wholesale margin those credits are pure loss. Build explainability into the rating engine from the start rather than adding a report later, since the linkage has to exist at the moment of rating to exist at all.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
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.
Why do agencies charge for a discovery phase instead of quoting for free?
Because an accurate quote requires real work: mapping your workflows, finding the edge cases, and writing a specification, which typically takes 1 to 3 weeks and costs $2,000 to $10,000 at Digital Heroes depending on system complexity. You leave discovery owning a written spec and a fixed price you can take to any vendor, so the money is not locked into one agency. Free estimates are guesses, and the guess usually becomes your budget overrun six months later.
Can a freelancer build an ERP, or do I need an agency?
An ERP is too wide for one person: it needs backend, frontend, database design, integrations, QA, and someone mapping your business processes. A solo freelancer can extend an existing ERP or ship one small internal tool, but full ERP builds by single developers are the most common rescue scenario Digital Heroes takes on. If budget is tight, shrink the scope to one module rather than shrinking the team below three or four people.
Is SAP overkill for a mid-sized company?
For most companies under about 500 employees, yes. SAP S/4HANA is built for multi-entity, multi-country enterprises with implementations measured in years and seven figures, while SAP Business One, the mid-market product, still forces your processes into its mold. If your competitive edge lives in how you operate, a custom ERP scoped to your actual workflows ships faster and costs a fraction of an SAP program.
Can I start with one ERP module instead of the full system?
Yes, and it is how most successful custom ERP projects at Digital Heroes begin. We build the single module causing the worst pain first, typically inventory or order management, get it live in 10 to 14 weeks, and let it prove ROI before the next phase gets funded. Starting with one module also derisks data migration because you move one dataset at a time.
How do we migrate years of data from our old system without losing anything?
Through a staged migration with a parallel run, never a single cutover weekend. The data gets extracted and cleaned early, loaded into the new ERP while the old system stays live, and both run side by side for two to four weeks so your team can verify counts, balances, and open orders match. In Digital Heroes ERP projects, data cleaning consistently takes longer than the technical transfer, so it starts in week one, not at the end.
How small can the first version of my software be and still be worth building?
One workflow, end to end, for one type of user: the single process that currently burns the most hours or loses the most money. In Digital Heroes delivery experience, first versions scoped to 6 to 10 weeks of build time ship, get used, and generate the feedback that makes version two obviously right, while 9-month first versions routinely launch with features nobody touches. Everything you cut from v1 gets cheaper to build later, because real usage reorders the roadmap for you.
Who can build a custom ERP software system?

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