Introduction
This article provides a comprehensive overview of how tariffs and payments are managed in GreenFlux. Whether it is the price an EV driver pays directly to a CPO, or the wholesale price a roaming eMSP pays to access the CPO’s infrastructure, all of these interactions are shaped by distinct transaction types.
We will build on the four e-Mobility Transaction types (recap on Introduction to e-Mobility, Transaction Types and GreenFlux Billing (Tariff) Engines):


For each transaction type, we will:
- Identify the roles involved (CPO, eMSP, Driver)
- Explain the variations under that transaction type (A1–A5, B, C)
- Describe the responsibilities and interactions for each role
- Break down the tariff management processes into three key aspects:
- Tariff setup & configurations
- Data exchange
- Financial clearing - meaning how are funds transferred from buyer to seller in any given transaction, as well as the invoicing or crediting involved.
Prior to dive into each transaction type, let us look at price transparency concept.
Resource for GreenFlux staff only: As a complement to this article, there is another article, which focus on a deeper technical layer for the aspects mentioned in this article.
Price Transparency
It is important to introduce the concept of price transparency, given its importance. Let us introduce it on the scope of a simplified EV Driver journey.
There are 2 key stages in EV Driver journey in what concerns price transparency:
- DECISION stage: This is the moment the driver checks the unit price of a certain charger
- PAYMENT stage: This is the moment a driver pays for the charging session.
To ensure full price transparency and considering the example above, DECISION and PAYMENT stages must be consistent in what concerns the unit prices considered. As an example: when driver check the unit price (Decision stage) and it states 0.4 EUR/kWh, then at the end of the session, driver should be asked to pay an amount that is coherent with this unit price (e.g. 4 EUR, for a session’s energy consumption of 10 kWh)
Concepts and terminology:
- Unit Price: e.g. 0.40 EUR/kWh; 0.10 EUR/kWh + 0.01 EUR/min
- (Total) Cost: this corresponds to the total amount for a given session.
Ad-hoc Charging
Description:

In an Ad-hoc transactions, the EV driver charges without registration or a prior subscription. Payment is made directly at the charging station, typically in one of two ways:
- Payment Terminal based
The CPO provides a payment terminal at the charging station (e.g., kiosk mode serving several chargers). The driver pays directly at the terminal using a card or contactless method.
- QR code based
The CPO displays a QR code on the charging station. Scanning the code directs the driver to a web-based or app-based interface, where they can start charging by simply adding a valid payment method (e.g., credit card), without registration.
GreenFlux supports CPOs in enabling ad-hoc charging through several options:

Market roles involved (From the charging service acquisition perspective):
- CPO: ✅ - sells charging services directly to driver
- eMSP: ❌ - not involved
- Driver: ✅ - initiates and pays for session
- Roaming Provider (GreenFlux): ❌ - not involved
- Other (specify): ✅ A Payment Service Provider (PSP) is typically required to handle ad-hoc payment flows.
Tariff setup and configurations
In GreenFlux, tariff configuration for ad-hoc charging is always defined through both a wholesale billing and a retail billing configuration.
This does not mean that a wholesale and retail relationship actually exists in the market for ad-hoc charging (since no eMSP is involved). Instead, it is a technical requirement of the platform, which always models both a CPO and an eMSP entity for consistency across all transaction types.
Price configuration for Ad-hoc charging:
There are two ways to configure ad-hoc pricing:
- Coupled to the wholesale price: e.g., set a Wholesale Factor (WSF) = 0.9. The system multiplies the wholesale cost by 0.9 to calculate the ad-hoc (retail) price. Any update to wholesale costs automatically updates retail pricing. This way, the ad-hoc price calculation will always be made in such a way that the system will pick the wholesale cost and multiply it by 0.9, thus giving a 10% discounted rate vs the roaming price.
- Independent from the wholesale price: In this case, the WSF =0 and the price rate must be explicitly defined in the retail billing engine by specifying certain conditions where it should happen (e.g. for a certain CPO, or within a country ad-hoc price X for AC and ad-hoc price Y for DC charging)
Check the Retail Billing Engine and Retail tariff configuration page to see in detail how to configure retail packages and retail billing rules.
When in doubt, consult your CSM to ensure the best setup for your case.
Data Exchange
Charging session details are recorded in a Charge Detail Record (CDR).
- CDRs can be retrieved through the EV Portal or via API integration (Platform API).
- CDRs include usage and cost data needed for billing, reporting, and financial clearing.
See also: Charge Detail Record (CDR) for more details on fields and cost reporting and particularly How do I read costs of a session in a CDR?
Financial Clearing
GreenFlux’s role in financial clearing depends on the setup at hand. 2 scenarios apply for the ad-hoc transactions:
- No role in clearing (CPO-managed):
- Example: A2 (CPO’s own app via Charge Assist API)
- GreenFlux only calculates costs via its billing engine and provides CDR data.
- The CPO handles financial clearing directly with their payment provider.
- Technical enabler in financial clearing (managed via PSP):
- Examples: A1 (Charge Assist app), A3 (payment terminals)
- GreenFlux calculates the costs and triggers the associated payment via the configured Payment Service Provider (PSP) (e.g., Stripe for Charge Assist).
- The driver pays through PSP → funds are transferred from the driver’s payment method to the CPO’s PSP account.
Example - Charge Assist App Flow
- Driver makes ad-hoc payment in Charge Assist app.
- Payment Service Provider (PSP - Stripe) processes the payment.
- CPO receives funds directly in their PSP account.
- GreenFlux ensures billing consistency and triggers the payment request.

CPO Subscription
Description:
In a CPO Subscription transaction, the driver pays the CPO directly under a subscription or preferential tariff. The CPO owns and operates the charging infrastructure and provides charging services without intermediaries.
Market roles involved (From the charging service acquisition perspective):
- CPO: ✅ - sells charging services directly to driver
- eMSP: ❌ - not involved
- Driver: ✅ - initiates and pays for session
- Roaming Provider (GreenFlux): ❌ - not involved
- Other (specify): ❌ - not involved
Tariff setup and configurations
In this model, tariffs charged to drivers are configured in the retail billing engine.
- The CPO defines the subscription package or pricing logic (e.g., discounted kWh rate).
- Wholesale billing is always modeled in the platform for consistency, but in CPO subscription it is purely a technical construct. Only the retail tariff is relevant in the commercial relationship with the driver.

Check the Retail Billing Engine and Retail tariff configuration page to see in detail how to configure retail packages and retail billing rules.
Data Exchange
Charging session details are recorded in a Charge Detail Record (CDR).
- CDRs can be retrieved through the EV Portal or via API integration (Platform API).
- CDRs include usage and cost data needed for billing, reporting, and financial clearing.
See also: Charge Detail Record (CDR) for more details on fields and cost reporting and particularly How do I read costs of a session in a CDR?
Financial Clearing
GreenFlux does not handle financial clearing for CPO subscriptions. Its role is limited to cost calculation and recording in the CDRs. Actual payments flow needs to be handled by the CPO.
Roaming
Description

In a Roaming transaction, the CPO provides charging services to an eMSP, which then resells them to the EV driver. This introduces two sub-transactions:
- Wholesale transaction: CPO → eMSP. In GreenFlux managed roaming, this is actually split in 2 transactions, as depicted in picture above. (GreenFlux staff only: More details at link)
- Retail transaction: eMSP → Driver
Market roles involved (From the charging service acquisition perspective):
- CPO: ✅ - sells charging to the eMSP
- eMSP: ✅ - buys energy services from the CPO or roaming provider and sells it to EV Drivers
- Driver: ✅ - initiates and pays for session to the eMSP
- Roaming Provider (GreenFlux): (✅) - yes, if managed roaming service subscribed
- Other (specify): ❌ - not involved
Tariff setup and configurations
Because roaming involves both wholesale and retail layers, tariffs must be defined separately for CPOs and eMSPs.
1. CPO → eMSP (Wholesale)
- Tariffs are configured in the wholesale billing engine.
- The CPO sets the price per kWh or session that the eMSP must pay.
- Output: the wholesale tariff invoiced to the eMSP or to GreenFlux, acting as roaming provider.
2. eMSP → Driver (Retail)
- Tariffs are configured in the retail billing engine.
- The eMSP defines the retail pricing strategy (e.g., cost-plus margin, flat fee, subscription-based rates).
- The retail tariff can be coupled or independent to/from the wholesale tariff.
- Output: the retail price charged to the driver.
Further details check:
Data Exchange
Charging session details are recorded in a Charge Detail Record (CDR).
- CDRs can be retrieved through the EV Portal or via API integration (Platform API).
- CDRs include usage and cost data needed for billing, reporting, and financial clearing.
See also: Charge Detail Record (CDR) for more details on fields and cost reporting and particularly How do I read costs of a session in a CDR?
Financial Clearing
Financial clearing in roaming must be understood across the two sub-transactions:
1. Driver → eMSP (Retail)
- The driver pays the eMSP directly.
- GreenFlux role: none in financial clearing - GreenFlux only calculates retail costs and records them in the CDRs.
- Settlement happens between the eMSP and the driver (e.g. invoicing at month-end).
2. eMSP → CPO (Wholesale)
Two settlement models exist:
a) Self-managed roaming:
- The CPO invoices the eMSP directly.
- GreenFlux role: limited to data facilitation (providing CDR costs, exchanging CDRs with roaming partners).
b) GreenFlux-managed roaming (A–B–C model):
- GreenFlux acts as an intermediary:
- A → B: GreenFlux pays the CPO for wholesale purchasing costs - this is the price the CPO sets to their infrastructure.
- B → C: GreenFlux invoices the eMSP the wholesale selling costs.
- GreenFlux role: full wholesale settlement handling, issuing self-billing invoices or credit notes to the CPO and invoicing the eMSPs.
With GreenFlux-managed roaming, the CPO always receives their wholesale revenue - removing financial risk.
Summary
- Tariff Setup:
- CPO → wholesale billing engine
- eMSP → retail billing engine
- Data Exchange: CDRs include both wholesale and retail costs.
- Financial Clearing:
- Retail (Driver → eMSP): outside GreenFlux.
- Wholesale (eMSP → CPO): either self-managed (direct between CPO and eMSP) or GreenFlux-managed (A–B–C model), handled by GreenFlux.
Reimbursement
Description: In a Reimbursement transaction, the CPO manages chargers but does not own the underlying energy contract. As a result, the CPO must reimburse the energy contract holder (e.g., site owner, landlord, or fleet manager) for the electricity consumed.

Market roles involved
(From the charging service acquisition perspective):
- CPO: ✅ - sells charging services directly to driver
- eMSP: ❓ - may be, depending on the reimbursement use case
- Driver: ❓ - may be, depending on the reimbursement use case
- Roaming Provider (GreenFlux): ❌ - not involved
- Other (specify): ✅ - may be the home owner (driver) or site owner, depending on use case
Tariff setup and configurations
Reimbursement costs are defined in the reimbursement billing engine.
- Like with retail billing, reimbursement tariffs can be linked to wholesale costs for easier maintenance. If the wholesale price changes, the reimbursement tariff is updated automatically.
- Alternatively, reimbursement costs can be decoupled from wholesale pricing and defined explicitly in the reimbursement billing engine.
Billing logic:
- Wholesale billing engine → defines the base wholesale cost.
- Reimbursement billing engine → applies reimbursement logic (rules, factors, or explicit prices).
Check the Reimbursement Billing Engine and reimbursement tariff configuration page to see in detail how to configure reimbursement tariffs and reimbursement billing rules.
Data Exchange
Charging session details are recorded in a Charge Detail Record (CDR).
- CDRs can be retrieved through the EV Portal or via API integration (Platform API).
- CDRs include usage and cost data needed for billing, reporting, and financial clearing.
See also: Charge Detail Record (CDR) for more details on fields and cost reporting and particularly How do I read costs of a session in a CDR?
Financial Clearing
For reimbursement transactions, GreenFlux does not participate in financial clearing.
- The platform’s role is limited to calculating reimbursement costs and recording them in the CDRs.
- The actual reimbursement payments are handled outside GreenFlux, between the CPO and the site owner (energy contract holder).
