# Tariffs and pricing

> How a charge is priced, from the parts of a tariff to restrictions and caps, scheduled and dynamic pricing, tariff profiles, reimbursement, and where charging policies are heading.

A **tariff** is the price of a charging session. It attaches to a connector, either directly or through a shared [tariff profile](#tariff-profiles), and turns the energy and time of a charge into an amount the driver pays. This page is about how that price is built. For how the money then moves, see [billing](/docs/platform/account-management/billing).

## What a tariff is made of

A tariff combines one or more price components:

- **Energy**, per kWh delivered. The usual basis for a charge.
- **Time**, per hour connected. Used alongside energy or on its own.
- **Session fee**, a fixed amount per charge.
- **Idle fee**, per minute a vehicle stays plugged in after it has stopped drawing power, to keep a bay moving. It starts only after a grace period you set.

Tariff prices are net. VAT is not part of the tariff; it is added to each session at the rate that applies to the site, so one tariff bills correctly wherever it is used.

## AC and DC

A tariff prices **AC and DC charging separately**. Rather than banding by power, the platform splits on current type, so slow AC and fast DC covered by the same profile each get their own rates.

## Restrictions

A price component can carry **restrictions**, so it applies only in certain conditions instead of as one flat rate. A component can be limited to a time of day, a day of the week, a date range, or a session's duration or energy delivered. This is how an operator prices, say, evenings differently from daytime within a single tariff.

## Cost caps

A tariff can set a **maximum session cost**, and a ceiling on the **per-kWh price**. Once a session reaches the cap it stops being charged for. This protects a driver from a runaway bill, and it is what makes card payment safe where an amount is reserved on the card before charging starts.

## Scheduled tariffs

A **scheduled tariff** prices differently at different times of day, with nothing to switch by hand. It is not a future-dated change to the tariff. Instead the tariff holds several restricted components, and for each moment of a session the platform applies the component whose restrictions match, falling back to the unrestricted rate the rest of the time. A peak and an off-peak price, for example, live in one tariff as two time-restricted components.

## Dynamic pricing

A **dynamic tariff** follows the day-ahead energy market instead of a rate you maintain by hand. The platform tracks the wholesale spot price for the station's country (at present the Netherlands, Germany, Belgium, Austria and France) and prices each session against the market for the hours it ran. On top of the market price you set a margin, a fixed amount per kWh and a percentage, and a ceiling the per-kWh price never passes. When market data is unavailable, a backup rate applies.

## The Advanced Tariffs module

Scheduled tariffs, idle fees, dynamic pricing and cost caps belong to the **Advanced Tariffs** module. A provider enables the module, and then each capability is turned on per account, or by account tier, so an operator exposes only the pricing tools it needs. The basic components, energy, time and a session fee, do not need the module.

## Tariff profiles

A **tariff profile** is a named, reusable pricing definition owned by a provider and applied across many stations, so a change in one place reprices every station that uses it. A profile holds its AC and DC rates, and a station can either take the profile as it stands or override it with pricing set on its own connectors.

A profile can also price the same connector differently depending on who starts the session. It can carry variant rates for a particular card issuer, for a token provider, for the billing plan behind a mobility provider's token, or for a session started by scan-to-pay at the station. When a session starts, the platform picks the most specific variant that applies, and otherwise the profile's base rate.

## Who sets the price under reimbursement

A [Location](/docs/platform/charge-point-operation/charge-stations)'s reimbursement setting decides who is paid for the energy a station delivers, and with it, who sets the price.

- **Business reimbursement.** An operator or provider admin sets the full tariff, and the owning account is reimbursed for the energy delivered. **Split** reimbursement is the same tariff divided across several accounts.
- **Employee reimbursement** (home charging). The tariff is a plain per-kWh energy rate paid to the driver, with no time, session or idle fees. It is set through an invite: the employer either fixes the rate, or sets a maximum and lets the driver choose their own rate within it.

The reimbursement setting decides who is paid, not which tariff prices a session. The pricing itself is worked out the same way in every case.

## How a session's price is decided

When a session starts, the platform settles on one price and keeps it. It works through a fixed order and takes the first that applies: a maintenance session is free; free public charging overrides everything else; an access group can grant a free or custom rate to particular tokens; otherwise the connector's tariff applies, whether that comes from a tariff profile or from pricing set on the connector itself.

The resolved price is then stamped onto the session, and does not change if the tariff is edited later. This is why a session from months ago still shows the price that was in force when it ran. For a dynamic tariff, what is frozen is the formula, the market source, the margin and the cap, not a single figure, and the session is still priced against the market for the hours it actually ran.

## Publishing to the roaming network

Once a provider's roaming connection is live, a station's tariff is shared with roaming partners so their drivers see the price before they charge, with any roaming fee added to the shared copy. See [publishing to roaming](/docs/platform/charge-point-operation/publishing-to-roaming).

## Where this is heading: charging policies

**Charging policies** are the next step: a single object that holds price and access together. A policy carries a set of rules, each pairing a price with the group of tokens it applies to. When a driver presents a token the rules are evaluated in order, and the first that matches both authorises the session and prices it. Giving one card a free or cheaper rate is then a matter of adding a rule for its group above the open one.

Charging policies are set to replace tariffs and access groups over time. They are in preview today, available per provider and reachable through the [Charging Policies API](/docs/platform/reference/platform-api/charging-policies-beta), and for now they run alongside the tariff model described above rather than having replaced it.
