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:
- Authorization. Deciding whether a driver's RFID card or app token is allowed to charge, via online lookup or local authorization list.
- Session management. Starting, tracking, and stopping sessions, and managing concurrent sessions across many stations.
- Energy metering. Receiving MeterValues data for billing and energy reporting.
- Remote control. Sending RemoteStartTransaction, RemoteStopTransaction, ChangeAvailability, Reset, and other OCPP commands.
- Smart charging. Sending charging profiles to limit power per station or per connector for grid management.
- Firmware management. Pushing software updates to stations in the field.
- Monitoring and alerting. Receiving StatusNotification messages, detecting faulted or offline stations, and triggering maintenance alerts.
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 and 2.0.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.