Skip to main content

Understanding Fuel Consumption in GLEC

By default, GLEC calculates transport emissions using TOC-level WTW factors (default emission factors per vehicle type). For carriers operating their own fleet, recording actual fuel consumption (recharges) provides a more accurate picture of Scope 1 emissions and allows comparison between default and measured intensity values.
┌──────────────────────────────────────────────────────────────────────────────┐
│                    FUEL CONSUMPTION IN GLEC                                  │
├──────────────────────────────────────────────────────────────────────────────┤
│                                                                              │
│  Default (TOC factors)              Actual (Fuel Recharges)                 │
│  ─────────────────────              ───────────────────────                 │
│  CO2e = tkm × WTW factor           CO2e = fuel qty × fuel EF              │
│  Uses average fleet values          Uses real consumption data             │
│  Quick, requires no fuel data       More accurate, requires fuel records   │
│                                                                              │
│  Both approaches coexist:                                                   │
│  • Transport legs always use TOC WTW for per-leg CO2e                      │
│  • Fuel recharges provide actual Scope 1 data for the company report       │
│  • The GLEC report compares both to show data quality                      │
│                                                                              │
└──────────────────────────────────────────────────────────────────────────────┘
When to track fuel consumptionFuel recharges are most relevant for carriers (logistics service providers) who:
  • Operate their own fleet and have access to fuel card data
  • Need carrier-level Scope 1 accuracy (actual vs. estimated)
  • Want to calculate measured intensity values per vehicle/TOC
  • Are reporting under GLEC’s “enhanced” reporting level
Shippers typically don’t need this step — they rely on TOC default factors for Scope 3 reporting.

Prerequisites

Before starting, ensure you have:
  • Dcycle API credentials (get them here)
  • Fuel consumption records: fuel type, quantity, date, and optionally vehicle plate
  • Transport legs already uploaded (Step 1)

Understanding Fuel Types

Each fuel type in the GLEC database has three emission factors:
FactorFull NameScopeDescription
TTWTank-to-WheelScope 1Direct combustion emissions
WTTWell-to-TankScope 3Upstream fuel production emissions
WTWWell-to-WheelTotalTTW + WTT combined

Supported Fuel Types

FuelDescriptionTypical Use
Diesel / Gas oilStandard road dieselTrucks, vans
CNGCompressed natural gasUrban fleets
LNGLiquefied natural gasLong-haul trucks, maritime
LPGLiquefied petroleum gasLight commercial vehicles
HFOHeavy fuel oilMaritime vessels
MGO / MDOMarine gasoil / Marine diesel oilMaritime vessels
Jet fuel (kerosene)Aviation fuelAir cargo

Regional Emission Factors

Fuel emission factors vary by region. Dcycle stores factors per fuel per region:
RegionCodeCountries
EuropeEUEU member states, UK, Switzerland, Norway
North AmericaNAUSA, Canada, Mexico, Australia
South AmericaSABrazil, Argentina, Chile, Colombia, etc.
AsiaASChina, India, Japan, South Korea, etc.
AfricaAFAll African countries
OceaniaOCPacific island nations
GlobalGLODefault fallback

Step 3.1: Upload Fuel Recharges via CSV

Fuel consumption data is typically uploaded in bulk via CSV through the legacy upload endpoint:
ColumnTypeRequiredDescriptionExample
fuel_typestringYesFuel name (matched via fuzzy/regex)"Diesel", "GNC", "HVO"
quantitynumberYesFuel quantity consumed150.5
datedateYesDate of recharge"2025-03-15"
vehicle_license_platestringNoVehicle plate for per-vehicle tracking"1234-ABC"
countrystringNoCountry code for regional factors"ES"
Where to get this data:
  • Fuel cards: Most fleet fuel card providers export CSV with fuel type, quantity, date, and vehicle plate
  • ERP/TMS: Transport management systems often track fuel consumption per vehicle
  • Manual records: For smaller fleets, daily fuel logs

CSV Format

fuel_type,quantity,date,vehicle_license_plate,country
Diesel,150.5,2025-03-01,1234-ABC,ES
Diesel,200.0,2025-03-01,5678-XYZ,ES
GNC,80.0,2025-03-02,9012-DEF,ES
HVO,175.0,2025-03-03,1234-ABC,ES
Electricidad,45.0,2025-03-03,3456-GHI,ES

Upload Process

import requests
import os

headers = {
    "Authorization": f"Bearer {os.getenv('DCYCLE_API_KEY')}",
    "Content-Type": "application/json",
    "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
    "x-partner": os.getenv("DCYCLE_PARTNER_ID"),
}

# Step 1: Get presigned URL for recharges file
upload_body = {
    "recharges_file_name": "march_2025_fuel_recharges.csv",
}

upload_response = requests.post(
    "https://api.dcycle.io/logistics/upload",
    headers=headers,
    json=upload_body,
).json()

recharges_url = upload_response["recharges"]["upload_url"]
file_id = upload_response["recharges"]["file_id"]

# Step 2: Upload CSV to S3
with open("march_2025_fuel_recharges.csv", "rb") as f:
    requests.put(recharges_url, data=f)

print(f"Uploaded. File ID: {file_id}")

# Step 3: Check processing status
import time

while True:
    status_response = requests.get(
        "https://api.dcycle.io/logistics/status",
        headers=headers,
    ).json()
    # Check file status
    print(f"Status: {status_response}")
    time.sleep(5)
    break  # Replace with actual status check logic
Fuel name matching: Dcycle uses pattern matching to map fuel names from your CSV to standard fuel types. Common mappings include:
  • "Diesel", "Gasoleo", "Gas Oil" → Diesel
  • "GNC", "CNG" → Compressed natural gas
  • "GNL", "LNG" → Liquefied natural gas
  • "HVO" → Hydrotreated vegetable oil
  • "Electricidad", "Electricity" → Grid electricity
If a fuel name cannot be matched, it will appear as an error in the upload results.

Step 3.2: Check Upload Errors

After uploading, check for any rows that failed to process:
file_id = "your-file-id"

# Get recharge upload errors
errors = requests.get(
    f"https://api.dcycle.io/logistics/errors/recharges/{file_id}",
    headers=headers,
    params={"page": 1, "size": 50},
).json()

if errors["items"]:
    print(f"Errors found: {len(errors['items'])}")
    for error in errors["items"]:
        print(f"  Row {error['row']}: {error['error']}")
else:
    print("All records processed successfully")

Common Upload Errors

ErrorCauseFix
Unrecognized fuel typeFuel name doesn’t match any patternUse standard names (Diesel, GNC, HVO, etc.)
Invalid quantityNon-numeric or negative valueEnsure quantity is a positive number
Invalid dateDate format not recognizedUse YYYY-MM-DD format
Missing required fieldEmpty fuel_type or quantityFill in all required columns

Step 3.3: Electric Vehicles

For electric vehicles, emissions are calculated using the grid emission factor and the vehicle’s energy efficiency factor (EEF): CO2e = tkm x grid_ef (kgCO2e/kWh) x EEF (kWh/tkm) Where:
  • grid_ef: Country-specific electricity grid emission factor, updated annually
  • EEF: Energy efficiency factor specific to the TOC (how many kWh per tonne-kilometer)
Electric vehicle recharges are tracked as electricity consumption (kWh) in the recharges CSV:
fuel_type,quantity,date,vehicle_license_plate,country
Electricity,45.0,2025-03-03,3456-EV,ES
Electricity,52.0,2025-03-04,3456-EV,ES
Hub superchargers: If your hub has a supercharger: true, on-site EV charging energy is captured through the hub’s linked Facility invoices (Scope 2). This avoids double-counting with recharges.

How Fuel Data Appears in the GLEC Report

In the GLEC Company Report, fuel consumption data enriches the Scope 1 breakdown:
  • Scope 1 (TTW): Actual fuel combustion emissions from recharges (direct emissions from your fleet)
  • Scope 3 (WTT): Upstream fuel production emissions calculated from recharge quantities
  • Intensity Values: Measured IV per TOC (actual kgCO2e/tkm) compared to default TOC WTW factors
  • Emission factors used: The report lists all fuel types and their WTT/TTW/WTW factors applied
GLEC Company Report — Emission Factors Used
─────────────────────────────────────────────
Fuel: Diesel (EU)
  WTT: 0.610 kgCO2e/liter
  TTW: 2.680 kgCO2e/liter
  WTW: 3.290 kgCO2e/liter

Fuel: HVO (EU)
  WTT: 0.340 kgCO2e/liter
  TTW: 0.000 kgCO2e/liter (biogenic)
  WTW: 0.340 kgCO2e/liter

Best Practices

1. Upload Monthly

Upload fuel recharges monthly to keep your GLEC report current and to detect trends early.

2. Include Vehicle Plates

Always include vehicle_license_plate when available. This enables:
  • Per-vehicle emission tracking
  • Matching recharges to specific TOCs
  • Identifying the most and least efficient vehicles in your fleet

3. Match Countries Accurately

Ensure the country in your recharges CSV matches the country where fuel was purchased — this determines which regional emission factors are applied.

4. Reconcile with Transport Legs

Compare total fuel consumed (from recharges) against expected consumption (from transport leg tkm x TOC factors) to identify data quality issues.

Next Steps