Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Charge Point Operators (CPO)

This chapter describes TandemDrive services where you act as a CPO.

Charge points and locations

An EVSE (Electric Vehicle Supply Equipment) is an independently operated and managed component of a charging station that can provide energy to one electric vehicle (EV) at a time. Sometimes, EVSEs are informally referred to as “charge points”, but this term can also be used more broadly to refer to entire charging stations.

Each EVSE has a defined location, specifying the geographical place where it is installed. A single location can contain multiple EVSEs.

The “EVSE UID” uniquely identifies an EVSE within the CPO’s platform. Do not confuse this with the “EVSE ID”. The “EVSE ID” can be reassigned between different EVSEs. EVSE IDs typically look like this: FR*EDF*E2542AX8769, with the * separator being optional.

An EVSE can have one or more connectors, which are the sockets or plugs used to connect and charge an electric vehicle.

For more information, see our guide on E-Mobility identifiers.

Safe EVSE configuration

Adding and configuring an EVSE in TandemDrive during active charge sessions can lead to unexpected behavior. To mitigate this risk, enable the dropout_all_chargesessions property for the EVSE. This action will gracefully move incoming charge sessions associated with that EVSE into a dropout case.

After the EVSE setup is fully complete, use the PUT /main/v1/cpo-evse/{evse_uid}/dropout-all-chargesessions endpoint to disable dropout_all_chargesessions. Use the reprocess_dropouts attribute to ensure that all previously dropped charge sessions are automatically retried.

Charge sessions

TandemDrive processes incoming charge sessions using the following steps:

  • Basic checks

    If a charge session lacks critical information or is malformed, TandemDrive will reject it. When rejected via our API, the response will indicate the specific issue.

    If a charge session is received via other methods (such as OCPI) and is invalid, it will be stored as an “invalid charge session”. The same charge session can later be resubmitted with corrected data, and any matching “invalid charge session” will be marked as resolved.

  • Match location, EVSE and connector

    Before further processing can occur, TandemDrive must match the EVSE mentioned in the charge session to one in its repository. If a matching EVSE is not found, applicable reimbursement arrangements or roaming agreements cannot be determined.

    This step will be retried multiple times. If unsuccessful after repeated attempts, the charge session will be marked as a drop-out, with a drop-out reason such as “Location not found,” “EVSE not found,” or “Connector not found”.

  • Validity checks

    Several checks are performed to verify the validity of the charge session, such as:

    • Is the session start time earlier than the end time?
    • Is the amount of energy consumed reasonable?
    • Is the session end time in the past?
    • Is the charge session too old?

    If any of these checks fail, the charge session is added to a drop-out case. Many thresholds for these checks can be configured.

  • Reimbursements

    All reimbursement arrangements valid at the start of the charge session will be applied. Reimbursement amounts are calculated, and the appropriate VAT is determined. If this process fails, the charge session is added to a drop-out case.

    Reimbursements can be calculated in two ways, using a setting on the reimbursement plan:

    • Using the CPMS provided reimbursement.

    • Using TandemDrive to calculate the reimbursement.

      This setup involves the following concepts:

      Cost Components: The specific cost components available for calculations, as defined by the reimbursement plan.

      Calculation input: The actual prices associated with each cost component. Calculation inputs can be set in either the reimbursement plan or the individual reimbursement arrangements. The inputs for the arrangement take precedence over the inputs for the plan for the same cost component.

      For more complex setups scripts and custom components can be used. Contact TandemDrive support for assistance with script development.

    Each customer in TandemDrive has a ‘Reimbursement VAT’ property to determine VAT applicability for reimbursements. This property may also affect the VAT applicability on the MSP side to ensure VAT exempt is applied to both “sides” of a charge session.

  • Roaming

    TandemDrive calculates the roaming costs that you, as the CPO, charge to the MSP. To activate roaming calculations and billing, this functionality must first be enabled in your TandemDrive instance.

    Any roaming agreements valid at the start of the charge session are identified. Roaming costs are then calculated, and the appropriate VAT is determined. If this process fails, the charge session is added to a drop-out case.

    Roaming partners generally receive one invoice per billing period, and, if there are items involving different VAT jurisdictions, separate invoices for each VAT country.

Subscriptions

A CPO subscription can be used to charge recurring fees for services such as charge point hosting and maintenance.

A CPO subscription plan includes a name that clearly reflects how the plan is marketed to customers. Subscriptions are managed separately from reimbursement arrangements.

A subscription plan can include recurring costs, which may be billed either per subscription or per linked, valid EVSE.

The publishing period of a subscription plan indicates when new subscriptions can be initiated. However, TandemDrive does not enforce this restriction when creating new subscriptions.