Banner with a minimalistic background showing shades of green and blue shapes.
Blog

OCPP in practice: What CPMS vendors don't tell you

"OCPP-compliant" is a marketing sticker, not a guarantee. This guide reveals the dialect mismatches, version traps, and real-world failures vendors don't put in their brochures.

Team Ocean
14 Oct 2026

Sections:

There is no sinking feeling quite like watching your dashboard report 100% network health while your support line melts down with stranded drivers. You paid for a "plug-and-play" future, and you are stuck debugging JSON logs at midnight.

The Open Charge Point Protocol (OCPP) was supposed to fix this. In practice, interoperability is rarely solved by a "we're compliant" sticker: two OCPP-compliant devices can still fail to work together.

This guide moves past the brochures to the technical reality of running OCPP software in production:

  • The compliance myth: why "OCPP-certified" hardware can still fail to talk to "OCPP-compliant" software.
  • The dialect dilemma: how small variations in JSON messaging create failures your dashboard doesn't show.
  • Battle scars: real cases of blown fuses, energy dispensed with no billing record, and firmware updates that stop meter data from being recorded.
  • The procurement audit: the four red-flag questions to ask vendors before signing a 5-year contract.

1. How the OCPP protocol actually works (and why it breaks)

To understand the failure, start with the tool. So, what is OCPP?

The Open Charge Point Protocol is the standard language that lets EV chargers (hardware) talk to a charging station backend, the charge point management system (CPMS). The Open Charge Alliance designed it to guarantee interoperability, so you aren't locked into a single hardware manufacturer.

Here is the catch: OCPP is not a universal USB port. It's a language with dialects.

"OCPP-compliant" means your charger and software speak the same language. It does not mean they understand each other. A Texan and a Glaswegian both speak English; good luck getting them through a phone call on the first try.

When your expensive new hardware speaks "OCPP 1.6 Dialect A" and your CPMS expects "Dialect B," your dashboard stays green while drivers can't charge.

At a technical level, modern OCPP implementations (OCPP 1.6J, 2.0.1 and 2.1) communicate over WebSockets, a persistent two-way connection between the charger and the cloud. The exchange has three core steps:

  • The handshake: the OCPP-compliant charger connects to the backend URL.
  • The heartbeat: the charger sends a pulse every few seconds to say "I'm alive."
  • The transaction: the charger sends the start, stop, and meter values of a session.

A quick distinction that can confuse people: the OCPP protocol governs how a charger talks to your platform. A sister protocol, the Open Charge Point Interface (OCPI), governs how platforms talk to each other for roaming. Mixing the two up is the source of a lot of confused vendor conversations.

Now, with that grounding in the OCPP protocol, let's see how different dialects turn into real charge-point software problems.

2. The "dialect" dilemma

The biggest myth about OCPP compliance is that the standard is rigid. It isn't. The specification is permissive.

The protocol defines how a message looks. It leaves room for interpretation on when and why that message is sent.

  • Manufacturer A sends a StatusNotification the moment a driver plugs in.
  • Manufacturer B waits until authorization completes.

Both are technically OCPP-compliant. But if your backend expects that notification at step one to trigger a change in your driver app, Manufacturer B's chargers look broken to your customers.

This applies mostly to OCPP 1.6. OCPP 2.0.1 and 2.1 are far more precise: they define when a charger must send a message, not just what it looks like. Even so, chargers still send some messages at different points in the charging session, and that is enough to cause misunderstandings between charger and CPMS.

Often, you are buying an integration project to translate these hardware dialects, on top of the software itself.

Dialects are only part of the story. The real measure of an OCPP implementation is how it behaves when connectivity drops, hardware misbehaves, and the edge cases no lab test anticipated start to surface. Here is how that looks in practice.

3. Real-world case studies (battle scars)

OCPP integration with EV charging management systems fails in specific, repeatable ways. The scenarios below are anonymized cases we have solved for our clients, and each one marks the line between a standard CPMS and an operational one.

The blown fuse. A site with restricted grid capacity used OCPP smart charging profiles to limit power draw dynamically. During a storm, the site's internet connection dropped. The standard CPMS stopped sending profiles, and the chargers, receiving no instructions, reverted to their hardware maximum of 32A. The site blew its main fuse, which meant calling an emergency electrician and staying offline for 24 hours.

The operational fix: a mature OCPP platform writes a safe-limit fallback into the charger's internal settings via OCPP keys before the connection ever drops. Lose the link, and the charger falls back to a safe 6A and keeps the site live. This is exactly the kind of scenario that mature load management logic is built to handle.

The ghost session. A charge point operator (CPO) noticed a gap between energy dispensed and invoices sent. A driver started charging, and the charger sent StartTransaction to the backend as normal. When charging ended, a cellular glitch or charger fault interrupted communication, and the charger never resent StopTransaction. The CPMS was never told the session had ended. The result was a ghost session: energy dispensed, no billing record. Some charger models are more prone to this than others.

The operational fix: on charger models known for this problem, the system checks whether the previous session on that connector was completed every time a new one starts. If it wasn't, the system closes it, estimating when it ended, so a billing record can still be created. Charger models that reliably send StopTransaction aren't affected.

The firmware brick. A fleet manager pushed a manufacturer-recommended firmware update to 200 OCPP EV chargers. The update slightly altered the timestamp format in the MeterValues message, a common protocol implementation error. The backend rejected the messages as malformed JSON. The chargers worked, but no data was recorded.

The operational fix: a CPMS with a tolerant ingestion layer flags malformed data with a warning and still records it, instead of rejecting it outright and losing the revenue record.

Every one of these is avoidable when OCPP software is implemented for the messy real world, not the lab.

4. Best practices for OCPP implementation

The best practices for OCPP live in governance, not the feature list. Treat OCPP EV charger software procurement as a technical audit. The "yes/no" columns in a request for proposal (RFP) tell you nothing about maturity. Ask these four questions instead:

  • "Show me your ghost-session logic." Look for automated detection of sessions that started but never received a stop message, so the energy still ends up on an invoice.
  • "How do you handle dialects?" If the answer is "we follow the standard perfectly," walk away. The right answer is "we run an adaptation layer for different hardware brands."
  • "Demonstrate a bulk firmware update on a mixed fleet." Look for how they update several charger brands at once without taking the network down.
  • "What is your safe-limit protocol?" If the internet cuts out in the middle of a load-management event, does the charger blow the fuse or drop to a safe minimum?

4.1 When the answers don't add up, what to do next

If a vendor's answers expose gaps, you have two paths. Operators already running on a weak platform should look at how to migrate without downtime and without losing billing history. Operators still choosing a vendor should put the shortlist side by side on these exact criteria before signing. Either way, get the details first: download the full OCPP vendor gap analysis and take the four questions above into your next vendor call.

5. Conclusion: welcome to the operational era

We aren't writing this to scare you. We are writing it because the land-grab era of EV charging is over. We are in the operational era now.

The game has changed. Profitability now comes from system uptime, revenue integrity, and cost-to-serve. The number of plugs in the ground no longer decides who wins, and OCPP implementation problems are the main threat to all three.

Ocean doesn't pretend its software is magic. We are the partner with the battle scars. We have spent years refining Ocean's OCPP integration to handle the fragmented reality of the hardware market, and today we run 210+ OCPP charger models in production so you don't have to absorb that work yourself.

The depth of OCPP is not just an engineering detail. It determines whether your platform holds up under load, which is the difference between a cost center and a leading edge. See how platform OCPP depth affects your competitive position.

Want to move from "plug and pray" to "plug and partner"? Talk to our team about real-world OCPP implementation. We'll show you our battle scars and how we solved them.

Discover more Blogs

ArrowArrow
ArrowArrow
Our trusted partners
Ride the Wave. Power the Future.Your Charging Network. Your Rules.

No lock-ins. No limits. Just scalable infrastructure that works.

Talk To Our Team
Talk To Our Team
Black arrow icon