For manufacturers
What a charger brand needs to deliver so its owners can register ERE credits through Joulo: MID metering, OCPP 1.6J or a cloud API, and free access to the owner's own data.
This page is for charger manufacturers and platform operators. It lists what your charger or API must deliver so that Joulo can register ERE credits (emission reduction units) for your customers in the Netherlands.
Read it as a checklist. A brand that meets every point below connects to Joulo without custom work on either side.
1. The meter comes first
Dutch rules only allow energy measured by a MID-certified meter to count (Regeling energie vervoer, art. 9). Three conditions apply:
- The MID meter sits inside the charger housing. A meter in the fuse box, or a separate box next to the charger, does not count.
- The charger reports the values of that MID meter. Some chargers carry a MID meter but send readings from an internal, uncertified counter. Please tell us which register your firmware reports.
- The charger is fixed to one address. A mobile charger never counts, also not with a MID meter inside. One registration belongs to one charge point behind one grid connection.
Counting starts when the MID meter is in place. Sessions from before that moment never count.
What helps us most: make the MID variant visible in data. Put it in the model name, the part number, or a field in your API. Without that signal, we must ask each owner for a photo of the type plate.
2. Pick a route
Joulo reads sessions over two routes. You do not need both.
| Route | What you build | Data arrives |
|---|---|---|
| OCPP 1.6J (preferred) | Nothing new, if your firmware already speaks OCPP 1.6J | Live, while the car charges |
| Cloud API | An API that exposes the owner's chargers and sessions | On a schedule, after the session ends |
3. OCPP 1.6J
The owner or installer sets the charger's backend URL to wss://ocpp.joulo.nl/{chargePointId}. Joulo then acts as the central system. See Chargers for the connection details.
Your firmware should do the following:
- Report the MID register in
StartTransaction,StopTransactionandMeterValues, asEnergy.Active.Import.Registerin Wh. All three must use the same register. Two registers that drift apart make live energy impossible to check. - Accept
RemoteStartTransactionwith any idTag. Joulo starts sessions on the owner's behalf with its own tag. Do not require the charger's serial number or a whitelisted card. - Respect
MeterValueSampleInterval. If the charger accepts a value, it should use it. - Answer every call, also the first calls after a boot. A call without an answer looks like a dead charger.
- Report status changes. Move from
PreparingtoChargingorSuspendedEVas the car starts and pauses. - Keep the real time. Sync the clock over NTP. A charger with a dead clock stamps sessions in the wrong year.
- Buffer offline transactions and send them when the connection returns, with their original timestamps.
- Make the setting easy to find. The backend URL should be in your app or installer tool, on every firmware version you ship. A setting that appears only after a per-device release means most owners never find it.
Signed meter data (OCMF) is welcome but not required.
4. Cloud API
If your chargers only talk to your own cloud, we need an API with the following.
Authentication
- OAuth 2.0 authorization code flow with refresh tokens. The owner approves access in your own screen. A personal API key that the owner creates in your app also works.
- No shared passwords. Joulo does not want to store your customers' passwords.
- Tokens that last. A refresh token should stay valid as long as the owner does not revoke it. Forcing a new login every few months breaks registrations without any action from the owner.
- The owner sees their own history. If your platform has user roles, a normal owner account must see the full session history of their own charger.
Charger list
| Field | Required |
|---|---|
| Charger ID, stable over time | Yes |
| Serial number | Yes |
| Model and power variant, or part number | Yes |
| MID meter present (yes or no) | Yes |
| MID meter serial number | Preferred |
| Firmware version | Preferred |
| Installation address or site ID | Preferred |
Session history
One record per charging session:
| Field | Required |
|---|---|
| Session ID, unique and stable | Yes |
| Charger ID and connector ID | Yes |
| Start and end time, in UTC or with a time zone offset | Yes |
| Energy delivered to the vehicle, in Wh, from the MID meter | Yes |
| MID register reading at start and at end, in Wh | Yes |
| Signed meter data (OCMF) | Preferred |
| Charge card or user reference | Preferred |
Energy used by the charger itself must not be in the session total.
Access and freshness
- History from 1 January 2026, the start date of the Dutch ERE scheme. Owners can register those sessions until 25 February 2027.
- A date filter and pagination on the session endpoint.
- New sessions within 24 hours of the session end. Monthly batches are too slow: owners expect to see each session in their dashboard.
- A rate limit that allows one poll every 15 minutes per owner.
- Webhooks for new sessions are welcome, but polling works.
- A test account or sandbox with a real or simulated MID charger.
- Advance notice of breaking API changes, at least 90 days.
5. Access to the owner's data is free
Joulo does not pay per-charger, per-session or revenue-based fees for access to charging data. We ask every brand to give owners free access to their own data, and to let them share it with the service they choose. That is also what the EU Data Act asks.
The charger owner produces the data. The ERE credits belong to the owner too. Joulo registers them on the owner's behalf and pays out the proceeds every quarter.
A fee per charger or per session works against your own customers:
- The owner gets less. Every euro a fee takes comes out of the payout to the owner of your charger.
- It adds a cost to your hardware. Buyers who compare chargers on running costs see your brand as the more expensive choice.
- It charges for chargers that earn nothing. A per-charger fee also applies to chargers without a MID meter, which cannot earn ERE credits at all.
- It conflicts with the EU Data Act. See below.
- OCPP needs no permission. An owner can point an OCPP charger at Joulo directly. A fee on the cloud route mostly pushes owners to that route.
The EU Data Act
Joulo relies on the EU Data Act (Regulation (EU) 2023/2854). It applies since 12 September 2025, and a connected charger falls under it. The Data Act gives the charger owner control over the data their charger generates:
| Article | What it says |
|---|---|
| Art. 4 | The owner may access the data of their charger. Access is free of charge, easy, secure and, where relevant, continuous and in real time. |
| Art. 5 | At the owner's request, the manufacturer makes the same data available to a third party that the owner chooses. This is free of charge for the owner. |
| Art. 8 | The manufacturer shares that data on fair, reasonable and non-discriminatory terms. |
| Art. 9 | Any compensation the manufacturer asks from the third party must be reasonable. For a small or medium-sized recipient, it may not exceed the direct costs of making the data available. |
| Art. 3 | Connected products placed on the market from 12 September 2026 must make their data accessible to the owner by design. |
For Joulo, this means three things:
- Your customer decides. When an owner connects their charger to Joulo, they use their own right under Art. 4 and Art. 5. They do not need an agreement between Joulo and you for that.
- A price per charger exceeds what Art. 9 allows. Joulo is a small enterprise. A fee per charger, per session or as a share of ERE revenue goes beyond the direct costs of making the data available.
- Build it once, for everyone. The Data Act applies to every service an owner picks, so one open, documented API serves your customers best.
Read the full text on EUR-Lex.
An agreement with Joulo covers security, support and service levels. It does not put a price on the owner's access to their own data. Under the Data Act, that access is the owner's right, not a product we buy.
6. Get in touch
Send an email to [email protected] with your brand, the models you sell in the Netherlands, and the route you prefer. We are glad to test pre-release firmware or a new API with you before you ship it.