Street Lighting Management Software Problems: The 7 That Cost Real Money, and How to Avoid Them
The most expensive failure in street lighting software is building a clean looking asset register on top of data nobody verified. The luminaire count comes from a contractor closeout spreadsheet, the wattages come from a utility file that was never updated when a corridor was converted, and the new system inherits both. You then pay an unmetered bill computed from that same wrong count, month after month, and you cannot challenge it because your own register agrees with the utility. A first release with the register, a field survey app and billing reconciliation runs $50,000 to $110,000 over 10 to 14 weeks in our delivery experience, and it usually pays for itself in the first two billing cycles once the counts are real.
Why does the asset register get scoped as a data import so often?
Because there appear to be three sources and each one looks authoritative. Public Works has a geographic information system layer with pole locations. The utility sends a billing file with fixture counts by wattage class. The contractor who ran your light emitting diode conversion handed over a closeout spreadsheet. A supplier looks at that and quotes a load and merge.
Then you compare them. The conversion corridor shows as 250 watt high pressure sodium in the utility file because the change form used the old fixture code. A subdivision dedicated to the city three years ago appears in no file at all. Three poles knocked down and never replaced are still billed. Your layer uses your identifiers, the utility uses theirs, and the field has neither painted on it.
The fix is to design the register around uncertainty instead of pretending it away. Every record carries a source of truth flag and a date, so a fixture confirmed by a field survey last year is visibly different from one inherited from a closeout file. Nothing that feeds a billing dispute or a savings report is allowed to rest on an unconfirmed record. Then plan a field survey as part of the project, prioritised by the corridors where the sources disagree, and run it with the mobile app you just built rather than treating it as a surprise afterwards.
What goes wrong when the utility billing file is matched to your GIS layer?
The identifiers do not match, and that is the whole problem. The utility's file is keyed on their pole or account references. Your geographic information system layer is keyed on yours. Neither key exists on the other side, and a straight join returns almost nothing.
Suppliers who have not done this before propose a lookup table. On a real estate of ten thousand luminaires that table cannot be built by hand, and the residue after any automated pass is where the money is: the records that do not match cleanly are exactly the ones that were changed, added or removed without paperwork.
The other trap is the one to many shape. A pole can carry two luminaires on different circuits, one of them a decorative fixture the city owns and one a cobra head the utility bills. A model that assumes one light per pole quietly corrupts your counts in both directions.
The fix is spatial matching first, fuzzy identifier matching second, and a human review queue for whatever is left. Match on location within a tolerance, then on identifier similarity, then present the unresolved set to a person with a map and a photo. Expect a residue of a few percent and budget staff time for it. Ask any supplier how they handle unmatched records before you ask about anything else, because that answer tells you whether they have seen a real utility file.
Why do controller vendor integrations break after launch?
Because they were built as a dependency rather than an adapter, and because your estate will not stay on one vendor. Cities buy controllers in waves, so a typical estate carries nodes from two or three suppliers plus thousands of fixtures with no node at all. The failures follow a pattern.
- Authentication and rate limits differ per vendor, and a build that hard codes one vendor's behaviour breaks when the second arrives during a transition.
- Alarm semantics differ. One vendor's lamp fault is another's communication failure, and if you pass raw alarms into work orders your crews get dispatched for the wrong thing.
- The nodes only see themselves. A control management system knows nothing about the unnoded fixtures, so any report built purely on controller data understates your estate.
The fix is to normalise into your own internal model before anything else consumes it. Each vendor gets an adapter, alarms and status map to your schema, and the work order flow never learns whose node reported the fault. The TALQ interoperability standard helps on the control interface and is worth asking about, but standardising control does not give you a register, a bill check or a work order. Treat controller integration as phase two: the register, reconciliation and work orders deliver value with zero connected nodes.
What happens when outage intake and work orders are not joined up?
You get the same dark pole reported four times and fixed once, slowly. Residents report through a 311 platform, a web form, a phone call to a council office and sometimes a social post. Controller alarms land in a vendor portal the maintenance crew does not open. Crews notice faults on patrol and mention them.
The report itself is usually unusable: the light is out near the corner of Elm and Fifth describes four poles. A crew is dispatched with no pole identifier, spends time locating the right one, finds it needs a part they did not bring, and returns another day. Meanwhile a second ticket has been raised for the same pole and someone will close one of them as a duplicate without checking which.
This is not only a service quality issue. Outage duration on a street the city owns becomes a liability conversation after a night time collision, 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.
The fix is to deduplicate at the pole, not at the ticket. Every channel attaches to one issue on a specific pole, with additional reporters added as notification subscribers. The crew receives a work order carrying the pole identifier, coordinates, fixture type, expected part and last work history, and closes it in the field with a photo.
Should you build custom or configure what you already own?
Plenty of agencies should not build, and the test is simple. If the utility owns the poles and the lights and maintains them under a full service tariff, and you have no conversion programme underway, your best move is a data request and a sample audit on foot, not a system. If you own fewer than roughly 1,500 lights and your complaint volume is manageable, a well maintained geographic information system layer plus your existing work order system is proportionate, and the money is better spent on lamps.
If you already run Itron Streetlight.Vision, use it for what it is good at. It is a mature control management system that supports nodes from several vendors, which genuinely helps a mixed estate. Signify Interact City is a sensible default when your luminaires and controllers are Signify. Telensa, Ubicquia and Tvilight all deliver competent control and analytics on the devices they sell. Configure those for control, scheduling, dimming and fault reporting, and do not rebuild any of it.
What none of them do is reconcile an unmetered billing file against a city owned asset register, because that reconciliation needs your tariff, your layer and your fixtures, including the ones with no node. Build when you own the assets and pay an unmetered tariff you cannot verify, when you carry a savings guarantee you cannot substantiate, when you run controllers from more than one vendor, or when your inventory came from a conversion contractor and nobody has independently confirmed it.
How do hidden costs get into the quote?
Through work that is real but does not look like software.
- The field survey. If the register is going to be trustworthy, somebody walks or drives the estate. This is labour, it is not optional, and it belongs in the project budget rather than arriving as a surprise in month four.
- Data reconciliation. Merging a geographic information system layer, a utility file and a closeout spreadsheet into one register with confidence flags is analyst work with a human review queue attached.
- Each controller vendor is its own adapter, with its own authentication, its own alarm vocabulary and its own test cycle.
- Integration with 311, Cityworks or Accela. Residents will keep using the channel they know and crews will resist a second work order system, so a two way sync is usually mandatory rather than optional.
- A public facing outage map, which brings accessibility conformance and a different security posture.
- Tariff changes. When the utility revises the tariff sheet, your expected charge calculation has to follow, and that is a recurring maintenance cost.
Ask for the quote split into register, reconciliation, work management and each integration named separately.
What separates a build that works from one that fails here?
Starting with the piece that pays. Register plus billing reconciliation plus work orders is the value core and it works with zero connected nodes. Cities that lead with controller integration spend the first four months on vendor interfaces and still cannot tell council what they own, which is the question they were actually asked.
The second marker is that the variance report is a first class output, not a screen. What gets bills corrected is a document listing what is billed but not in your register, what is in your register but not billed, and what is billed at a wattage your register disputes, with location evidence attached and the expected charge computed from the tariff schedule. Hand that to the utility and the conversation changes. Show them a dashboard and it does not.
When vetting a developer, ask how they would reconcile the billing file when the identifiers do not match. A lookup table is the wrong answer. Ask how they model a pole with two luminaires on different circuits, because your estate has them. Ask which systems they have actually integrated by name, on both the controller side and the city side, since Cityworks and Accela are known quantities to people who have done the work.
Then settle ownership in writing before kickoff: repository, database and cloud accounts. At Digital Heroes the client owns the code from the first commit. A lighting register is a public asset record that will outlive several vendor relationships and may be cited in a claim years later, so it should not sit in infrastructure a supplier controls.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- 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) →
- Inventory carrying cost commonly runs about 20% to 30% of inventory value, covering capital cost, storage/warehousing, insurance, taxes, handling, shrinkage, and obsolescence - a recurring cost that better inventory and warehouse software aims to reduce. Source: APQC (2023) →
- 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) →
- 73% of surveyed businesses now use a headless architecture (up nearly 40% since 2019), and 98% of those not yet using it are evaluating or planning to evaluate headless within 12 months, with 82% saying it makes delivering consistent content easier. Source: WP Engine (2024) →
Hudson coordinates APAC projects at Digital Heroes: running stand ups, tracking tickets, chasing decisions and keeping clients informed without burying them in detail. Much of delivery is simply making sure the right question reaches the right person quickly. His posts show what a well run project feels like from inside.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
We just finished an LED conversion. Why can we not trust the inventory we were handed?
How do we match the utility billing file to our GIS layer when the identifiers differ?
Do we need controller integration in the first release?
Why do we keep getting duplicate outage tickets for the same pole?
Can we prove our guaranteed LED savings without metering?
Is Itron Streetlight.Vision or Signify Interact City enough on its own?
What costs do cities most often leave out of the budget?
How can we tell within a week whether we have a real problem?
How many SaaS seats do we need before building custom becomes cheaper?
What are the most common mistakes companies make on inventory software projects?
How many people does it take to build inventory management software?
What should I have ready before I contact an agency about inventory software?
How many people should be working on my software project?
How many SKUs are too many for managing inventory in Excel or Google Sheets?
How do I vet a software agency for an inventory project specifically?
What does upkeep on a custom inventory system cost per year?
Can custom software connect to the tools we already use, like QuickBooks, Stripe, and Google Workspace?
Why do agencies charge for a discovery phase instead of quoting for free?
How does moving our data from spreadsheets or Fishbowl into a new system work?
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.