EV Charging
Charging sessions billed on two clocks: energy delivered, and the bay held afterwards.
The short answer
EV Charging is an Odoo application for operators of a charge-point estate. It models stations, chargers, tariffs and metered sessions, and it prices each session on two clocks rather than one: the minutes energy was flowing, and the minutes the connector stayed occupied after the car was full. Energy, time and idle each carry their own cost line.
Last updated
What it is for
The car finished charging and is still in the bay. Nobody is charging, nobody is paying, and the next driver pulls in, finds the bay taken by a full car, and leaves. That failure mode never shows up in a report that only counts kilowatt hours. Generic billing cannot express it either, because it has one clock. A charging session has two: the time energy was flowing, and the time the connector stayed occupied afterwards. Charge for one and you subsidise the other.
- Platform
- Odoo
- Category
- Assets & rentals
- Works with
- Odoo 18 · Odoo 19
- Technical name
ev_charging- Status
- Direct from webbox
- Pricing
- Paid
What is inside it
- 01
Idle time
A session stores its start, its charging-end and its end, so idle is a field rather than something inferred later. Energy, time and idle costs add up to the total.
- 02
Tariffs
A tariff holds the per-kWh rate, the per-minute connection rate and the idle rate. A charger points at one, so a second pricing tier is a second record.
- 03
The estate
Chargers belong to stations and carry a connector type, a power rating and a status. Availability counts the points that are not sitting in a fault state.
- 04
The board
Six tiles lead with availability, because that is what a driver meets on arrival. Clicking a tile opens the sessions or chargers it counted.
What it looks like in practice
-
A driver leaves the car plugged in long after it is full
The session has stopped drawing power but the connector is still occupied, and the next arrival finds no free bay.
Charging-end and end are separate fields on the session, so the second gap is stored as idle rather than worked out afterwards. idle_cost is computed from the tariff's idle rate and joins energy_cost and time_cost in the total, which is what lets an invoice line say what the driver is actually paying for.
Behaviour of the shipped code.
Idle timeTariffs
-
A faulted charge point drops the availability a driver would meet
One point stops working and somebody marks its status down on the charger record.
Availability on the board counts the points not in a fault state, so the number moves when the record changes rather than when somebody remembers to update a spreadsheet. The tile opens the chargers behind it.
- Chargers down, of eight points
- 2
- Charger availability
- 75%
- Session success
- 90.9%
Figures from the module's own demo data, on a fresh install. Install with demo data and open EV Charging, then the dashboard.
The estateThe board
-
The idle rate goes up and last month's sessions stay as they were
A site decides a held bay should cost more than it did.
The rate lives on the tariff record, so the change is an edit on a form rather than a release. Historical sessions are not recomputed, because the price a driver was quoted is the price they paid.
Behaviour of the shipped code.
TariffsIdle time
What it deliberately does not do
- No OCPP
- Chargers do not talk to this. Sessions are recorded, not ingested from hardware, so treat it as the ledger behind live telemetry rather than the driver of it.
- No driver app or RFID
- There is no self-service portal and no token authentication. Sessions are created by staff, or by an integration you write.
- No roaming or eMSP settlement
- One operator, one estate. Nothing here clears sessions between networks.
- No load management
- Power ratings are recorded per charge point. Nothing balances draw across a site.
Questions
Can I install this on Odoo Online?
Does it speak OCPP and pull sessions off the chargers?
Can drivers start a session themselves with an app or an RFID token?
How is access split, and does it fence off by company?
Have something to build?
Tell us the problem. We'll come back with a plan, a price, and who'd actually build it.
- Free scoping call
- Reply within 1 business day
- No lock-in