All articles

Custom software for telecom companies

Usage-based billing is unforgiving, the core is legacy, and scale is not optional. Here is where custom telecom software pays — and how to modernize around a stack you cannot simply replace.

Telecom software has a quality most industries never confront at the same time: it has to be exactly right about money, at enormous volume, without ever stopping, on top of core systems that were built decades ago and cannot simply be switched off. A billing error in an online shop is a support ticket; a billing error at a telecom operator is thousands of wrong invoices, a regulatory question, and a churn spike. This is a piece about the software behind an operator, ISP or MVNO — where custom work pays, and how to modernize around a stack you cannot rip out.

Start with an assessment, not a replatform

The instinct when a telecom stack feels old is to plan a wholesale replacement of the billing and operational systems. It is almost always the wrong first move, because those systems are load-bearing and their behaviour is only partly documented — much of the real logic lives in the exceptions accumulated over years. A short, fixed-fee assessment maps what the core actually does, where the pain genuinely is, and which one capability, extracted and modernized, would relieve the most risk or cost. Frequently the answer is not to replace the core at all but to build modern software around it: a new self-service portal, a clean integration layer, a reporting pipeline that stops the manual month-end scramble. You learn that from mapping the stack, not from a vendor's replatform pitch.

Rating and billing are unforgiving

Usage-based billing is the hardest correctness problem most telecoms own. Every call, message and megabyte is an event that has to be collected, rated against the right plan and tariff, aggregated, discounted, taxed and invoiced — and it has to be right, because a systematic error is not one wrong number but a wrong number repeated across the whole base. Rating logic accretes complexity relentlessly: bundles, shared allowances, roaming, promotions, proration when a customer changes plan mid-cycle, and the edge cases where two rules interact. Off-the-shelf billing exists and is serious software, but the operators who build or heavily extend it do so because their plans and their market do not fit the product's assumptions, and forcing them to fit means either dumbing down the offer or drowning in workarounds. Wherever you land, the non-negotiable is that rating is testable, auditable and reconcilable — you can prove a bill is correct, not just assert it.

A worked example shows why this is different from ordinary business software. A customer upgrades their plan on the fourteenth of a thirty-day cycle, uses a shared data allowance the same day, and roams abroad the next. A correct bill has to prorate the old and new plan boundaries, decide which allowance the roaming usage draws from, apply the promotion that was live only on the upgrade day, and tax the result under the right rules. Get any one of those wrong and the error does not stay contained; it repeats for every customer who did the same thing. That is why serious operators invest in the ability to re-run rating against known inputs and compare the output — a regression test for money — rather than discovering a mistake through a wave of complaints.

Provisioning and the OSS/BSS divide

Selling a service and delivering it are two different systems that must agree. The business side — orders, customers, products, billing, sometimes called BSS — decides what a customer should have. The operational side — the network, the equipment, the provisioning that actually turns a service on, broadly OSS — makes it real. The gap between them is where telecom operations quietly bleed: an order marked complete in billing that never provisioned on the network, a service switched off in the field that keeps invoicing, a plan change that updated the bill but not the actual entitlement. Software that keeps order, provisioning and billing genuinely in step — so the state a customer is charged for is the state they actually have — removes a whole class of disputes and manual reconciliation. This alignment is often where a focused custom build delivers the most value fastest.

Customer self-service that actually deflects cost

For a telecom, the call centre is a major cost, and a large share of contacts are things a customer would happily do themselves: check usage, pay a bill, change a plan, report a fault, track an order. A self-service portal and app are worth building well precisely because each interaction they absorb is a call that never happens. The trap is a portal that shows information but cannot actually do anything — where every real action still ends in a phone call — because that adds a channel without removing a cost. The value is in the actions that complete end to end: a plan change that provisions, a payment that clears and reflects immediately, a fault report that opens a real ticket with real status. That requires the portal to reach into the same systems the call centre uses, which is exactly the integration work generic portal products tend to leave to you.

There is a trust dimension too. The usage a customer sees in the app has to match the usage they are billed for, to the megabyte, or the portal generates disputes instead of deflecting them. A customer who watches the app say they have data left and then receives an overage charge does not conclude that the app is approximate; they conclude the operator is untrustworthy. So the self-service layer is not a cosmetic front end over the billing core — it has to read from the same rated data, which again pushes the value into the integration rather than the interface, and is another reason generic portal products stop short of what an operator actually needs.

Network and service monitoring

Customers experience an operator as the quality of their service, and problems are far cheaper to fix before the customer calls than after. Monitoring the network and the services running on it — and, importantly, connecting a technical fault to the customers it affects — turns a wall of infrastructure alerts into something the business can act on. The distinction that matters is between monitoring the network and understanding service impact: a router alarm is technical noise until the system can say which customers just lost service and whether they are under an availability commitment. Software that bridges that gap lets support tell a customer what is happening before they ask, and lets the operator prioritise fixes by who is actually affected rather than by which alert is loudest.

Scale and reliability are architecture, not add-ons

Telecom volumes are unforgiving in a way that shapes every design decision from the first line. Usage events arrive continuously in enormous quantity, and the systems that collect and rate them cannot fall behind or lose data without directly losing revenue or mis-billing customers. Reliability is not a feature you add at the end; it is the premise. That means designing for the failure of individual components without loss, for processing that can catch up after an outage rather than dropping what it missed, and for the reality that you cannot take the money-handling path down for maintenance the way an internal tool can. Any custom telecom software that treats scale and reliability as things to optimise later has, in effect, already failed — because the day they matter is not a gradual slope, it is a cliff.

Regulatory reporting is not optional and not static

Operators live under reporting obligations — on service quality, on lawful matters, on consumer protection, on data retention — that are both mandatory and prone to change as regulation evolves. Reporting built as a manual quarterly scramble across spreadsheets is expensive, error-prone and fragile the moment a rule shifts. The better pattern is to treat regulatory reporting as a first-class output of the same clean data the rest of the business runs on, so a report is generated and auditable rather than assembled by hand, and a change in requirements is a change in one place rather than a fire drill. This is unglamorous, and it is exactly the kind of durable value custom software delivers when it is designed with the obligation in mind from the start rather than bolted on when an auditor asks.

Modernizing around the legacy core

The central truth of telecom software is that the core systems are old, deeply embedded, and cannot be replaced in one move without unacceptable risk. That is not a reason to freeze; it is a reason to modernize the way you actually can. You put a clean interface in front of the legacy core and build new capabilities — the portal, the reporting, a modern order flow — against that interface rather than against the core directly. Over time you replace pieces of the core behind the interface, one bounded capability at a time, while everything keeps running and billing keeps being correct. This is the same incremental, risk-first discipline that works for any load-bearing legacy system, and telecom is where it matters most, because the thing you are keeping alive throughout is the mechanism that charges every customer every month. Generic tools rarely fit this world, not because they are poor software but because they assume a greenfield you do not have. The honest starting point is not choosing a platform; it is mapping your own core and deciding, with clear eyes, which capability to modernize first. That is where we would start.

Modernizing around a core you cannot switch off?

A short, fixed-fee assessment maps your OSS/BSS reality, names the one capability worth modernizing first, and costs a low-risk first phase — no rip-and-replace.

Book a telecom software assessment