GreenFlux uses the currency configured in tariffs and billing rules to determine the currency of calculated costs in a Charge Detail Record (CDR).
The applicable currency can depend on:
- whether the cost is wholesale, retail or reimbursement;
- whether a tariff is selected in the billing rule;
- the Wholesale Factor configured for a retail billing rule;
- whether the wholesale cost was calculated by GreenFlux or received from a roaming partner.
GreenFlux does not convert amounts between currencies. When costs must be invoiced in a different currency, the conversion must be performed outside the GreenFlux platform.
How currency works in GreenFlux
A price, such as 13.42 EUR, has two components:
- an amount: 13.42; and
- a currency: EUR.
Because operators may operate across several countries and currencies, it is important to understand how GreenFlux determines the currency associated with wholesale, retail and reimbursement costs. The applicable currency depends on the cost type, the tariff and billing-rule configuration, and whether the cost was calculated by GreenFlux or received from a roaming partner.

As per the value chain, it gets natural that:
- CPO defines a certain cost, so that it covers their costs and they get a certain margin
- eMSP will buy from the CPO and should as such directly or indirectly link the costs they charge to the driver, with the costs they will be charged by the CPO.
When GreenFlux calculates a wholesale cost using a configured wholesale tariff, it uses the currency configured for that tariff. When the wholesale cost is received from an external roaming partner, the wholesale currency may be supplied in the incoming CDR. GreenFlux does not convert either amount into another currency.
Consider the following hypothetical example:
- A CPO configures a wholesale price of 5 NOK/kWh. For a 10 kWh session, the resulting wholesale cost is 50 NOK.
- The applicable retail billing rule uses a Wholesale Factor of 1.10. The calculated retail cost is therefore 55 NOK.
Because the retail price follows the wholesale price in this example, the retail and wholesale costs use the same currency.
GreenFlux does not support currency conversion in any way in the platform.
Then, when eMSP defines its retail pricing, they can either:
- A) define the retail price dependent on the wholesale price, and as such the currency from retail will be the same as from wholesale.
- B) define the retail price independent from wholesale price, and in this case, they must define explicitly and amount and an associated currency.

Currency for retail pricing
For retail billing rules, the applicable currency depends on the Wholesale Factor (WSF) and whether a specific tariff is selected.
Retail billing-rule configuration | Currency behaviour |
WSF = 0 and a tariff is selected | The retail currency is inherited from the selected tariff. |
WSF = 0 and Tariff = Any | A currency must be selected explicitly in the retail billing rule. |
WSF > 0 and a tariff is selected | The retail currency is inherited from the selected tariff. |
WSF > 0 and Tariff = Any | The currency is determined for each transaction from the wholesale currency. |
A Wholesale Factor of 0 means the retail price is defined independently of the wholesale cost.
If a tariff is selected, its currency is used.
If no specific tariff is selected, the user must select a currency in the retail billing rule.
A Wholesale Factor greater than 0 means the retail cost is calculated using the wholesale cost.
If a tariff is selected, the selected tariff’s currency is used.
If no specific tariff is selected, the retail currency follows the wholesale currency of the individual transaction.
When the retail currency follows the wholesale currency, transactions may have different currencies. GreenFlux does not convert those amounts into a single currency.
If an eMSP must always invoice drivers in one currency, the eMSP must perform the necessary currency conversion outside the GreenFlux platform.

Option 1 and 2*: Currency inherited from the selected tariff
*Illustrating example with wholesale factor > 0 (option #2).
The currency configured for the selected tariff is shown automatically in EV Portal and cannot be changed in the retail billing rule.
In this example, tariff code E1 has EUR configured as its currency. EV Portal therefore automatically displays EUR in the currency field.
Example use case: An eMSP manager wants to define a discounted price for the eMSP’s own drivers when they charge at infrastructure the eMSP owns and operates using tariff code E1.

Option 3: Currency must be defined by the user
When WSF is 0 and Tariff is set to Any, the retail price is independent of the wholesale price. The user must therefore select the currency that will be associated with the calculated retail cost.
Example use case: An eMSP manager wants to configure a standard AC retail price in EUR without limiting the billing rule to a specific tariff code.
Example use case: eMSP manager wants to define a standard AC price in Germany, and they will want that price to be in EUR.

Option 4: Currency determined per transaction from the wholesale currency
When WSF is greater than 0 and Tariff is set to Any, the retail currency follows the wholesale currency of each transaction. For example, with a Wholesale Factor of 1.10, the retail amount is 110% of the wholesale amount and uses the same currency. The user cannot manually override the currency in the retail billing rule.
Example use case: The eMSP does not want to bear any financial risk, and as such add 10% margin on top of wholesale costs.
If eMSP wants to invoice their driver always in the same currency, they must make sure to handle the currency conversion on their end, since hypothetically and under this option 4, their drivers could charge in Norway, Germany and UK, and as such would receive retail currency in NOK, EUR and GBP, respectively.

Currency for wholesale pricing
When GreenFlux calculates a wholesale cost using a configured wholesale tariff, the currency configured for that tariff is used for the calculated CDR cost.
When creating or reviewing a wholesale tariff, always confirm that:
- the tariff has the intended currency;
- the tariff is connected to the correct billing rule;
- the rule applies to the intended CPO, CPO contract or CPO network;
- newly generated CDRs contain the expected wholesale currency.
A currency shown in the tariff configuration represents the currency of the price, it does not activate currency conversion.
Currency for reimbursement pricing
For applicable internal-charger reimbursement flows, the reimbursement currency follows the wholesale currency. Reimbursement logic does not apply to every charging or roaming flow. Before troubleshooting a reimbursement currency, confirm that a reimbursement tariff and reimbursement cost are applicable to the session.
Costs received from roaming partners
For sessions received from an external roaming partner, the wholesale cost and currency may be supplied by that partner in the incoming CDR. GreenFlux does not automatically convert the received wholesale cost into the currency used for retail invoicing. If the retail billing rule follows the wholesale currency, the currency supplied for the wholesale cost can also determine the retail currency. The following example shows how a currency is configured during the tariff-creation process:

Currency conversion is not supported
GreenFlux does not apply exchange rates or convert monetary values between currencies.
For example, if GreenFlux receives a wholesale cost of 10 GBP, the platform does not automatically convert that amount into EUR before calculating or reporting the cost.
If a customer requires:
- all driver invoices in one currency;
- financial reporting in a base currency;
- settlement in a currency different from the CDR currency; or
- exchange-rate calculations,
the conversion must be handled in the customer’s invoicing, ERP or financial system.
Example 1: Fixed retail price
A retail billing rule has:
- WSF: 0
- Tariff: Retail NL
- Tariff currency: EUR
The retail cost is calculated in EUR using the price configured in the selected tariff.
Example 2: Retail rule without a selected tariff
A retail billing rule has:
- WSF: 0
- Tariff: Any
The user must explicitly select a currency in the billing rule. The platform cannot determine the retail currency from a selected tariff because no specific tariff has been selected.
Example 3: Retail price follows wholesale
A retail billing rule has:
- WSF: 1.10
- Tariff: Any
The retail cost is calculated as the wholesale cost plus 10%. Its currency is determined from the wholesale currency of the individual transaction.
If one transaction has a wholesale cost in EUR and another has a wholesale cost in GBP, their corresponding retail costs can also use different currencies.
Example 4: Wholesale tariff
- A wholesale tariff has a price of 0.40 EUR/kWh.
When that tariff is used to calculate the wholesale cost, the calculated wholesale cost is expressed in EUR. GreenFlux does not convert it to another currency automatically.
Troubleshooting currency discrepancies
If a CDR contains an unexpected currency:
- Identify which cost is affected:
- wholesale;
- retail; or
- reimbursement.
- Open the applicable tariff or billing rule.
- Check whether a specific tariff or Any is selected.
- For retail costs, check the Wholesale Factor.
- Confirm the currency configured in the applicable tariff or billing rule.
- Determine whether the wholesale cost was calculated by GreenFlux or received from a roaming partner.
- Check whether the billing rule was valid at the start of the charging session.
- Test with a newly generated CDR after correcting the configuration.
When contacting GreenFlux Support, provide:
- tenant name and code;
- affected CDR ID;
- session ID;
- CPO and eMSP;
- expected and actual currency;
- relevant tariff code;
- relevant billing-rule details;
- whether the session used an internal or external CPO network;
- screenshots of the applicable configuration.
