EV Charging Management Software Problems: The 7 That Kill Uptime and Margin, and How to Avoid Them
The most expensive failure mode for a charge point operator is a platform that reports charger status but never closes the loop on it. A DC fast unit throws a Faulted status on a Friday evening, no auto reset fires, no ticket opens, and the first human signal is a one star review on Sunday. That is two days of a $60,000 asset earning nothing, a ninety minute truck roll each way for something a remote reset would have cleared in ten seconds, and a review that suppresses the site in map results for weeks afterwards.
Why does multi vendor OCPP support get underscoped so often?
Because the Open Charge Point Protocol is a standard, and standards read as though the work is done. A proposal says the platform speaks OCPP 1.6J and 2.0.1, everyone treats hardware support as a checkbox, and the price reflects one integration rather than five.
Then the messages arrive. One vendor reports energy in watt hours and another in kilowatt hours. One sends a Faulted status with a vendor error code you decode from a PDF, another simply stops sending heartbeats. StatusNotification transitions differ in order and in timing between brands. MeterValues sampling intervals differ, and one firmware release changes them without warning. Your fleet is Alpitronic, Kempower, ABB, Autel and Wallbox because you bought on price and lead time, which is the correct commercial decision and the reason this problem exists at all.
The fix is architectural and it has to be decided before the first sprint. Normalise at ingestion into one canonical model of site, electric vehicle supply equipment, connector, status, power and session, with a hardware abstraction layer mapping each vendor's error codes and units into your schema. A fault then means the same thing whether it came from Alpitronic or ABB, and when a firmware update changes behaviour you patch one adapter rather than every downstream feature. Insist that the proposal prices each vendor profile as its own line item, because that is what it is.
What goes wrong when you migrate sessions and charger identities?
Charger identity is the part that bites. Every incumbent platform assigns its own identifiers, and the mapping between a physical cabinet, its charge point identity on the network, its connectors and your asset register is rarely clean. Units get swapped under warranty and keep the old identity. A cabinet with four connectors is recorded as four chargers in one system and one in another. Sites get renamed after a rebrand. Two identifiers exist for the same unit because it was recommissioned after a power module replacement.
The session history matters more than operators expect, because it is the baseline for everything you will claim afterwards: uptime by site, revenue per connector, utilisation trends that justify the next capital request. Import it badly and you lose the ability to compare before and after, which is exactly the comparison that proves the project worked.
Do three things. Build the asset register first as its own deliverable, with a stable internal identifier per physical unit and a mapping table holding every external identifier it has ever carried. Import charge detail records rather than summaries, because a summary cannot be re-rated when you discover a tariff was applied wrongly. Then reconcile: total energy and total revenue per site per month in the new system must match the old platform, and every variance must be explained rather than absorbed. Do that before cutover, not after.
Why do payment, roaming and OCPP integrations break after launch?
Each one breaks for a different reason, and you need three different defences. Charger firmware breaks OCPP behaviour, usually after a vendor pushes an update to improve something unrelated. Payment processors change webhook payloads and settlement timing. Roaming hubs such as Hubject and Gireve evolve their interface versions and their partner onboarding rules, and a partner on the other side can change how they present tariffs.
The common failure is silence. A charger that stops sending MeterValues still looks online. A webhook that stops arriving does not raise an error, it simply leaves sessions unsettled. Nothing alerts, and finance discovers it during month end reconciliation three weeks later.
Defend with liveness checks rather than error handling. Alert when a charger's heartbeat gap exceeds its configured interval, when a site's session count drops materially against its own recent pattern, when the ratio of settled to rated sessions moves, and when an interface version is deprecated by a hub. Keep every raw OCPP message for a retention window, because when a vendor disputes a fault you need the transcript. Version your OCPP adapters and test a firmware release on one unit at one site before it reaches the fleet, which requires that your platform can pin firmware per site. Operators who skip that control learn about a bad firmware release from a whole region going dark at once.
What happens when uptime reporting and remediation are not covered?
You end up measuring a number you cannot influence. The federal National Electric Vehicle Infrastructure programme requires a 97 percent uptime minimum on funded sites, and the calculation has a defined shape including which outage causes are excluded. Most platforms will show you a status history. Far fewer compute uptime the way the programme defines it, track excluded causes, and produce the quarterly report a state department of transportation asks for. So the report is assembled by hand from exports, which is slow and, more importantly, produces a number nobody in operations recognises.
The remediation half is where the money is. Detection without an automatic response is just faster bad news. A fault should be fingerprinted against a known error library, then an auto remediation playbook fires first: RemoteReset, ChangeAvailability, and a remote command to release a locked connector. Only when the automatic attempt fails does a ticket open in your service desk, carrying the fault code, the site, the last MeterValues and the unit's recent fault history, so the technician rolls with the right part rather than a guess.
Get both into the first release rather than deferring reporting to phase two. Compliance reporting built after the fact tends to discover that the underlying events were never stored at the granularity the calculation needs, and retrofitting event granularity is a migration, not a feature.
Should you build custom or configure what you already own?
Stay on a subscription platform, and be content about it, if you run under roughly 50 chargers across one or two hardware brands, on standard public tariffs, with no roaming settlement and no federally funded sites. AMPECO, Monta and EV Connect are competent products, the per charger fee is cheaper than owning a platform at that scale, and building to feel sophisticated is an expensive habit.
The middle path deserves more attention than it gets. Many operators do not need to replace the charge point management system at all. They need a layer above it that owns the asset register, the rating and reconciliation, and the operational alerting, while the vendor keeps handling the OCPP connection. That is a materially smaller build and it removes the two most painful problems, which are usually money reconciliation and fault response, without a migration.
Build the platform outright when the vendor's model is the constraint. You cannot consolidate your hardware onto one certified list. Your tariffs include idle fee grace rules, negotiated fleet contracts or demand pass through that the vendor cannot express. You need roaming settled on your own contract terms. Your stacked per charger and per transaction fees now exceed an amortised build at your volume. Or the vendor's roadmap is gating decisions about your own network, which is the point at which the platform has stopped being a convenience and become your profit and loss.
How do hidden costs get into the quote?
Six places, and they are predictable. Each additional vendor hardware profile is real integration work rather than configuration, and the second OCPP version is close to a second project because 2.0.1 does not model the same things 1.6 does. Payment plus tax plus reconciliation is its own workstream, not a line item, because rating, settlement matching and dispute handling are three separate problems.
High availability is the one most often understated. A charger that loses its websocket is a dead charger earning nothing, so the reliability bar here sits above ordinary business software. That means redundant message brokers, connection draining on deploy, and a tested failover, all of which cost money that a demonstration never shows.
Then site level load management tied to a specific utility rate schedule, which is bespoke per tariff and per site electrical design. Compliance reporting, if it is added late. And historical migration with its reconciliation. What holds the number down is scope order: a focused first release covering live OCPP ingestion across your actual hardware, one clean billing flow and an operations dashboard with fault alerting runs $60,000 to $130,000 in 12 to 16 weeks. Roaming, smart charging and full reconciliation belong in the $150,000 to $400,000 phase across 6 to 12 months, priced against real sessions rather than assumptions.
What separates a build that works from one that fails here?
Four markers, in our delivery experience. The first is that the team treats a dropped connection as a revenue incident. Ask a prospective developer what happens when a charger reconnects mid session after a websocket drop. If they have built this before, they will describe session resumption, duplicate transaction handling and how MeterValues gaps are reconciled. If they have not, you will discover the answer in production during a busy weekend.
The second is that every billed kilowatt hour traces to a specific meter reading. That single property is what lets you win a fleet customer's invoice dispute, re-rate a session when a tariff was misconfigured, and reconcile against a processor payout instead of writing off variances. Systems that store a rated total and discard the underlying readings can never do any of it.
The third is migration by waves rather than by date. Point a subset of chargers at the new backend, verify that sessions, billing and faults match the incumbent, then move sites in groups. No location sees meaningful downtime and every wave de-risks the next. A big bang cutover across a network is how operators lose a weekend of revenue and their reconciliation baseline at the same time.
The fourth is owning the code, the repository and the cloud accounts from the first commit, with the right to bring in another firm. That is the structural difference between a build and a subscription with extra steps, and it is the whole reason for taking on the work.
The evidence behind this guide
Independent findings on why this investment pays off. Every link goes to the primary source.
- 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) →
- Deloitte's research found that digitally advanced small businesses experienced revenue growth nearly 4x as high as the prior year, were about 3x as likely to have exported, were nearly 3x as likely to have created new jobs, and were more than 3x as likely to have seen more sales inquiries in the last year. Source: Deloitte (research summarized by Google) (2017) →
- 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) →
- Salesforce's field-service research (State of Service / field service trends, survey of 5,500+ service professionals) found that 74% of mobile workers report increasing workloads and 47% say appointments don't go as planned due to customer miscommunication, unaccounted-for parts, or insufficient appointment lengths and travel times. (The separate claim that admin tasks consume ~30% of a technician's hours is NOT supported by the report - the seventh-edition data instead states technicians spend about 18% of working hours, ~7 hours/week, on admin, and only ~32% of time interacting with customers.). Source: Salesforce (2024) →
Shaurya builds cross platform apps in React Native at Digital Heroes, sharing logic between iOS and Android and dropping into native code where the shared layer runs out. His posts are useful for teams estimating a cross platform build and wondering where the hidden work sits.
View profile · Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.
Frequently asked questions
How should a proposal price support for five different charger brands?
What breaks first when we migrate off our current charge point management system?
How do we stop a firmware update taking out a whole region of chargers?
Can a custom platform actually help us hit the 97 percent NEVI uptime minimum?
Do we have to replace our CPMS, or can we build a layer on top of it?
Why does session revenue never tie to our processor payout?
What is the most commonly understated cost in an EV charging build?
How do we cut over without losing a weekend of revenue?
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
What happens to my software if the agency shuts down or we stop working together?
How much should a small business expect to pay for custom software?
Should I hire a freelancer or an agency for my software project?
How many people should be working on my software project?
What is a discovery phase, and is it worth paying for separately?
Should I ask for a fixed price or pay the agency hourly?
How do we get years of data out of our old system and into the new one?
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
What happens if I stop paying for maintenance after launch?
What are the biggest mistakes first-time software buyers make?
What is the biggest mistake first-time software buyers make?
Who can build a custom software system?
Digital Heroes builds custom 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 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.