Industry guide · Inventory Management

Street Light Management Software: How Do You Prove What the Utility Is Billing You For?

Street Lighting Management software visual showing lightbulb, mapped location, and billing receipt.
The short answer

If your agency owns more than roughly 5,000 luminaires on an unmetered tariff, or you are mid way through an LED and controls conversion with a savings guarantee attached, a custom asset and billing verification system usually returns its cost inside two billing cycles. A first release covering the luminaire and pole register, utility bill file reconciliation and a citizen outage intake that becomes a work order typically runs $50,000 to $110,000 and ships in 10 to 14 weeks in Digital Heroes delivery experience. A full platform adding multi vendor controller integration, energy and burn hour modelling, savings verification and capital programme tracking runs $140,000 to $300,000 phased over 6 to 10 months. If you own fewer than about 1,500 lights and the utility maintains them under a full service tariff, do not build. Ask the utility for their inventory file annually and audit a sample on foot.

You are paying a bill nobody can check

An unmetered street lighting bill is not a measurement. It is an arithmetic exercise: a count of fixtures, by wattage class, multiplied by an assumed number of annual burn hours from the tariff sheet, multiplied by a rate. The count comes from a file the utility maintains. Your city has usually never audited that file against the poles that actually exist.

Here is the specific way this goes wrong. Ten years ago your city converted a corridor from 250 watt high pressure sodium to LED. The contractor did the work. Somebody told the utility, on a spreadsheet, by email. Half the records got updated. Since then a developer dedicated a subdivision to the city and those lights were never added at all. Three poles were knocked down and never replaced, but they are still on the billing file. And when the conversion crew replaced a 400 watt head with a 150 watt LED, the utility's record kept the old wattage class because the change form used the old fixture code.

Every month you pay against that file. Nobody in Public Works can reconcile it because the utility's file has their identifiers, your GIS layer has yours, and the field has neither. The first honest inventory a city does after a conversion almost always finds discrepancies in both directions, and the direction that matters is the one where you have been paying for wattage you no longer draw.

The second bill nobody can check: the savings guarantee

If your LED conversion was financed through an energy savings performance contract, someone guaranteed a savings figure and you are paying against it. Verification under measurement and verification protocols for lighting retrofits is usually a stipulated calculation rather than metered consumption, because these circuits are unmetered by definition. That means the verification is only as good as the fixture count and the wattage assignment. Which is the same register you cannot currently trust.

Councils ask about this. A council member who reads the ESPC schedule will ask, in a public meeting, whether the guaranteed savings are being realised. The correct answer requires you to state how many fixtures of what type are operating and for how many hours, and to have that traceable to something other than the contractor's closeout spreadsheet.

Outages: residents find them, and the fix takes two weeks

Without controllers, the outage detection system is a resident driving home at 11pm. They report it to 311, or on Facebook, or by calling a council office. The report says the light is out near the corner of Elm and Fifth, which describes four poles. A crew is dispatched with a work order that has no pole identifier on it, spends time locating the right one, finds it needs a part they did not bring, and comes back. The resident calls again in the meantime and creates a second ticket for the same pole.

Even in areas where you do have networked controllers, the alarm goes into the controller vendor's portal, which is a different system that the maintenance crew does not use. So the outage is known by a machine and unknown by the person with the bucket truck.

This matters beyond service quality. Outage duration on a street the city owns is a liability conversation after a night time collision or an assault, and the question in a deposition is when you knew and what you did. A ticket in one system, an alarm in another and a work order in a third is not an answer.

What Telensa, Itron, Signify, Ubicquia and Tvilight actually give you

  • Telensa built a control system around its own telecells and network. Where deployed it does dimming, scheduling and fault reporting competently. The asset model is theirs and it covers the nodes they sell, which is the heart of the issue: your inventory includes lights with no node on them and they are invisible to a control management system.
  • Itron Streetlight.Vision is a mature control management system that supports multiple node vendors, which is a genuine advantage in a city that has bought controllers in three waves. It manages control and faults. It is not built to reconcile your utility's unmetered billing file against your asset register, and that reconciliation is where the money is.
  • Signify Interact City is strong inside the Signify ecosystem and is a sensible default if your luminaires and controllers are theirs. Mixed estates are where it strains, and almost every city estate is mixed after a decade.
  • Ubicquia and Tvilight are hardware led, delivering devices in the standard control receptacle with their own analytics. Useful capability, same boundary: they see what they are attached to.

The pattern is consistent. These are control management systems sold alongside hardware. The city's problem is an asset, billing and work management problem that spans hardware from several vendors plus thousands of fixtures with no hardware at all. The TALQ interoperability standard exists precisely because the industry knows this, and it helps, but standardising the control interface does not give you a register, a bill check or a work order.

What a custom street lighting system has to include

The register is the foundation and it has to be honest about uncertainty. Each record is a pole with a location, ownership, a structure type, and one or more luminaires with a fixture type, wattage, control type, install date and source of truth flag. That last field matters more than it sounds: a record confirmed by a field survey in the last two years is different from a record inherited from a contractor closeout file, and the system should know which is which and show it. Cities that skip this end up with a clean looking database that is quietly as wrong as the spreadsheet it replaced.

Then build the billing reconciliation as a first class feature, because it is the one that pays for the project. Ingest the utility's unmetered billing file each cycle, match it to your register on identifier and location, and produce three lists: billed but not in your register, in your register but not billed, and billed at a wattage that disagrees with your register. Then compute the expected charge yourself from the tariff schedule, using the burn hours printed on that schedule, and show the variance. That variance report, handed to the utility with location evidence attached, is the artefact that gets bills corrected. The first run of it is usually the moment the project pays back.

Outage handling has to close a loop across three channels. Citizen reports come in from a 311 platform, a web form or a phone call. Controller alarms come in from whichever vendor systems you have. Field crews report during patrols. All three create or update one issue against a specific pole, deduplicated so that four residents reporting the same dark pole produce one work order and four notification subscriptions. The crew gets a work order with the pole identifier, coordinates, fixture type, expected part and last work history, and closes it in the field with a photo. Anything else is a crew driving to a corner and guessing.

Controller integration should be treated as several adapters behind one internal model rather than a dependency. You will change vendors, and you will operate two at once during a transition. Normalise alarms and status into your own schema so the work order flow does not care whose node reported it.

Energy and savings modelling then falls out of the register. Connected load by wattage class, burn hours from the tariff or from actual controller run time where you have it, dimming schedules where applied, and a comparison against the pre conversion baseline. This produces the number you put in front of council, and the number the ESPC savings check is measured against.

Finally, the capital programme view. Conversion projects, dark spot complaints, lighting level surveys, pole condition and knockdown replacements are all work with money attached, and they belong in the same asset context rather than in a separate project tracker.

Cost, timeline and what changes the number

A first release with the luminaire and pole register, field survey app, utility billing file reconciliation and citizen report to work order flow runs $50,000 to $110,000 over 10 to 14 weeks. The full platform adding multi vendor controller adapters, energy and savings modelling, capital programme tracking and a public facing outage map runs $140,000 to $300,000 phased over 6 to 10 months.

What raises the cost: the number of controller vendors, since each is an adapter with its own authentication and quirks. The state of your starting data, because merging a GIS layer, a utility file and a contractor closeout spreadsheet into one register with confidence flags is real reconciliation work. Integration with your existing 311 or asset management system, whether that is Cityworks, Accela, SeeClickFix or a Salesforce based portal. And whether you need a public facing map, which brings accessibility requirements and a different security posture.

What lowers it: skip controller integration in release one entirely. Register plus billing reconciliation plus work orders is the value core, and it works with zero connected nodes.

One cost that is not software: the field survey. If your register is going to be trustworthy, someone walks or drives the estate and confirms fixtures. Budget for it, do it with the app you just built, and treat it as part of the project rather than a surprise afterwards.

When you should not build this

Do not build if the utility owns the poles and the lights and maintains them under a full service tariff, and you have no conversion programme. Your leverage is a data request and a sample audit, not a system.

Do not build if you own under about 1,500 lights and your 311 volume is manageable. A well maintained GIS layer plus your existing work order system is proportionate.

Build when you own the assets and pay an unmetered tariff you cannot verify, when you are carrying a savings guarantee you cannot substantiate, when you have controllers from more than one vendor, when outage complaints reach elected officials, or when your inventory was handed to you by a conversion contractor and you have never independently confirmed it.

How to choose a developer

Ask them how they would reconcile the utility billing file against your register when the identifiers do not match. If the answer is a lookup table, they have not seen a real one. The answer involves spatial matching, fuzzy identifier matching and a human review queue for the residue.

Ask how they model a pole with two luminaires on different circuits, because your estate has them and a one to one model will corrupt your counts.

Ask what they have integrated on the controller side and on the city side. Naming Itron, Telensa or Signify specifically is different from claiming integration experience, and Cityworks or Accela integration is a known quantity to people who have done it.

Ask who owns the code, the database and the cloud accounts, in writing, before kickoff. Your lighting register is a public asset record that will outlive several vendor relationships. At Digital Heroes the client owns the repository from the first commit. A practical first step: send us your last utility billing file and your current GIS lighting layer, and we will tell you within a week roughly how far apart they are.

Research & sources

The evidence behind this guide

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

  1. McKinsey reports that autonomous supply-chain planning can raise revenue up to 4%, reduce inventory up to 20%, and cut supply-chain costs up to 10% while maintaining service levels (the wider 20-30% inventory-reduction figure comes from McKinsey's separate distribution-operations research, not this page). Source: McKinsey & Company (2020) →
  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. Standish's 2015 CHAOS research found roughly a third of software projects (about 36% by the Modern definition) fully succeed on time, on budget, and on scope, with top success drivers including executive support, user involvement, and clear requirements/business objectives. Source: Standish Group (CHAOS Report) (2015) →
  4. In an October 2025 survey of 530 small-business employers (conducted by TechnoMetrica, October 3-9, 2025), 88% reported using AI tools and 73% said those tools had been important to their competitiveness and growth over the past year, with 60% citing efficiency and productivity as the primary motivation for adoption (42% cited improving customer service). Source: Small Business & Entrepreneurship Council (SBE Council) (2025) →
Amelia C. · Senior Brand Designer · UK · London

Amelia designs the visual side of the products the studio builds: identity systems, typography, colour and the rules that keep an interface looking like one thing. Her posts are for founders who need a brand that survives contact with a real product, not just a logo file.

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 street light management software cost for a city?
A first release with the pole and luminaire register, a field survey app, utility billing file reconciliation and citizen outage intake runs $50,000 to $110,000 over 10 to 14 weeks in Digital Heroes delivery experience. Adding multi vendor controller integration, energy and savings modelling and capital programme tracking takes it to $140,000 to $300,000 phased over 6 to 10 months. The number of controller vendors and the state of your starting data drive the cost more than the number of lights.
How do we verify an unmetered street lighting bill?
Ingest the utility's billing file each cycle and match it to your own register on identifier and location, then produce three exception lists: billed but not in your register, in your register but not billed, and billed at a wattage that disagrees with your record. Compute the expected charge yourself from the tariff schedule using its stated burn hours and show the variance. That variance report with location evidence attached is what actually gets bills corrected.
Is Telensa or Itron Streetlight.Vision enough on its own?
They are control management systems and they do control well, including scheduling, dimming and fault reporting on the nodes they manage. The limitation is scope: they see the fixtures that have a controller on them, and most city estates have thousands that do not. They are also not built to reconcile the utility's unmetered billing file against your asset register, which is where the recoverable money usually sits.
Can one system handle controllers from multiple vendors?
Yes, and it should be designed that way from the start because you will run two vendors at once during any transition. Build vendor adapters behind one internal model so alarms and status are normalised before they reach your work order flow. The TALQ interoperability standard helps on the control interface, but it does not give you an asset register, a billing check or work management.
How do we prove the LED conversion savings we guaranteed to council?
Savings on unmetered circuits are verified by calculation rather than metering, so the entire answer depends on a trustworthy fixture count and wattage assignment. Model connected load by wattage class against burn hours from the tariff or from actual controller run time where available, and compare to the documented pre conversion baseline. Without a field verified register, you are restating the contractor's closeout spreadsheet and calling it verification.
What is the fastest way to fix a street light inventory we inherited?
Build the register with a source of truth flag on every record so you can see which entries were field confirmed and which came from a contractor file or the utility. Then run a field survey with the mobile app as part of the project, prioritising corridors where the billing reconciliation shows disagreement. Confirming the whole estate at once is rarely necessary; confirming where the money and the complaints are usually is.
How do we stop duplicate outage reports from residents?
Deduplicate at the pole rather than at the ticket. Reports from 311, the web form, phone calls, controller alarms and crew patrols should all attach to one issue on a specific pole, with additional reporters added as notification subscribers rather than new work orders. Crews then receive one work order carrying the pole identifier, coordinates, fixture type and last work history instead of a street corner description.
Do we need to integrate with our existing 311 or Cityworks system?
Usually yes, and it should be planned rather than bolted on. Residents will keep using whatever reporting channel they already know, and your crews will resist a second work order system. The pragmatic pattern is to let 311 stay the public front door and your lighting system own the pole level asset truth and the lighting specific work, with a clean two way sync.
Who owns the code and the asset data if an agency builds this?
You should own the repository, the database and the cloud accounts, written into the contract before kickoff. A lighting register is a public asset record that will outlive several vendor and contractor relationships, and it may be cited in a liability claim years later. At Digital Heroes the client owns the code from the first commit and can hand it to any other firm without asking permission.
What questions should I ask a development agency on the first call?
Ask who exactly will build it, what happens when scope changes mid-project, what their maintenance terms are after launch, and what they will need from you every week. Then ask them to describe a project that went wrong and what they changed afterward; teams that have shipped at real volume have war stories, and teams claiming a perfect record are hiding something. The scope-change answer matters most: a disciplined shop describes a written change-order process, not a vague promise to be flexible.
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.
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.
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'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.
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 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.
How does moving our data from spreadsheets or Fishbowl into a new system work?
The agency exports your current records, maps fields to the new schema, deduplicates SKUs, and runs a trial import that you verify against physical counts before cutover. Plan for one to three weeks, and expect to find discrepancies, because migration always exposes drift the old system was hiding. The safest cutover happens right after a physical stock take, so the new system starts from a verified baseline.
How many people does it take to build inventory management software?
A typical build runs with 4 to 6 people: a project lead, one or two backend developers, a frontend or mobile developer for the scanning interface, and a QA engineer. The backend carries most of the effort, because stock logic and integrations are where these systems succeed or fail. Be cautious of a one-person team quoting a multi-warehouse, multi-channel build.
Can I build my product on a no-code tool like Bubble instead of hiring developers?
For testing whether anyone wants the product, yes, and Bubble's paid plans start at $29 a month, which is the cheapest validation you will ever buy. The ceiling arrives with complex data relationships, heavy integrations, performance at a few thousand users, and the fact that you cannot export a Bubble app to servers you control. A path many Digital Heroes clients take: prove demand on no-code, then rebuild custom once revenue justifies it, treating the no-code version as a paid prototype rather than a foundation.
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?