Standards & Implementation Guidance
Building and operating a CPMS
A Charge Point Management System is infrastructure, not a feature list. Reliability, observability, and clean protocol handling matter more than the dashboard.
What a CPMS actually has to do
A Charge Point Management System sits between physical chargers and everything that depends on them working: drivers, billing, roaming partners, and the grid. Its core responsibilities are narrow but unforgiving:
- Maintain a live OCPP connection to every charger and know within seconds when one drops.
- Authorize sessions — locally cached where connectivity is unreliable, so a network blip doesn't strand a driver mid-plug.
- Meter and bill sessions accurately, including partial sessions caused by faults or manual stops.
- Expose availability and status to EMSPs and roaming partners over OCPI or OICP without lag.
- Push firmware and configuration changes without taking chargers offline during peak hours.
Design for degraded connectivity, not ideal connectivity
Across much of the African market, cellular backhaul to charging sites is intermittent. A CPMS that assumes always-on connectivity will fail exactly where reliability matters most. Two decisions determine whether an outage is invisible or a stranded driver:
- Offline authorization. Chargers should hold a local authorization cache (an OCPP local list or equivalent) so a known RFID tag or app token can start a session without a live round trip to the backend.
- Session reconciliation on reconnect. When a charger reconnects after a drop, the CPMS needs to reconcile meter values and session state rather than treating the gap as data loss.
Uptime is a monitoring problem before it's an engineering problem
"Uptime" is frequently reported optimistically because it's measured as connector-reachable
rather than session-completable. A charger that accepts a connection but fails every
StartTransaction request is not up. Track and publish at minimum:
- Heartbeat / connectivity uptime (is the charger reachable)
- Transactional uptime (did a session that was attempted actually complete)
- Mean time to detect a fault, and mean time to resolve it
Roaming and tariffs
If the CPMS will ever expose sites to third-party EMSPs, build the OCPI (or OICP) integration as a first-class module, not a bolt-on. Tariff structures in particular need to support time-of-use pricing, session fees, and idle fees independently, since grid tariffs and site economics vary significantly by country and utility.
Operational checklist before go-live
- Every charger model in the fleet has passed OCPP conformance testing against the CPMS (see the testing guide).
- Offline authorization is tested by physically disconnecting backhaul mid-session.
- Alerting exists for connector faults, not just charger-offline events.
- Billing reconciliation has been run against at least one full billing cycle of real session data before charging real money.
- A rollback plan exists for firmware pushes, and a fleet-wide push has never been tested for the first time in production.