Industry guide · Custom Software

EV Charging Management Software: The Operator's Build vs Buy Guide

The short answer

Build it when the platform is your P&L, not before. If you run one or two hardware brands under 50 chargers on standard public tariffs, an off-the-shelf CPMS like AMPECO or Monta is the right call. Once you are juggling multiple OCPP hardware vendors, custom billing, roaming settlement, or NEVI reporting, a custom build pays for itself: expect a focused first release at $60k to $130k shipping in 12 to 16 weeks, and a full platform at $150k to $400k phased over 6 to 12 months.

Why EV charging management software makes or breaks a charge point operator

You run 300 chargers across 55 sites. The DC fast units are Alpitronic and Kempower, the Level 2 stations are Autel and Wallbox, and a few legacy ABB cabinets are still earning. Each brand shipped you into its own cloud dashboard, so your operations manager keeps six browser tabs open just to see one network. When finance closes the month, someone exports a CSV from each portal, pastes session data into a spreadsheet, and tries to reconcile it against the Stripe payouts. Maintenance lives in a separate helpdesk-alternative-to-zendesk/">Zendesk queue that has no idea a connector is throwing a fault right now.

That gap is where the money leaks. An Alpitronic HYC300 at your highway site drops offline on a Friday. The OCPP StatusNotification says Faulted, but nobody is watching that vendor tab, so the first signal you get is a one-star Google review on Sunday and a driver who could not charge. Monday a tech drives ninety minutes each way for what a remote reset would have cleared in ten seconds. Two days of a $60,000 fast charger sitting dead, one truck roll, and a review that suppresses the site for weeks.

Off-the-shelf platforms like AMPECO, Driivz, Monta, and EV Connect exist precisely because stitching this by hand does not scale. The real question for an operator with volume is not whether you need a charge point management system. It is whether a subscription CPMS can carry your specific hardware mix, tariffs, utility contracts, and uptime obligations, or whether those have grown particular enough that you should own the platform.

Problem: every hardware brand traps your data in its own dashboard

You buy chargers on price and lead time, so your fleet is Alpitronic, Kempower, ABB, Autel, and Wallbox. In theory they all speak OCPP 1.6J or 2.0.1. In practice each vendor implements StatusNotification, MeterValues, and error codes slightly differently: one reports energy in Wh, another in kWh, one sends a Faulted status with a vendorErrorCode you decode from a PDF, another just goes silent. Your ops team cannot answer a basic question, how many connectors are available right now across the network, without checking five portals.

A subscription CPMS onboards your chargers to its own OCPP backend, which is progress, but you are still boxed in by its certified hardware list. When you add a DC unit the vendor has not profiled, you wait for them to add support, and their generic ingestion still flattens the vendor-specific diagnostics you actually need for triage. You do not own the connection, so you cannot patch a quirk on Monday when a firmware update breaks MeterValues on Tuesday.

A custom build runs your own OCPP 1.6 and 2.0.1 backend and normalizes at ingestion. Every message lands in one canonical model: site, EVSE, connector, status, power, session. A hardware abstraction layer maps each vendor's error codes and units to your schema, so a fault means the same thing whether it came from Alpitronic or ABB. One live network view, one source of truth, and when a firmware release changes behavior you fix the adapter yourself that day.

Problem: you learn about downtime from drivers, not from your own system

Fault detection latency is the tax that never shows up on an invoice. A connector locks, a payment terminal hangs, a unit stops sending heartbeats, and the OCPP status flips, but the alert either never fires or lands in an inbox nobody reads until a customer complains. Meanwhile the federal NEVI program requires a 97% uptime minimum on funded sites, and every hour of unreported downtime is money you owe back or reimbursement you never collect.

An off-the-shelf dashboard shows you status, but the alerting is coarse and the remediation is manual. There is no auto-reset before dispatch, no fault fingerprinting to separate a soft glitch from a dead power module, and no uptime calculated the way the NEVI formula actually defines it. Your team assembles quarterly compliance reports for the state DOT by hand from exports.

A custom build closes the loop. Incoming faults are fingerprinted against a known-error library, and an auto-remediation playbook fires first: RemoteReset, UnlockConnector, ChangeAvailability. Only when the auto-heal fails does a ticket open in ServiceNow or Zendesk with the fault code, site, and last MeterValues attached, so the tech rolls with parts, not guesses. Uptime is computed per station on the NEVI formula and the quarterly report exports in one click.

Problem: session revenue never quite reconciles to the payout

Your tariffs are not simple. Some sites bill per kWh, some per minute, some add an idle fee after a grace window, some pass a utility demand charge through to fleet customers, and a few run time-of-use pricing that changes at 4 p.m. Every one of those sessions produces a Charge Detail Record, and finance is supposed to tie those CDRs to the Stripe or Adyen payout and to the roaming settlements. The spreadsheet never balances to the penny.

Off-the-shelf billing gives you a CSV of sessions, but the rating logic is rigid. It cannot express your idle-fee grace rules or a negotiated corporate contract rate, and it does not reconcile CDRs against the processor payout, so disputed sessions go unrecovered and your AR team burns days chasing variances that a machine should catch.

A custom build runs a rating engine that consumes each CDR, applies the full tariff stack including kWh, time, idle, tax, and demand pass-through, then writes to a reconciliation ledger matched against Stripe, Adyen, and inbound roaming CDRs. Variances get flagged for review instead of quietly written off. Every kWh you bill traces back to a specific MeterValues reading, which is also what you want the first time a fleet customer challenges an invoice.

Problem: getting onto other networks' apps without losing the settlement

Drivers expect to start a session from the app they already have, which means roaming. To let that happen you connect to hubs like Hubject and Gireve over OCPI, publish your locations and tariffs, authorize partner tokens, and settle the CDRs that flow back. If you also sign B2B fleet contracts with negotiated rates, the settlement gets specific fast.

Many CPMS products support OCPI, but the tariff publication and settlement terms are templated to their model. Custom fleet pricing, negotiated roaming rates, and a whitelabel app under your own brand tend not to fit the vendor's assumptions, and you cannot change what you do not control.

A custom build exposes OCPI 2.2.1 endpoints for locations, sessions, CDRs, tariffs, and tokens, publishes your tariffs to the hubs, and settles roaming CDRs on your own contract terms. Fleet and B2B pricing rules live in the same rating engine as your public tariffs, so a session started through a partner app rates and reconciles exactly like a direct one.

Problem: a demand-charge spike can erase a site's margin

Eight DC fast chargers share one transformer at your flagship site. The utility bills demand on your highest 15-minute average power draw for the month. If four cars plug in at once and pull full power, you can breach the transformer rating or set a monthly demand peak whose charge dwarfs the energy you actually sold. This is the failure mode that turns a busy site into an unprofitable one.

Generic smart charging in an off-the-shelf platform does not know your transformer capacity, your specific utility rate schedule, or whether you have on-site solar and battery. It throttles by a blunt rule and either leaves capacity on the table or fails to protect your peak.

A custom build orchestrates load at the site level using OCPP SetChargingProfile, setting dynamic per-connector setpoints that respect the electrical capacity and the utility's demand window. Priority rules keep contracted fleet vehicles charging before opportunistic public sessions, and on-site battery and solar feed into the setpoint math. You cap the 15-minute peak, protect the transformer, and keep sessions moving.

What an EV charging platform actually costs to build

These bands come from Digital Heroes delivery experience across 2,000+ projects, not a generic estimate. A focused first release, live OCPP ingestion across your hardware, one clean billing flow, and an operations dashboard with fault alerting, typically runs $60k to $130k and ships in 12 to 16 weeks. A full platform with roaming, smart charging, reconciliation, and compliance reporting runs $150k to $400k, phased over 6 to 12 months so you launch the core and add modules against real sessions.

What drives price up in this category specifically: the number of OCPP versions and vendor hardware profiles you have to certify, because each brand's quirks are real integration work. Payment plus tax plus reconciliation is its own project. OCPI roaming, site-level load management tied to utility rate schedules, NEVI and state reporting, and high-availability design all add scope. A charger that loses its WebSocket is a dead charger, so the reliability bar sits higher here than in most software.

Build versus buy: where the line actually sits

Off-the-shelf is genuinely the right call when your operation is still simple. Under roughly 50 chargers, one or two hardware brands, standard public tariffs, no roaming, and no NEVI money on the table, AMPECO, Monta, or EV Connect will serve you, and the per-charger SaaS fee is cheaper than owning a platform. Do not build to feel sophisticated.

The signals that it is time to build are concrete: a multi-vendor hardware fleet you cannot consolidate onto one certified list, stacked per-charger SaaS and transaction fees that now cost more than an amortized build at your volume, custom tariffs or fleet contracts the vendor cannot express, roaming settlement on your own terms, demand-charge exposure that generic smart charging will not manage, or a vendor roadmap that gates decisions about your own network. The position is simple: buy while the platform is a convenience, build once the platform is your P&L.

How to choose a developer for EV charging management software

First, confirm they have built an OCPP backend, not just called an API. Ask specifically how they normalize StatusNotification and MeterValues across vendors, how they handle a charger that drops its WebSocket and reconnects mid-session, and where OCPP 2.0.1 diverges from 1.6 in their model. If they cannot answer without notes, they will learn on your budget.

Second, test whether they know the domain data model. CDRs, the EVSE and connector hierarchy, tariffs, sessions, tokens, and OCPI roaming are the nouns of this business. A team that calls a charger a generic device and stops there will miss the reconciliation and settlement problems that actually cost you money.

Third, probe integrations with a real example. Payment processors like Stripe and Adyen, tax, roaming hubs like Hubject and Gireve, fleet telematics, and utility rate schedules are all live systems with their own failure modes. Ask for one integration they shipped and what broke in production.

Fourth, press on compliance and reliability. NEVI uptime reporting, PCI scope for card payments, and a high-availability design that assumes chargers will keep talking are not optional in this category. The right partner treats a dropped connection as a revenue incident, because that is exactly what it is.

Research & sources

The evidence behind this guide

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

  1. 76% of developers are using or planning to use AI tools in their development process in 2024 (up from 70% in 2023), with current active use rising to 62% from 44%; 81% agree increasing productivity is the biggest benefit of AI tools. Source: Stack Overflow (2024) →
  2. Per the Standish Group CHAOS 2020 report (reviewed at this URL), across tens of thousands of software projects roughly 31% end successfully, about 50% are 'challenged', and roughly 19% fail outright; small projects succeed far more often than large ones, and Agile approaches succeed at markedly higher rates than Waterfall. Source: The Standish Group (2020) →
  3. 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) →
  4. Criteo's Global Commerce Review found retail apps convert at 18% versus 4% on mobile web (roughly 4.5x), and travel apps convert at 20% versus 6% on mobile web (about 3.3x). Source: Criteo (2017) →
Rohan Malhotra · Enterprise Software Consultant

Rohan advises mid-market and enterprise teams on ERP, CRM and custom software, and has led delivery on dozens of business-software builds.

Writes for Digital Heroes, shipping business software for 2,000+ brands across 55+ countries since 2017.

FAQ

Frequently asked questions

How much does it cost to build a custom EV charging management platform?
A focused first release runs $60k to $130k and ships in 12 to 16 weeks, while a full multi-site platform runs $150k to $400k phased over 6 to 12 months, based on Digital Heroes delivery across 2,000+ projects. Price climbs with the number of OCPP hardware profiles you certify, roaming, payment reconciliation, and smart charging. At 300-plus chargers a build usually amortizes below stacked per-charger SaaS and transaction fees within a couple of years.
Should we build our own CPMS or keep using AMPECO or Driivz?
Stay on AMPECO, Driivz, or Monta if you run one or two hardware brands, under roughly 50 chargers, standard public tariffs, and no roaming settlement. Build once you are stitching multiple OCPP vendors, need custom billing or fleet contracts, chase NEVI reimbursement, or the vendor roadmap is gating your business. The deciding question is whether the platform is your P&L or a convenience.
How long does it take to build an EV charging platform?
A focused first release with live OCPP ingestion, one billing flow, and an operations dashboard ships in 12 to 16 weeks. A full platform with roaming, smart charging, and compliance reporting phases over 6 to 12 months. Most operators launch the core, run real sessions through it, then add modules.
Can a custom platform manage chargers from different manufacturers?
Yes, and that is one of the main reasons to build. A custom backend speaks OCPP 1.6J and 2.0.1 and normalizes each vendor's StatusNotification, MeterValues, and error codes into one charger-state model, so Alpitronic, Kempower, ABB, and Autel units all report the same way. You get one live network view instead of six separate vendor dashboards.
Do we own the code if Digital Heroes builds the platform?
Yes, you own the full source code, database schema, and infrastructure. It is built as work-for-hire and the repository is handed over, so you are not renting access to your own charging network. That ownership is the structural difference from a SaaS CPMS, where your data and roadmap sit with the vendor.
How do we migrate off our current CPMS without downtime?
Migration runs the new backend in parallel before cutover: you point a subset of chargers at the new OCPP endpoint, verify that sessions, billing, and faults match, then move sites in waves. Historical CDRs and session data import so reporting stays continuous. Because it moves site by site, no location sees meaningful downtime.
How does a custom platform handle NEVI uptime reporting and compliance?
A custom platform computes station uptime using the federal NEVI formula, tracks excluded outage causes, and exports the quarterly reports state DOTs require instead of you assembling them by hand. It also drives auto-remediation and dispatch so you actually hit the 97% uptime minimum, not just measure against it. That closes the gap between what you report and what you collect.
Can a custom build support roaming with Hubject or Gireve?
Yes, a custom build exposes OCPI 2.2.1 endpoints for locations, sessions, CDRs, tariffs, and tokens, and connects to roaming hubs like Hubject and Gireve. You publish your tariffs, authorize partner tokens, and settle roaming CDRs on your own contract terms, including negotiated fleet and B2B rates that a templated CPMS cannot express. Roaming sessions rate and reconcile through the same engine as your direct ones.
How does billing and payment reconciliation work in a custom platform?
The platform rates each session from its CDR, applying per-kWh, per-minute, idle fees, time-of-use, and demand pass-through, then writes to a ledger matched against Stripe or Adyen payouts and roaming settlements. Variances get flagged so finance recovers disputed sessions instead of eating them. Every kWh billed traces back to a specific MeterValues reading, which matters the first time a fleet customer challenges an invoice.
What are the biggest mistakes first-time software buyers make?
Choosing the lowest bid, paying more than 30-40% upfront instead of on milestones, skipping a written specification, and having no maintenance plan for after launch. The most expensive of the four in Digital Heroes rescue projects is the missing spec: without written acceptance criteria, done becomes an argument instead of a checklist, and every disagreement resolves in the vendor's favor. Fix those four and you have avoided most of the ways these projects fail.
Should I ask for a fixed price or pay the agency hourly?
Fixed price for the first version, hourly or retainer for what comes after launch. A fixed-scope, fixed-price V1 puts the estimation risk on the agency, which is exactly where you want it while trust is unproven; hourly billing on an unscoped greenfield build is a blank check. After launch, flip it, because maintenance and small features arrive unpredictably and fixed-pricing every ticket wastes everyone's time.
We run everything on Airtable and spreadsheets. When is it time to go custom?
The switch usually makes sense when you hit one of two walls: Airtable's record caps (125,000 records per base on the Business plan) or logic the tool cannot express, like multi-step approvals with conditional pricing. There is also a simple cost signal: 25 people on Business at roughly $45 per seat per month is about $13,500 a year, forever, for a tool you are already fighting. Custom is worth it when the workflow is core to how you make money; for peripheral processes, staying on Airtable is the right call.
Is it cheaper to customize Salesforce than to build a custom CRM from scratch?
If you use less than a third of what Salesforce does, a custom CRM is often cheaper by year three. Salesforce Enterprise lists at $165 per user per month, so 25 seats cost about $49,500 a year before admin and consultant fees, while a focused custom CRM runs $60,000 to $100,000 once plus 15 to 20% a year in maintenance. If you genuinely need Salesforce's ecosystem, reporting, and app marketplace, customizing it beats rebuilding it; the mistake is paying enterprise prices to use it as a glorified contact list.
How long does it take to build a custom web or mobile app from scratch?
Plan on 8 to 16 weeks for a focused first version and 4 to 9 months for a larger platform, which is the typical spread across Digital Heroes builds. The first 2 to 3 weeks go to discovery and design before any production code ships. The two things that stretch timelines most are integrations with legacy systems and slow feedback from your side, not developer speed.
What should I have ready before I contact a development agency?
Three things, none of them technical: a one-page description of the problem in your own words, a list of the tools and spreadsheets the new system must replace or connect to, and a must-have versus nice-to-have split of features. Add a budget range, even a wide one, because it changes the conversation from fantasy to engineering. You do not need a formal specification; producing that is what a discovery phase is for.
How many people should be working on my software project?
Three to five for a typical focused build: a project lead, one or two engineers, a designer, and part-time QA, which is the standard shape across 2,000+ Digital Heroes projects. Larger platforms justify 6 to 10, but a ten-person team on a small first version usually signals bill padding rather than horsepower. What predicts success is whether a senior engineer is writing your code daily, not the headcount on the proposal.
We run everything on spreadsheets and Airtable. How do we know it's time for custom software?
The reliable signals are re-typing the same data into multiple tools, one employee acting as human middleware between systems, and errors appearing in handoffs between teams. Hard limits force the issue too: Airtable's Team plan caps at 50,000 records per base, and Business costs $45 per seat per month, so a 20-person team pays about $10,800 a year for a tool it has already outgrown. When workarounds consume more hours than the tools save, the spreadsheet era is over.
What is a discovery phase, and is it worth paying for separately?
Pay for it, and treat the output as yours. A discovery phase runs two to three weeks, typically 5 to 10% of the eventual build budget, and produces a written scope, wireframes, and a fixed quote you can take to any vendor, including a competitor of the agency that wrote it. Skipping it is how projects end up quoted from a two-paragraph email and delivered at twice the price.
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?