OCPI vs OCPP vs OICP vs ISO 15118: A Plain-English Comparison

OCPI vs OCPP: one connects charging networks, the other a station to its operator. Plus OICP and ISO 15118 — what each does and which layer it lives at.

Four acronyms in EV charging keep getting tangled in conversations: OCPI, OCPP, OICP, and ISO 15118. They sound similar (three start with “OC”), they all relate to “open” charging, and they all involve interfaces between computer systems. People conflate them constantly.

But they sit at different layers of the EV charging stack and solve different problems. Confusing them is like confusing TCP/IP with HTTP with REST — they’re related, but each does its own job.

This article is the side-by-side comparison.

The four-layer model

A complete EV charging session involves communication at four distinct layers:

  1. Vehicle ↔ Station (the physical and protocol negotiation between the car and the charging point)
  2. Station ↔ CPO backend (the station reports up to its operator’s servers)
  3. CPO ↔ eMSP (the CPO and the customer’s service provider exchange business-level info)
  4. eMSP ↔ Driver (the app, the receipt, the customer experience)

Each layer has its own protocol(s). The four acronyms map cleanly:

LayerProtocol(s)Example use
1. Vehicle ↔ StationISO 15118, basic ISO 15118-2/-20Plug & Charge, V2G negotiation
2. Station ↔ CPO backendOCPPStation boot, transaction reporting, remote start
3. CPO ↔ eMSPOCPI or OICPSharing locations, tariffs, sessions, CDRs
4. eMSP ↔ DriverApp, web, emailApp displays, payment receipts

The four acronyms each live at one of the first three layers. Confusing them collapses the layers.

OCPP — station to backend

What it is: Open Charge Point Protocol. Defines how a charging station talks to its operator’s central management system.

Managed by: Open Charge Alliance (OCA), an industry consortium.

Versions: 1.6 (still widely deployed across legacy fleets), 2.0.1 (production mainstream — security profiles + Smart Charging), 2.1 (released June 2024 — adds enhanced device model and ISO 15118 integration; adoption growing through 2025-2026).

What flows:

  • Boot notifications (“I’m a station with these capabilities”)
  • Heartbeat messages (“still alive, still connected”)
  • Transaction start/stop events (per-session reporting)
  • Status notifications (available, occupied, faulted)
  • Remote start/stop commands (CPO triggers a session)
  • Smart charging schedules (CPO tells station to limit power)
  • Firmware update commands

Where it sits: Between the charging station and the cloud. Always station-to-server. Doesn’t cross between companies.

Common confusion: “Is OCPP what makes roaming work?” No — OCPP is between a station and its own operator. Roaming (CPO to eMSP) is OCPI.

OCPI — CPO to eMSP (peer-to-peer)

What it is: Open Charge Point Interface. Defines how a CPO and an eMSP exchange business data.

Managed by: EVRoaming Foundation, an independent nonprofit.

Versions: 2.1.1 (legacy, still deployed), 2.2 (Mar 2020 — first version with formal Hub role + Smart Charging module; some implementations still on this), 2.2.1 (Jun 2020 — bugfix on 2.2; current mainstream), 2.3.0 (Feb 2025 — AFIR + extensibility framework). See the full OCPI version history for what changed and when.

What flows (by module):

  • Locations — CPO publishes station info; eMSP consumes to show in app
  • Tariffs — CPO publishes pricing; eMSP consumes for transparency and billing
  • Sessions — live session data from CPO to eMSP
  • CDRs — final billing records from CPO to eMSP
  • Tokens — eMSP publishes customer identities; CPO validates at session start
  • Commands — eMSP triggers actions (start, stop, reserve) via CPO

Where it sits: Between business backends. Either direct (CPO ↔ eMSP) or via a roaming hub.

Common confusion: “Is OCPI just for roaming hubs?” No — OCPI is the protocol whether you use a hub or not. A hub like Hubject also speaks OCPI to its connected partners.

OICP — CPO to eMSP (hub-centered)

What it is: Open InterCharge Protocol. An alternative to OCPI for CPO-eMSP exchange, with a different architectural assumption.

Managed by: Hubject (a German company that operates the largest commercial roaming hub in Europe).

Versions: Various (proprietary versioning).

Architecture: OICP assumes a central hub. CPOs and eMSPs connect to the hub; the hub mediates all transactions. Unlike OCPI’s peer-to-peer flexibility, OICP is hub-centered by design.

What flows: Conceptually similar to OCPI — locations, sessions, billing records, customer identity. Different wire format and different governance.

Where it sits: Same layer as OCPI — between business backends. The distinguishing factor is the hub-centered architecture and the proprietary governance.

Common confusion: “Should I implement OCPI or OICP?” Depends on your roaming partners. Many production networks support both. OCPI has broader adoption in 2026; OICP retains significant market share in Europe through Hubject.

ISO 15118 — vehicle to station

What it is: An ISO international standard for vehicle-to-grid communication. Defines the protocol the car and the charging station use to talk to each other.

Managed by: ISO (International Organization for Standardization).

Versions:

  • ISO 15118-2 (2014): the original, supports Plug & Charge
  • ISO 15118-20 (2022): adds bidirectional charging (V2G) support, expanded protocol features

What flows:

  • Vehicle identification and authentication (Plug & Charge)
  • Charging session negotiation (target voltage, current, SOC)
  • Smart charging schedules (vehicle and station agree on a plan)
  • V2G bidirectional power flow direction

Where it sits: The lowest layer — between the EV and the station. Below OCPP. Doesn’t involve any backend or business systems.

Common confusion: “Is ISO 15118 a replacement for OCPP?” No — they’re at different layers and solve different problems. ISO 15118 is car-to-station. OCPP is station-to-CPO-backend. Both exist in the same charging session, doing different jobs.

The full session, mapped to protocols

Walk through a real charging session and see all three in action (OICP is interchangeable with OCPI at the relevant step):

sequenceDiagram
    participant EV
    participant Station
    participant CPO as CPO backend
    participant eMSP

    EV->>Station: ISO 15118: identify + authenticate
    Station->>CPO: OCPP: session starting, token X
    CPO->>eMSP: OCPI Tokens: validate token X?
    eMSP-->>CPO: OCPI: authorized
    CPO->>Station: OCPP: begin session
    Station->>CPO: OCPP: delivering 47 kW
    CPO->>eMSP: OCPI Sessions: live progress
    Note over eMSP: App shows driver
    Station->>CPO: OCPP: session ended, 32.4 kWh
    CPO->>eMSP: OCPI CDRs: final billing record
    Note over eMSP: Charges payment method

Three protocols, four layers, one seamless experience for the driver:

  1. ISO 15118 handles the EV-to-station handshake (and Plug & Charge if supported)
  2. OCPP handles every station-to-CPO message — start, progress updates, end
  3. OCPI handles every CPO-to-eMSP message — token validation, live session push, final CDR

Each is the right tool for its layer. Trying to do roaming with OCPP, or station control with OCPI, doesn’t work.

When to use which

If you’re trying to figure out which protocol applies to a given engineering or business problem:

Your problemProtocol
Station hardware reports to my CPO platformOCPP
My charging station needs firmware updatesOCPP
I need to roam my customers onto another network’s stationsOCPI (or OICP)
I want my customer to scan a QR code and start charging without an appISO 15118 (Plug & Charge)
I want bidirectional charging (vehicle-to-home or vehicle-to-grid)ISO 15118-20
I want to connect to dozens of partners with one integrationOCPI or OICP via a roaming hub
I need to publish current charging station status to many partiesOCPI Locations module
I need to send a billing record to another networkOCPI CDRs module (or OICP equivalent)

A note on OCPI vs OICP

These two are the closest competitors. Both solve the same layer-3 problem. Worth being explicit:

  • OCPI is governance-neutral (managed by an independent nonprofit). Peer-to-peer by default; hubs are optional.
  • OICP is governed by Hubject, a commercial entity. Hub-centered by design; Hubject sits in the middle of every transaction.

Different networks have made different choices. Many large CPOs support both — implementing OCPI for some partners and OICP for connections through Hubject. The protocols aren’t mutually exclusive at the company level, just at the connection level.

In 2026 the trend is OCPI’s share growing relative to OICP’s, but OICP retains substantial European market presence.

Three things to take from this

  1. Different protocols at different layers. OCPP = station to backend. OCPI/OICP = backend to backend. ISO 15118 = vehicle to station.

  2. They’re not in competition with each other at most layers. They’re complementary. A single charging session uses three of them simultaneously.

  3. The “OCPI vs OICP” choice is real — and the only place where two protocols genuinely overlap. Most other “which protocol” questions resolve cleanly to one answer.

If you’re building anything in EV charging, knowing which protocol handles which layer is the foundation. Once that clicks, the rest of the standards landscape becomes navigable.

Quick check

Q1. Which protocol handles communication between a charging station and the CPO's backend?
Q2. What does ISO 15118 primarily enable?

Frequently asked questions

Are OCPI and OCPP the same?

No. OCPP connects a charging station to its operator's backend (device-to-server). OCPI connects different operators' backends to each other (server-to-server). They serve different layers and are designed for different problems.

What does ISO 15118 do?

ISO 15118 is the standard for direct communication between the EV and the charging station. It enables Plug & Charge (automatic authentication), bidirectional charging (V2G), and smart-charging negotiations.

How does OICP differ from OCPI?

Both connect CPOs and eMSPs, but architecturally differently. OCPI is peer-to-peer (anyone can connect directly). OICP is hub-centered (everyone connects via Hubject's central platform). Many networks support both.

Found this useful? Share it.