Google Sign-In Required

Use your company Google account to access the BetterFleet private content.

Back to private home

BetterFleet Support Private
Skip to content
BetterFleet Dev Wiki
Charging, Roaming, and Commercial Model
Initializing search
    bf-dev
    • Home
    • Process
    • Products
    • Reference
    • Decisions
    • Work
    • Operations
    bf-dev
    • Home
      • Process Handbook
      • BetterFleet Workflow Map
      • Product Development System
      • Product Engineering Workflow
        • Process Workflows
        • Work Intake and Weekly Planning
        • Product Engineering Workflow in Linear
        • Product Engineering Delivery
        • Agent Guidance
        • Workflow
        • Skills
        • Skill Sources
        • Process Guides
        • GitLab Feature Flags
        • In-App Docs Authoring
        • Release Notes
        • Process Templates
        • Release Plan: <title>
      • Process Publishing
      • Product overview
        • General Reference
          • Core Domain Training
          • System Topology
          • Two-Axis Ontology Model
          • Ontology Primer
          • Worked Example
          • Evidence, Ownership, and Lineage
          • Energy Management
          • Standards and Protocol Map
          • Charging, Roaming, and Commercial Model
            • Physical Session
            • Operational Session
            • Commercial Session
            • Commercial Actors
            • Roaming Flow
            • Tariffs, CDRs, And Settlement
            • BetterFleet Interpretation
          • Charge Planning and Operations
          • Cross-Cutting Domains
          • Domain Coverage Matrix
        • BetterFleet Product Ontology
        • Core Operations Data Ontology
        • BetterFleet R&D Plan
        • Index
        • Architecture
        • Manage Product Capabilities
        • Manage Data and State
        • Manage Service Interaction Flows
        • Manage Reference
        • Manage Internal Application Diagrams
          • Manage Authorization And Permissions
          • bf-manage-core Auth and Authorization Model
          • Manage Authorization and Permissions
          • bf-manage-web Auth and Permission Model
          • Manage Service Catalog
          • bf-depot-sim
          • bf-digital-twin (Manage Role)
          • bf-fleet-health
          • bf-manage-connect
          • bf-manage-core
          • bf-manage-incidents
          • bf-manage-roaming
          • bf-manage-sitepwrmon
          • bf-manage-web
          • bf-schedule-creator (Manage Role)
          • bf-support-microsite
          • bf-telematics
        • Index
        • Architecture
        • Plan Reference
        • Plan Internal Application Diagrams
        • Plan Migration and Flags
        • Plan Simulation Request Lifecycle
          • Plan Service Catalog
          • bf-bnl-schedule-analysis-compute
          • bf-bnl-settings
          • bf-bnl-ui
          • bf-digital-twin (Plan Role)
          • bf-route-modelling
          • bf-schedule-creator (Plan Role)
      • Where to Ask Product Questions
      • Reference
        • Platform Reference
        • Platform Architecture
        • Script Runtime Model
        • Compose Profiles and Modes
        • Repository Map
        • Monolithic Git Transition FAQ
        • Monolithic Git Sizing
        • CI and Release Integration
        • Shared Reference
        • Shared Infrastructure Architecture
        • Secrets and Env Strategy
        • Vendors and Local Dependencies
        • System Reference
        • Cloud Data Dependencies
        • Ports and URLs
        • Service Matrix
          • API Docs
          • OCPI API Docs
          • OCPP API Docs
          • OSCP API Docs
          • VDV API Docs
          • Yard State API Docs
        • System Design
        • System Design: BBA Microgrid Controller Generic Packet Translation
        • System Design: Depot Simulation
        • System Design: IoT Sensor Packet
        • System Design: Microgrid Energy Orchestration
          • System Design: OCPP Profile 3 And ISO 15118 PKI
          • Architecture: BetterFleet OCPP Profile 3 and ISO 15118 PKI
          • Specification: BetterFleet OCPP Profile 3 and ISO 15118 Certificate Lifecycle Management
          • System Design: On-Prem Control
          • Challenge
          • Specification: BetterFleet On-Prem Continuity Control
          • System Design: OSCP
          • OSCP Protocol Documentation
          • Depot Sim Testing Requirements
          • System Design: OSCP Flexibility Provider Domain
      • Decisions
        • Architecture Decision Records
        • 0001 - Record architecture decisions
        • 0002 - Cognito for Authentication and Authorisation
        • 0003 - AWS Amplify for Authentication
        • 0004 - DynamoDB for default database
        • 0005 - Data Persistence
        • 0006 - Trunk-Based Development
        • 0007 - Generalised principle for automation
        • 0008 - Naming Repositories, Services, and URLs
        • 0009 - Use Timezone Aware DateTimes and UTC
        • 0010 - Use semantic release
        • 0011 - Centralized feature flag repository
        • 0012 - Use Named Exports in Storybook
        • 0013 - RESTful TITLE GraphQL
        • 0014 - Service Granularity
        • 0015 - Async/co-routine exception handling pattern
        • 0016 - Logging & log levels
        • 0017 - Instantiated Models
        • 0018 - Repository Pattern for Database Access
        • 0019 - Use of Design Tokens in TypeScript React Application
        • 0020 - API backwards compatibility and versioning
        • 0021 - Alembic Migration strategy
        • 0022 - Consistent react-hook-form usage
        • 0023 - Domain Event-Driven Architecture
        • 0024 - Domain Event Bus Tech Stack
        • 0025 - No enum types in DB table columns
        • 0026 - In-Memory Ormar Stores for Repository testing
        • 0027 - Storing Tab State in Query and Local Storage
        • 0028 - Adopt OpenTelemetry Semantic Conventions for Structured Logging
        • 0029 - Adopt RFC 9457 for HTTP Error Responses
        • 0030 - Use GitLab registry and Terraform state for ECS services
        • 0031 - Adopt DDD, Hexagonal Architecture, and CQRS for Python Domain Services
      • Work
        • Active Work
          • Work: Bba Microgrid Controller
          • Implementation Specification: BBA Microgrid Controller
          • BBA Microgrid Controller Deliverables (Stories)
          • Work: BFDev Monolithic Git
          • Challenge
          • Specification: BFDev Monolithic Git v2
          • BFDev Monolithic Git v2 Stories
          • Work: Complex Circuit Load Balancing
          • Implementation Specification: Complex Circuit Load Balancing
          • Complex Circuit Load Balancing Deliverables (Stories)
            • COR-10 and COR-11 Consolidation Review
          • Work: Dispatch Reliability and Reconciliation
          • Challenge
          • Specification: Dispatch Reliability and Reconciliation
          • Dispatch Reliability and Reconciliation (Unit User Stories)
            • Dispatch populated vehicle cards grey surface snapshot
            • Dispatch Visual Review
          • Work: Enable Scheduled Managed Charger Access
          • Challenge: Enable Scheduled Managed Charger Access
          • Specification Exploration Dossier: Enable Scheduled Managed Charger Access
          • Specification Review: Enable Scheduled Managed Charger Access
          • Specification: Enable Scheduled Managed Charger Access
          • Work: Guided Cut-Off and Release Orchestration
          • Specification: Guided Cut-Off and Release Orchestration
          • Guided Cut-Off and Release Orchestration (Unit User Stories)
          • Work: Production Deployment Validation
          • Challenge
          • Work: Scheduled Report Parity
          • Specification: Scheduled Report Parity
          • Work: Telematics
          • Telematics EventBridge Path
          • Telematics Ingress Architecture
          • Specification: Telematics Migration into bf-manage-core with 5-Minute Freshness and Health Visibility
          • Telematics Core Migration MVP (Implementation-Time BDD)
          • Work: Vector Derms
          • Implementation Specification: Vector DERMS
          • Vector DERMS Deliverables (Stories)
          • Work: Visiting Vehicle Charging Visibility
          • Specification: Visiting Vehicle Charging Visibility
          • Visiting Vehicle Charging Visibility (Unit User Stories)
          • Work: Workspace Owned Stripe Roaming
          • Specification: Workspace-Owned Stripe Credentials for Roaming Payments
        • Backlog Work
          • Work: Microgrid
          • Microgrid Backlog Stories
          • Work: Mobile Ops Companion
          • Challenge
          • Specification: Mobile Operations Companion v1
          • Mobile Operations Companion Deliverables (Stories)
          • Work: Oscp
          • OSCP Backlog Stories
        • Archived Work
          • Work: Code Canonical Orchestration
          • Challenge
          • Specification: Product Engineering Workflow
          • Product Engineering Workflow Deliverables (Unit User Stories)
          • Work: Release Notes Automation
          • Release Plan: Release Notes Automation
          • Release Notes Automation Backlog Stories
      • Operations
      • Onboarding Runbook
        • Operations Runbooks
        • Production Hotfix Release
        • Staging Hotfix Release
        • Manage Staging Release Validation
        • Terraform Plan Dry Runs
        • Operations Tooling
        • Code Indexing
        • Operations Evidence
        • Database Restoration Test Report
      • Daily Operations Runbook
      • Testing Guide
      • Troubleshooting
    • Physical Session
    • Operational Session
    • Commercial Session
    • Commercial Actors
    • Roaming Flow
    • Tariffs, CDRs, And Settlement
    • BetterFleet Interpretation
    1. Home
    2. Products
    3. General
    4. Core Domain Training
    general reference

    Charging, Roaming, and Commercial Model¶

    Charging has three linked records:

    • a physical energy-transfer episode
    • an operational session used for readiness, control, and support
    • a commercial record used for billing, settlement, and reporting

    Those records often share identifiers, timestamps, meters, charger references, and vehicle references, but they answer different questions.

    In the two-axis model:

    • problem coordinate: Roaming & Shared Charging -> Network Access & Interoperability or Roaming & Shared Charging -> Commercial Settlement & Shared Charging
    • physical coordinate: location, charger, EVSE, connector, driver or fleet user, vehicle, token, meter, session, tariff, CDR, payment rail, and time

    Physical Session¶

    A physical session begins when an EV connects to a charger and energy can flow. Its evidence includes:

    • station, EVSE, and connector identity
    • plug-in and unplug events
    • transaction or transaction-event identifiers
    • meter values and sampled measurements
    • SoC when available
    • status and fault changes
    • power limits or charging profiles applied during the session

    Operational Session¶

    The operational session explains why the physical session matters:

    • which vehicle or driver is involved
    • which work, route, block, job, or shift the energy supports
    • which readiness target applies
    • which priority or policy drove charging allocation
    • which incidents or degraded states affected the outcome
    • whether the session met the operational need before the deadline

    Commercial Session¶

    The commercial session explains access and money:

    • who was allowed to start the session
    • which token, user, contract, or roaming group authorised it
    • which tariff applied
    • what the billable meter delta was
    • which taxes, fees, and currency apply
    • which CDR is sent to which party
    • who invoices whom
    flowchart TB
      Physical["Physical session<br/>energy transfer and meter evidence"]
      Operational["Operational session<br/>readiness and control meaning"]
      Commercial["Commercial session<br/>access, tariff, CDR, settlement"]
    
      Physical --> Operational
      Physical --> Commercial
      Operational --> Commercial
    
      Physical --> P1["OCPP transaction / meter values"]
      Operational --> O1["vehicle readiness / dispatch confidence"]
      Commercial --> C1["OCPI/OICP CDR / invoice / payout"]

    Commercial Actors¶

    Actor Problem coordinate Physical coordinate What they do Typical evidence
    CPO Roaming & Shared Charging -> Network Access & Interoperability charging location, EVSE, connector, session, tariff, time owns or operates charging infrastructure and exposes charger availability, sessions, tariffs, and CDRs locations, EVSEs, connectors, tariffs, sessions, CDRs, invoices
    eMSP / EMP Roaming & Shared Charging -> Commercial Settlement & Shared Charging user, token, contract, session, invoice, time owns the driver or fleet charging contract and gives users a way to find, authorise, and pay for charging tokens, app users, contracts, invoices, receipts
    Roaming hub Roaming & Shared Charging -> Network Access & Interoperability partner, credential, EVSE data, CDR, time brokers network access and data exchange between CPOs and eMSPs partner IDs, routing, credentials, EVSE data, status, CDR flow
    Fleet operator Operations & Dispatch -> Fleet & Vehicle Management vehicle, depot, route, schedule, readiness target, time owns the work and vehicle-readiness problem schedules, vehicles, depots, readiness targets, operational reports
    Site owner Energy & Cost Management -> Site Energy & Infrastructure site, grid connection, circuit, tariff, access rule, time owns or controls the physical site and electrical constraints site capacity, circuits, tariffs, access rules
    Payment provider Roaming & Shared Charging -> Commercial Settlement & Shared Charging payment intent, invoice, receipt, session, time captures or settles payment for a charging session pre-authorisations, payment intents, captures, refunds

    The same organisation can hold more than one role. For example, a depot operator may act as a private CPO for its own fleet, a shared-charging CPO for visiting fleets, and an eMSP-like access manager for its own drivers.

    Roaming Flow¶

    sequenceDiagram
      participant User as Driver or visiting fleet user
      participant EMSP as eMSP / EMP
      participant Hub as Roaming hub (optional)
      participant CPO as CPO platform
      participant Charger as Charging station
    
      EMSP->>CPO: exchange credentials or route via hub
      CPO->>EMSP: publish locations, EVSEs, connectors, tariffs
      User->>EMSP: request charging with token or app
      EMSP->>CPO: authorize or remote start command
      CPO->>Charger: start charging through charger protocol
      Charger->>CPO: session and meter evidence
      CPO->>EMSP: session updates and CDR
      EMSP->>User: bill, receipt, or account charge

    Tariffs, CDRs, And Settlement¶

    A tariff defines how price is calculated. It may include:

    • energy price per kWh
    • time price per minute or hour
    • parking or idle fees
    • start fees
    • tax rules
    • currency
    • validity periods
    • public, private, or group-specific access rules

    A CDR records the charge detail after the session. It usually includes who charged, where they charged, when they charged, how much energy was delivered, which tariff applied, and what the cost was.

    Settlement is the business process that turns one or more CDRs into invoices, payouts, or ledger entries. The settlement actor depends on the commercial arrangement. Peer-to-peer OCPI may settle directly between CPO and eMSP. Hub-centered OICP may route through Hubject products and agreements.

    BetterFleet Interpretation¶

    In BetterFleet:

    • OCPP evidence usually enters through bf-manage-connect
    • operational charging, vehicle, depot, reporting, and tariff meaning usually lands in Manage domain services
    • roaming user journeys sit in bf-manage-roaming and related Manage configuration
    • OCPI and OICP concepts map to Roaming & Shared Charging and Commercial Settlement
    • reporting must keep physical meter evidence, operational vehicle meaning, and commercial tariff meaning traceable
    Made with Material for MkDocs
    BFDev Docs Assistant
    New conversation?
    Ask one focused question at a time, this helps the assistant provide accurate answers about what's been implemented in BetterFleet.