A CSMS (Charging Station Management System) is the backend software that every EV charger connects to. If you have ever started a charging session at a public station, a CSMS authorized your token, tracked the energy delivered, and closed your session. It is the piece that makes networked EV charging work across more than a handful of stations.

You will also see this backend called a CPMS (Charge Point Management System), which is the same system under a different name. "CSMS" is the term OCPP's own specification uses. "CPMS" is common vendor and regional terminology for the identical role, favoured in particular by Charge Point Operators and European vendors. This article uses "CSMS" throughout, but everything here applies equally whether your team calls it a CSMS or a CPMS.

What a CSMS does

A CSMS handles the entire lifecycle of a charging session:

How CSMS vendors test their systems

Testing a CSMS requires a charging station that speaks OCPP. Historically that meant keeping physical chargers in a lab, which is expensive, hard to scale, and impossible to integrate into CI. Reproducing a specific scenario, such as a station dropping connection mid-transaction, a charger with a stuck fault code, or 200 stations rebooting simultaneously, requires hardware you can control precisely.

OCPP simulators solve this. A simulator connects to your CSMS over WebSocket exactly like a real charger. You control it via API: create a station, connect a virtual EV, start a transaction, inject a fault, drop the network. Your CSMS sees real OCPP messages and responds to them.

Where CSMS bugs hide

The hardest CSMS bugs live in edge cases: reconnect handling after a mid-transaction disconnect, authorization cache behaviour during CSMS outages, overlapping smart charging profiles, meter register gaps after a session resumes. These scenarios are rare in normal operation but still need to be handled correctly, and reaching them means putting the system into a precise state on demand. A programmable simulator is the practical way to do that.

SimItNow is an OCPP simulator built for CSMS development, with OCPP 1.6, 2.0.1 and 2.1 support, fault injection, network simulation, and a REST API that works from any test script or CI pipeline.

Create a free account and connect your first virtual station in minutes.