CSRD · SECR · GHG Protocol Scope 3 Category 6

Your business travel emissions
are probably wrong

Most companies report travel emissions using flat-rate estimates that ignore cabin class, skip hotel stays, and treat EVs as zero-carbon everywhere. CSRD and SECR require better. We calculate accurate Scope 3 Category 6 from your booking data — with a full audit trail your assessor can verify.

Transparent pricing · 500 free requests/month · No sales calls

GHG Protocol Scope 3 CSRD Ready Full Audit Trail DEFRA 2025

Three things most companies get wrong

And why their Scope 3 Category 6 numbers don't survive an audit.

Ignoring cabin class

A business class seat takes 3x the floor space of economy — so it carries 3x the emissions. First class is 4x. London to New York:

Economy 486 kg
Business 1,409 kg
First 1,944 kg

Most calculators report the economy figure regardless of cabin. That's a 3x undercount for business class flights.

Forgetting hotels

Accommodation is 10–40% of total trip emissions. A week in the Maldives produces more CO₂ from the hotel than most return flights:

Sweden (7 nights) 35.7 kg
UK (7 nights) 220.5 kg
Maldives (7 nights) 1,065 kg

The GHG Protocol includes accommodation in Scope 3 Category 6. If you're reporting flights but not hotels, you're not compliant.

No audit trail

CSRD requires disclosed emissions to be verifiable. That means your assessor needs to see which emission factor was applied, from which dataset, for which year.

"source": "DEFRA"
"dataset": "GHG Conversion Factors 2025"
"factor": "Short-Haul Flight - Business"
"year": "2025"

Every emissions.dev response includes a source_trail — factor name, source, dataset, year, and region. Hand it straight to your assessor.

Complete Scope 3 Category 6

One trip. Two API calls. Full disclosure.

A London → Dubai business trip with 4 nights accommodation. Transport and hotel combined — that's complete Scope 3 Category 6 in two requests.

Component
CO₂e
Scope
✈️ Flights (return, business)
2,818 kg
Cat. 6
🏨 Hotel (4 nights, UAE)
290 kg
Cat. 6
Total trip
3,108 kg
Disclosure-ready

The hotel adds 10% to this trip. For destinations like South Africa or Maldives, it can exceed the flight. Reporting flights without hotels is incomplete — and your assessor will flag it.

javascript Complete business trip — 2 API calls
// London → Dubai business trip: flights + hotel
const [travel, hotel] = await Promise.all([
  fetch('https://api.emissions.dev/v1/travel/emissions?' +
    new URLSearchParams({
      origin_country: 'GB',
      origin_location: 'London',
      destination_country: 'AE',
      destination_location: 'Dubai',
      transport_mode: 'flight',
      cabin_class: 'business',
      return_trip: true
    }), { headers: { Authorization: `Bearer ${key}` }}
  ),
  fetch('https://api.emissions.dev/v1/hotel/emissions?' +
    new URLSearchParams({
      country: 'AE',
      nights: 4
    }), { headers: { Authorization: `Bearer ${key}` }}
  )
]);

const t = (await travel.json()).data.attributes;
const h = (await hotel.json()).data.attributes;

// Total: 3,108 kg CO₂e
// Both report GHG Protocol Scope 3 Category 6
// Both include full source_trail for audit

From booking data to disclosure

You already have the data. We do the carbon maths.

1
Connect your travel data

Flight bookings, rail tickets, car hire, hotel stays — data your TMC, expense system, or booking tool already captures. Origin, destination, mode, cabin class.

SAP Concur TravelPerk Navan Egencia Custom
2
We calculate the emissions

DEFRA 2025 emission factors, real road routing, cabin class multipliers, location-aware EV calculations, country-specific hotel factors. All automatic.

6 transport modes 60+ hotel countries 110+ grids
3
Export disclosure-ready data

Every response arrives pre-categorised by GHG Protocol scope with a full source trail. Aggregate and export — no manual factor lookups, no spreadsheets.

Scope 3 Cat. 6 Source trail DEFRA sourced
The real numbers

A typical company's travel footprint

200 employees. 50 fly monthly, mostly short-haul business class. 20 long-haul trips per year. Here's what DEFRA 2025 says that costs in carbon.

Activity
Volume
CO₂e/year
Short-haul flights (biz)
600 trips
217 t
Long-haul flights (biz)
20 trips
56 t
Rail journeys
400 trips
3.2 t
Hotel nights
2,400 nights
62 t
Total Scope 3 Cat. 6
338 t

If this company reported economy-class factors for all flights and skipped hotels, they'd report ~140 tonnes — a 58% undercount. That's the gap between a flat estimate and actual calculation.

php Annual Scope 3 Cat. 6 disclosure
// Pull all travel bookings for the reporting year
$trips = BusinessTrip::whereYear('departure', 2025)->get();

$scope3_cat6 = 0;

foreach ($trips as $trip) {
    // Transport emissions
    $travel = Http::withToken($apiKey)
        ->get('https://api.emissions.dev/v1/travel/emissions', [
            'origin_country'      => $trip->from_country,
            'origin_location'     => $trip->from_city,
            'destination_country'  => $trip->to_country,
            'destination_location' => $trip->to_city,
            'transport_mode'       => $trip->mode,
            'cabin_class'          => $trip->cabin,
            'return_trip'          => $trip->is_return,
        ]);

    // Hotel emissions (if applicable)
    $hotel = $trip->hotel_nights
        ? Http::withToken($apiKey)
            ->get('https://api.emissions.dev/v1/hotel/emissions', [
                'country' => $trip->hotel_country,
                'nights'  => $trip->hotel_nights,
            ])
        : null;

    $scope3_cat6 += $travel->json('data.attributes.emissions.co2e');
    $scope3_cat6 += $hotel?->json('data.attributes.emissions.co2e') ?? 0;
}

// $scope3_cat6 = 338,240 kg (338.2 tonnes)
// Every response included source_trail for audit
Travel policy enforcement

Nudge employees toward rail — with data

"Take the train when possible" is a vague policy. "This route produces 91% less CO₂ by rail" is a fact. Show the comparison at booking time.

Route
✈️ Flight
🚄 Rail
London → Paris
121 kg
11 kg
London → Edinburgh
156 kg
24 kg
London → Amsterdam
133 kg
15 kg
Average saving
90% less CO₂

For 50 employees making monthly London–Paris trips, switching to rail saves 6,600 kg CO₂e per year. That's a line item in your reduction strategy.

javascript Pre-booking carbon check
// Check carbon before approving a booking
async function checkTravelPolicy(booking, policy) {
  // Get emissions for the requested mode
  const res = await fetch(
    `/v1/travel/emissions?` +
    `origin_country=${booking.from_country}` +
    `&destination_country=${booking.to_country}` +
    `&transport_mode=${booking.mode}` +
    `&cabin_class=${booking.cabin}` +
    `&return_trip=true`
  ).then(r => r.json());

  const co2e = res.data.attributes.emissions.co2e;

  // Policy: suggest rail if flight < 800km
  const dist = res.data.attributes.route.total_distance_km;
  if (booking.mode === 'flight' && dist < 800) {
    const rail = await fetch(
      /* same params, mode=rail */
    ).then(r => r.json());

    const saving = Math.round(
      (1 - rail.data.attributes.emissions.co2e / co2e) * 100
    );

    return {
      approved: false,
      message: `Rail saves ${saving}% CO₂ on this route`,
      flight_co2e: co2e,
      rail_co2e: rail.data.attributes.emissions.co2e
    };
  }

  return { approved: true, co2e };
}

Fits your existing stack

A REST API that plugs into any travel management or expense system.

Expense Platforms

Add a CO₂e column to expense reports. Calculate emissions from receipt data — origin, destination, mode, cabin class.

SAP Concur Expensify
Travel Management

Show carbon at booking time. Compare modes. Flag high-carbon bookings for approval before they're confirmed.

TravelPerk Navan
ESG Platforms

Feed accurate travel data into your carbon accounting platform. Pre-categorised by GHG Protocol scope.

Persefoni Watershed
Custom Systems

REST API with JSON responses. Works with any language, any framework. Laravel, Django, Express, .NET — whatever you run.

REST API JSON
Regulatory compliance

CSRD, SECR, and the GHG Protocol all require this

The reporting landscape has shifted. Scope 3 is no longer optional for large companies. Business travel (Category 6) is one of the most straightforward categories to calculate — if you have the right data layer.

CSRD (EU)

European Sustainability Reporting Standards require Scope 3 disclosure. Category 6 (Business Travel) must be quantified with verifiable methodology.

SECR (UK)

Streamlined Energy and Carbon Reporting requires UK companies to report energy use and carbon emissions in their annual reports.

GHG Protocol

The Corporate Value Chain (Scope 3) Standard defines Category 6 as all business travel in vehicles not owned by the reporting company.

SBTi

Science Based Targets initiative requires companies to measure and reduce Scope 3 emissions. Accurate baselines start with accurate data.

json Every response is pre-categorised
// From the Travel API response
{
  "emissions": {
    "co2e": 1409,
    "co2e_unit": "kg",
    "co2e_calculation_method": "ipcc_ar6_gwp100",
    "source_trail": [{
      "data_category": "emission_factor",
      "name": "Long-Haul Flight - Business Class",
      "source": "DEFRA",
      "source_dataset": "GHG Conversion Factors 2025",
      "year": "2025",
      "region": "GB"
    }]
  },
  "meta": {
    "standards_compliance": {
      "GHG_Protocol": "Scope 3 Category 6 (Business Travel)"
    }
  }
}

// Your assessor sees:
// ✓ Which factor was applied
// ✓ From which dataset
// ✓ Which year
// ✓ Which GHG Protocol category

Build it yourself, or don't

Here's what accurate business travel carbon reporting actually requires.

Do it yourself
Emission factors

Download DEFRA spreadsheets, parse cabin class tables, map haul categories, update annually

Distance calculation

Integrate road routing API, implement great circle for flights, handle haul band classification

Grid intensity for EVs

License Ember data, map countries to grid intensity, recalculate annually

Hotel factors

Source Cornell CHSB index, map to 60+ countries, handle regional fallbacks

Audit trail

Build factor provenance tracking, version control, methodology documentation

Estimated effort: 3–6 months engineering time + annual maintenance

Use emissions.dev
Emission factors

DEFRA 2025, cabin class multipliers, haul bands — always current, applied automatically

Distance calculation

Pass origin + destination. We handle real road routing, haversine for flights, everything

Grid intensity for EVs

110+ countries. Pass the origin country, we use the right grid. Updated annually.

Hotel factors

60+ countries with DEFRA/Cornell factors. One extra API call per trip.

Audit trail

source_trail in every response. Factor name, dataset, year, region. Done.

Estimated effort: One afternoon to integrate. We handle the rest.

Start reporting business travel emissions

Get your API key in 30 seconds. Calculate your first trip in under a minute. 500 free requests per month — enough to test with real data before committing.

No credit card · No sales calls · No procurement