> For the complete documentation index, see [llms.txt](https://docs.enapi.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.enapi.com/pricing-and-tariffs/enapi-managed-tariff-adjustments.md).

# ENAPI Managed Tariff Adjustments

When your CPMS can’t produce partner-specific tariffs or re-rate sessions per eMSP, ENAPI can apply the adjustment on your behalf — either as a discount or a surcharge. Discounts are the most common case; surcharges use the same mechanism in reverse.

You publish a single standard tariff. ENAPI creates the override, re-rates sessions and CDRs for the target eMSP, and delivers the adjusted version via OCPI — while your internal data stays unchanged. The implementation is OCPI-compliant and works with 2.1.1 (using backported routing headers), 2.2.1, and 2.3.0.

{% hint style="info" %}
**Not in self-service yet.** Tariff adjustments are configured by the ENAPI team based on a signed Change Request. See the section below or [reach out to us](mailto:help@enapi.com) to set it up.
{% endhint %}

ENAPI supports three increasingly granular adjustment layers:

{% stepper %}
{% step %}

### Roaming agreement adjustments

Percentage-based adjustment on tariff components (typically energy) for a specific eMSP — applies to all of that eMSP’s tokens.

* **Example:** 10% discount on €0.50/kWh → €0.45/kWh for eMSP\_X.
* Fully managed by ENAPI. Same tariff IDs and location/connector mappings.
* No technical changes on the CPO or eMSP side.
  {% endstep %}

{% step %}

### Sub-operator and fleet adjustments

Adjustments for specific sub-operators within an eMSP, identified via party ID / country code combinations and/or token contract IDs.

* **Example:** 15% discount for fleet Y of eMSP\_EXA (DE\*EXA tokens).
* ENAPI manages the tariff overrides and re-rating using OCPI routing headers and party-ID-based tariff exposure.
* **eMSP-side requirement:** the eMSP must be able to associate tariffs to sub-parties and, if pulling tariffs, include routing headers for the sub-operator.
  {% endstep %}

{% step %}

### Token-level adjustments (concept phase)

Granular pricing for specific token groups or individual drivers.

* **Example:** Special rates for a list of 500 fleet vehicles.
* ENAPI handles pricing logic and re-rating. No changes required on the CPO side.
* **eMSP-side requirement:** the eMSP periodically provides token lists to ENAPI.
* UI support planned in the ENAPI Portal.
  {% endstep %}
  {% endstepper %}

### How to request an adjustment&#x20;

Adjustments are set up via a **Change Request for ENAPI Managed Partner Tariffs** — a form specifying the receiving eMSP, the affected Party IDs and tariff dimensions, the adjustment percentage, and the effective date.

1. Request the Change Request form via <help@enapi.com>.
2. Complete and sign it. The approver must be registered on the ENAPI platform as an authorized signatory for roaming agreements of your organization.
3. Return the signed form to <help@enapi.com>. ENAPI validates the request, applies the configuration, and confirms the applied adjustment back to you in writing.

Adjustments take effect for all charging sessions starting on or after the effective date. Each Change Request covers one receiving eMSP; submit a separate form per partner. The Change Request forms part of your Platform Agreement under Section 1.3 of the ENAPI GTC.

To amend or revoke an adjustment, submit an updated Change Request. The instruction remains in effect until revoked in writing.

### What happens behind the scenes

* ENAPI creates override tariffs with the adjusted prices, using the same tariff IDs as the standard tariff.
* Session updates are re-rated with the adjustment applied before they reach the eMSP.
* CDRs are re-rated — the eMSP receives the adjusted amount.
* Adjusted CDRs are used either for ENAPI-managed settlement, or for CPO-managed invoicing based on ENAPI-cleared data.

**For CPO invoicing:** pull the re-rated CDRs from Clearing ([Exporting CDR Data](/cdr-clearing/exporting-cdr-data.md)) or [Invoice Data](https://app.enapi.com/invoices/previous), as tariffs provided by the CPO don’t reflect the adjustment.

### What each party sees

<table><thead><tr><th width="151.05859375"></th><th>CPO sees</th><th>eMSP sees</th></tr></thead><tbody><tr><td><strong>Tariffs</strong></td><td>Original standard tariffs</td><td>Adjusted versions, same tariff IDs</td></tr><tr><td><strong>Sessions</strong></td><td>Costs from standard tariff</td><td>Costs re-rated with adjustment</td></tr><tr><td><strong>CDRs</strong></td><td>Original costs</td><td>Re-rated costs</td></tr><tr><td><strong>ENAPI Portal</strong></td><td>Both values</td><td>Both values</td></tr></tbody></table>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.enapi.com/pricing-and-tariffs/enapi-managed-tariff-adjustments.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
