Industry guide · Internal Tools

Number Porting and DID Inventory Software: Why Nobody Knows a Port Failed Until the Customer's Phones Go Dead

Number Portability Management software visual showing hash, arrow right left, and data records.
The short answer

A working port orchestration and DID inventory system runs $65,000 to $150,000 and ships in 10 to 16 weeks in Digital Heroes delivery experience, covering number inventory with reservation and aging, port-in and port-out request lifecycle, rejection handling, FOC tracking, switch provisioning hooks and a full audit trail. Adding multi-country porting rules, toll-free RespOrg handling, automated LSR generation per counterparty and customer-facing port status runs $180,000 to $400,000 over 6 to 11 months. Build when porting volume is high enough that a bounced request costs you a business customer's main line. Do not build if you port a handful of numbers a month through a single upstream provider whose portal already shows you the state.

Why porting is the failure your customer notices first

A twelve line dental practice signs with you on the fifth. The port is submitted on the sixth. On the eleventh at 8:04am the practice manager calls because the phones are dead, patients cannot get through, and the practice has been open four minutes. Your team starts digging. The losing carrier rejected the request on the eighth because the service address on the customer service record reads a suite number your form omitted. The rejection arrived as an email to a shared mailbox. Nobody read it. The submitted date passed, the number moved out of your control window, and now you are inside a live outage with a customer who is measuring the damage in missed appointments.

Nothing about that sequence is unusual. Porting is a workflow that spans two companies who are commercially opposed, runs on regulated timers, and communicates through forms and email. The FCC's one business day interval for simple ports sets an expectation with customers that the mechanics do not always meet, and the mechanics fail in boring ways: an account number keyed wrong, a PIN the customer does not know, an authorised signature from someone who left, an address that matches the billing record but not the service record.

Meanwhile the other half of the problem sits in a spreadsheet. Spare DIDs, reserved ranges, numbers held for a customer who has not signed yet, numbers disconnected last quarter that are in an aging window before they can be reissued. Somebody maintains that file. Somebody else assigns a number from it that was already promised to a different account, and now two customers have a claim on the same DID.

Problem 1: port state is scattered across email, portals and memory

A port request has a real lifecycle: drafted, submitted, acknowledged, rejected with reason, resubmitted, FOC received with a date and time, activated, or cancelled. Every one of those transitions has a timestamp, a counterparty and a document. In most operators none of it lives in one place. The submission is in an upstream provider portal. The rejection is in email. The FOC date is in a note somebody wrote in the ticketing system. The activation is in the switch.

The consequence is that nobody can answer the simplest operational question: which ports are at risk today. Not which ports exist, which ones are sitting past an expected response, or have a rejection older than four hours, or have an FOC date tomorrow with no provisioning task raised. That question is the entire job, and it currently gets answered by a person reading a mailbox.

What a custom build does: make the port request a first-class object with an explicit state machine, hold every counterparty message against it, and drive a work queue from state and elapsed time rather than from a human scanning email. Rejections get parsed into a reason code and routed to whoever can fix that class of problem. The customer's expected cutover date is derived from the FOC, not from a promise made in sales. And the whole thing is an append-only history, because when a port goes wrong and a customer threatens to leave, the record of who did what and when is the difference between a credit and a lawsuit.

Problem 2: the incumbents solve adjacent problems, not yours

iconectiv administers the NPAC in the United States, which is the authoritative routing database that makes portability work at all. That is infrastructure, not workflow software. It tells the network where a number lives. It does not manage your relationship with a losing carrier or track why a request bounced. NetNumber sits in a similar space around number data, routing and registry services. TransNexus is strong on call authentication and related analytics, and useful in a voice operator's stack, but it is not a port order management system.

So the middle is empty. Between the regulated registry and your switch sits the part where the work actually happens: producing a correct request per counterparty, chasing a response, handling a rejection, and coordinating cutover with provisioning. Most operators fill that with a spreadsheet plus their upstream provider's portal, and if you use more than one upstream, you have more than one portal with different semantics and no combined view.

What a custom build does: normalise across counterparties. One internal port object, with per-counterparty adapters that know that this carrier wants a specific form layout, that one requires a copy of the bill, that another rejects anything where the authorised contact does not match the CSR exactly. That knowledge currently lives in the heads of two people on your provisioning team. Encoding it is the whole value.

Problem 3: number inventory is money, and it is in a spreadsheet

Numbers are stock. You hold ranges from upstream providers, you assign DIDs to customers, you reserve blocks for enterprise accounts mid-negotiation, you take back numbers on churn, and you hold disconnected numbers through an aging window before reissuing them so the previous owner's callers stop hitting them. Every one of those is an inventory state, and the spreadsheet models none of them.

The failures are predictable. Double allocation, where two accounts get promised the same DID. Orphaned numbers you are paying an upstream fee on that no customer is using, which is a pure monthly leak nobody notices because it is spread across invoices. Reissuing a number too quickly and inheriting the previous owner's inbound traffic, which in the United States also carries reassigned number exposure that your compliance team will care about the moment a customer uses those DIDs for outbound campaigns.

What a custom build does: inventory with states, expiry on reservations, aging windows enforced automatically, and reconciliation against upstream provider billing so you can see the numbers you pay for that nobody uses. That reconciliation alone typically finds enough dormant spend to be worth reporting to finance in the first month.

Problem 4: port-out is a retention event you are handling blind

Everyone builds port-in first, because port-in is revenue. Port-out is where you lose customers, and it usually arrives as a request from a competing carrier that your team processes without anyone commercially responsible being told. By the time account management hears about it, the FOC has been issued and the customer has already signed elsewhere.

There is also a validation obligation on your side. You should be rejecting requests that fail authorisation checks, and you should be applying the same criteria consistently, because inconsistent port-out rejection is exactly the behaviour that generates regulatory complaints. A build that treats port-out as a first-class flow gives you both: a consistent, auditable validation path, and an alert to the account owner the moment a request lands, while there is still time to have a conversation.

Problem 5: the cutover is a coordination problem, not a form

When the FOC date arrives, several things must happen close together: the number activates on the new network, your switch has the routing and the customer's users, devices are registered, and for business voice the emergency location record has to be right on the number that just moved. Miss the last one and you have a compliance problem attached to a working phone, which is worse than a dead one because nobody notices.

What a custom build does: derive a provisioning task set from the FOC automatically, sequence it, and block activation until preconditions pass. If the customer's seats are not built or the location record is missing, the system says so on the day before rather than at 8:04am on the day. Coupling porting to provisioning in one workflow is the difference between a scheduled event and a fire drill.

What this costs and how long it takes

Across projects Digital Heroes has delivered, a working port orchestration and DID inventory system runs $65,000 to $150,000 across 10 to 16 weeks. That covers inventory with reservation and aging, port-in and port-out lifecycle with rejection handling, FOC tracking, counterparty adapters for your main partners, switch provisioning hooks, an audit trail and an operations queue. A broader platform adding multi-country porting rules, toll-free RespOrg handling through the toll-free registry, automated request generation per counterparty, customer-facing port status pages and analytics runs $180,000 to $400,000 phased across 6 to 11 months.

What drives price up here: the number of counterparties and upstream providers, because each one is a different form, a different response format and a different set of unwritten rules. Multi-country, because porting regulation and timers differ by jurisdiction and there is no shared model. Toll-free, because RespOrg mechanics are their own discipline. And switch integration, because a BroadSoft-lineage platform, a class 4 softswitch and a cloud provider API are three different problems.

What keeps price down: starting with port-in only, one upstream provider, and the inventory model. Inventory is the foundation everything else attaches to, and it is the cheapest piece to get right first.

Build versus buy, and when buying wins

Buy, or rather stay with your upstream provider's portal, if you port fewer than about twenty numbers a month, use one provider, and your provisioning team is two people who talk to each other. At that volume a build is overhead. Use the portal, keep a clean spreadsheet, and spend the money on sales.

Porting justifies a build when two of these hold at the same time. You port more than roughly a hundred numbers a month. You use more than one upstream provider or port directly with multiple carriers. You sell to business customers where a failed port takes their main line down and your contract has service credits attached. You cannot currently produce a list of at-risk ports without someone reading a mailbox. Or you have no reliable count of numbers you are paying for that nobody is using.

The tipping point is not volume alone, it is the cost of a single bad port. If one dead phone system costs you a customer worth five figures a year, the system pays for itself the first time it catches a rejection at hour one instead of day three.

How to choose a developer for porting and number management

Ask them to draw the port state machine, including rejection and resubmission, before you sign anything. Someone who has done this will ask which counterparties you deal with directly versus through an aggregator, and they will know that a rejection is not an end state. Someone who has not will draw a status field with three values.

Ask how they will handle number aging and reservation expiry. If they treat inventory as a list of numbers with an assigned flag, they have not seen the double allocation problem yet and you will pay for that lesson.

Ask what they have integrated with by name: which softswitch, which upstream provider API, which ticketing system. Porting software that does not reach into provisioning is a tracking spreadsheet with a login screen.

Settle ownership of the repository, the counterparty mappings and the infrastructure accounts in the contract, before kickoff. At Digital Heroes the porting logic and the repository belong to the client from the first commit. Send us a month of your rejection emails and your current DID spreadsheet, and we will tell you where the port failures are actually coming from before we quote anything.

Research & sources

The evidence behind this guide

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

  1. Almost half of all the activities people are paid almost $16 trillion in wages to do in the global economy have the potential to be automated by adapting currently demonstrated technologies. Source: McKinsey Global Institute (2017) →
  2. 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) →
  3. Retailers connecting point-of-sale and loyalty data in an omnichannel strategy reported up to 15% lower cost per purchase and nearly 20% higher incremental store revenue. Source: Deloitte (2024) →
  4. The right combination of digital transformation actions can unlock as much as US$1.25 trillion in additional market capitalization across Fortune 500 companies, while the wrong combinations put more than US$1.5 trillion at risk; companies with all three core factors (strategy, aligned technology, and change capability) saw a 5% market-value lift relative to peers. Source: Deloitte (2023) →
Sampada G. · Project Manager · Lucknow

Timelines, standups and the small decisions that keep a build moving are Sampada's day. She coordinates developers, designers and QA on web and software projects, chasing the detail that would otherwise stall a release. Readers get an inside view of how agency projects are actually sequenced and staffed.

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 number porting and DID management software cost?
A working system covering inventory with reservation and aging, port-in and port-out lifecycle, rejection handling, FOC tracking and provisioning hooks runs $65,000 to $150,000 across 10 to 16 weeks in Digital Heroes delivery experience. Adding multi-country porting rules, toll-free handling, automated request generation and customer-facing status runs $180,000 to $400,000 over 6 to 11 months. The main cost driver is how many counterparties and upstream providers you deal with directly.
Is iconectiv or NetNumber a substitute for building port workflow software?
No, they solve a different layer. iconectiv administers the NPAC, the authoritative routing database that makes portability work across networks, and NetNumber operates in number data and registry services. Neither manages your relationship with a losing carrier, produces a correct request per counterparty, or tells you which ports are at risk this morning. That middle layer between the registry and your switch is what is usually missing.
Why do port requests get rejected so often?
Almost always for data mismatches against the customer service record: a suite number missing from the service address, an account number or PIN keyed wrong, or an authorised contact who no longer works there. The requests are not wrong in spirit, they are wrong in a field. Encoding each counterparty's specific validation rules before submission catches most of these, which is why per-counterparty adapters matter more than a generic form.
How long does it take to build a porting management system?
A first release with inventory, port-in and port-out lifecycle, rejection handling and provisioning hooks ships in 10 to 16 weeks. The schedule risk is not engineering, it is documenting the unwritten rules your provisioning team applies per carrier, which usually takes a couple of weeks of sitting with them. Operations that already keep a rejection log move noticeably faster than ones relying on memory.
Can the system tell us which numbers we pay for but nobody uses?
Yes, and that reconciliation is usually the first hard number a build produces. It compares your upstream provider billing against your own inventory assignments, and surfaces DIDs that are billed to you with no active customer attached. Most operators carrying a spreadsheet inventory have some dormant spend spread thinly across invoices where nobody has noticed it.
Should port-out be handled differently from port-in?
Yes, because port-out is a retention event, not just a workflow. It should alert the account owner the moment a request lands, while there is still time for a commercial conversation, and it should apply authorisation validation consistently every time. Inconsistent port-out rejection is exactly what generates regulatory complaints, so consistency here is a compliance benefit as well as a customer one.
How does porting connect to provisioning and emergency location records?
It should be one workflow. When the FOC date is confirmed, the system derives the provisioning tasks, sequences them, and blocks activation until preconditions pass, including a valid dispatchable location record on the number being moved. A number that ports successfully but carries a stale location record is a compliance problem attached to a working phone, which is worse than an outage because nobody notices it.
Do we need this if we only port through one upstream provider?
Probably not at low volume. If you port under roughly twenty numbers a month through one provider whose portal shows the state and your provisioning is two people who talk daily, the portal plus a clean spreadsheet is genuinely enough. The build case starts around a hundred numbers a month, or earlier if your customers are businesses whose main line goes dead when a port fails.
Who owns the code if an agency builds our porting platform?
You should own the repository, the cloud accounts and the right to bring in another developer, written into the contract before kickoff. At Digital Heroes the client keeps the repository and the counterparty mappings, starting at commit one. This system holds your carrier-specific operational knowledge and your audit trail for regulated processes, and neither of those should live somewhere you cannot reach.
At what point does Retool cost more than building a custom tool?
The crossover usually lands between 25 and 50 daily users. At Retool's published Business rates of $50 per standard user and $15 per end user monthly, a 40-person deployment with a typical seat mix runs roughly $9,000 to $15,000 per year, every year, while a comparable custom tool built once for $20,000 to $30,000 carries no per-seat fees and costs about 15 to 20 percent of the build price annually to maintain. On a three-year horizon, custom comes out ahead for most growing teams in Digital Heroes engagements.
Should we build our internal tool in Retool instead of hiring developers?
Retool is the right choice if someone on your team is comfortable with SQL and JavaScript and the audience is a handful of technical users, because a basic CRUD dashboard comes together in days. Hire developers when non-technical staff will use the tool daily, when the logic goes beyond forms sitting on a database, or when per-seat pricing stings, since Retool's Business tier lists at $50 per standard user per month. A pattern Digital Heroes sees often: companies arrive after a year on Retool with a tool nobody can maintain because the one person who built it has left.
How long does it take to build an internal tool from scratch?
A working first version typically ships in 4 to 8 weeks, and larger multi-module tools run 10 to 16 weeks. Across Digital Heroes internal tool projects the schedule splits into roughly one week of process mapping, 3 to 6 weeks of build, and 1 to 2 weeks of testing with your actual staff. The most common delay is not development but waiting on the client for sample data and workflow decisions, so name one internal owner before kickoff.
Can a custom internal tool connect to QuickBooks, Salesforce, and the other software we already use?
Yes, and integrations are usually the strongest argument for going custom instead of chaining tools together with Zapier. QuickBooks, Salesforce, Shopify, Stripe, Slack, and Google Workspace all have mature APIs, and each integration typically adds $1,500 to $5,000 to a Digital Heroes build depending on how much two-way syncing you need. The honest caveat is legacy industry software without an API, which may need file-based imports instead of a live connection, so list every system in the first conversation.
Is a freelancer or an agency better for building an internal tool?
A solid freelancer works for a single-workflow tool under roughly $10,000, if you accept that one person holds all the knowledge. An agency earns its premium once the tool spans departments or integrations, because you get a developer, a designer, and a project manager plus continuity when someone leaves or gets sick. The hidden freelancer cost appears 18 months later when you need changes and the original builder has moved on, a rescue situation Digital Heroes is hired for regularly.
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.
How do I know when spreadsheets are no longer enough to run my operations?
Replace the spreadsheet once more than three people edit it, versions travel by email, or a single broken formula could cost real money. Other reliable signals: staff keep personal shadow copies, month-end reporting takes days of manual assembly, and nobody can say who changed a number or why. In Digital Heroes discovery calls the tipping point is almost always a specific expensive error, a mispriced quote, a missed order, or payroll built on a tab someone sorted wrong.
Who can build a custom internal tools system?

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