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. CSMS software is what makes networked EV charging work at scale.
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; 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, triggering maintenance alerts
How CSMS vendors test their systems
Testing a CSMS requires a charging station that speaks OCPP. Historically this meant keeping physical chargers in a lab — expensive, hard to scale, and impossible to integrate into CI. Reproducing a specific scenario (a station dropping connection mid-transaction, a charger with a stuck fault code, 200 stations rebooting simultaneously) requires hardware that can be controlled 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 authentic 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 critical to handle correctly. They require putting the system into a precise state on demand — something only a programmable simulator can provide.
SimIt is an OCPP simulator built for CSMS development. Full 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.