CarChargeOS
ENVI
Book a demo
← Back to Resources
Guide

EV Charging Tariff Models: How to Price a Charging Session

September 21, 2026 · 7 min read

Most CPOs default to per-kWh pricing because it's the easiest for drivers to compare - and then wonder why a busy retail site still underperforms on revenue. Tariff structure isn't a branding choice, it's the mechanism that decides which resource a site actually gets paid for: energy delivered, or time a connector is occupied. Picking the wrong one leaves money on the table regardless of how good the location or the pricing level is.

The tariff models CPOs actually use

ModelWhat it charges forBest fit
Per-kWhEnergy deliveredSites where parking turns over easily and energy cost, not dwell time, is the real constraint
Per-minute (time-based)Time the connector is in useSites where parking is the scarce resource - DC fast charging corridors especially
Flat session feeA fixed amount per session, regardless of energy or durationLow-stakes, high-simplicity locations - short workplace or retail top-ups
Idle feeTime parked after charging completesAdded alongside another model to protect turnover, not used alone
Tiered / dynamic pricingTime of day, demand, or membership tierHigher-traffic networks with the reporting to actually manage variable rates

Match the tariff to the site's actual bottleneck

The right model comes down to one question: at this site, is energy or parking the scarce resource? A workplace lot with abundant Level 2 connectors and long dwell time isn't short on parking - per-kWh pricing works fine, since there's little cost to a car sitting a while after it's done. A DC fast corridor site with three connectors and constant turnover is the opposite case - a car that finishes charging and stays parked is blocking revenue for every driver behind it, which is exactly what per-minute pricing and idle fees are built to prevent. Charging the wrong resource is why a well-located, well-priced site can still underperform: the tariff structure was solving for the wrong constraint. See how connector power level itself shapes that same dwell-time math in EV charging levels and site revenue.

Idle fees: the most underused lever

An idle fee isn't really about extra revenue - it's about protecting utilization, which is the single biggest driver of connector revenue. A connector occupied by a fully charged car that isn't paying for power is a connector generating zero revenue for however long that car stays, on top of turning away the next driver. Idle fees only work where drivers can actually see them coming - clear in-app warnings and a reasonable grace period before the fee kicks in keep it from reading as a penalty and turning into a support complaint instead of a turnover fix.

Time-of-day and dynamic pricing: powerful, but reporting-dependent

Charging more during peak demand hours and less overnight can shift load away from a site's most expensive electricity and toward its cheapest - directly improving the margin math behind every connector's economics. The catch is that dynamic pricing is only worth the complexity if the platform can actually report on whether it's working - session volume by time band, revenue per band, and the energy cost avoided by shifting load. Without that reporting, a tiered tariff is just a more complicated flat rate.

What a platform needs to support real tariff flexibility

  • Per-site, per-connector tariff assignment - a single network-wide rate is rarely right for every site type it serves.
  • Idle fee configuration with grace periods - a fee that starts immediately after charging completes, with no warning, generates complaints faster than revenue.
  • Time-of-day and tiered rate rules - set once per site and applied automatically, not calculated manually per session.
  • Session-level reporting by tariff component - energy revenue, idle fee revenue and flat fees broken out separately, so a CPO can see which lever is actually moving revenue.

A platform that ships this as configuration, not custom engineering, is what makes it practical to run different tariff models across a portfolio of very different site types from one CSMS. See how CarChargeOS handles tariffs, billing and session reporting on the platform page.

Frequently asked questions

Is per-kWh pricing always the right default?

No - it's the right default only where parking availability isn't the binding constraint. On high-turnover sites, especially DC fast charging, per-kWh pricing alone gives a driver no reason to move once they're done, which is what idle fees or time-based pricing are meant to fix.

Do idle fees upset drivers?

They can, if implemented without warning. A clear in-app notice and a short grace period before the fee starts is what separates a fee drivers accept as fair from one that generates support tickets and one-star reviews.

Should every site use the same tariff model?

Usually not. A portfolio spanning workplace, retail and highway-corridor sites typically needs at least two different tariff structures, since the scarce resource - energy vs. parking time - differs by site type.

Ready to see the platform behind these guides?

See how CarChargeOS handles station management, tariffs and billing, and your branded EV owner app.

Take the product tour

The operating system for your EV charging business.

You build the network. We power the software behind it.

Book a demo