Understanding Scope 3 Category 4
Upstream transportation and distribution covers emissions from transporting and distributing products purchased by your organization—in vehicles and facilities not owned or controlled by you. According to the GHG Protocol Scope 3 Standard, Category 4 includes:- Inbound logistics: Transportation of purchased goods from Tier 1 suppliers to your facilities
- Third-party distribution: Distribution services purchased for inbound goods
- Transportation between facilities: Movement between your locations (if using third-party logistics)
Category 4 vs Category 9
- Category 4 (Upstream): Transportation of products you purchase from suppliers to your facilities
- Category 9 (Downstream): Transportation of products you sell from your facilities to customers
Important ClarificationsOutbound logistics you pay for = Category 4 (not Category 9)If your company purchases outbound logistics services (e.g., you hire a carrier to deliver products to your customers), those emissions belong in Category 4—not Category 9. This is because Category 4 includes all transportation services you purchase, regardless of direction. Category 9 only applies when the customer arranges and pays for transportation.Upstream of Tier 1 = Category 1 (not Category 4)Transportation between your Tier 2 and Tier 1 suppliers (i.e., upstream of your direct suppliers) is not included in Category 4. Those emissions are already embedded in Category 1 (Purchased Goods and Services) as part of the cradle-to-gate footprint of the products you purchase.
Prerequisites
Before starting, ensure you have:- Dcycle API credentials (get them here)
- Completed Step 1: Company Structure
- Shipment data: origin, destination, weight/volume, transport mode
- Basic knowledge of Python or JavaScript
Data Map: Category 4 Requirements Overview
Unknown Transport TypeIf the transport type (vehicle) is unknown, you can set
transport_type: "unknown" and Dcycle will estimate the most likely transport mode based on the origin and destination data.When using transport_type: "unknown":- Origin and destination are mandatory - Dcycle needs location data to estimate the appropriate transport mode
- The system analyzes the route characteristics (distance, countries involved) to determine if it’s likely road, rail, maritime, or air transport
Distance (kms) FieldThe
kms field allows you to provide the exact distance if known. This is useful when:- You have precise distance data from your logistics provider
- The route is non-standard (e.g., specific highway routes)
- Geocoding might not accurately represent the actual route
- If
kmsis provided: Origin and destination are optional (distance is already known) - If
kmsis not provided: Origin and destination are mandatory (Dcycle calculates distance via geocoding)
Calculation Methods
Method 1: Distance-Based (Recommended)
The most accurate method uses the Dcycle Transport and Distribution API:Transport Types
Transport Types
Dcycle supports four transport types:
For road transport, you can further specify the
| Transport Type | Description | Use Case |
|---|---|---|
air | Air freight | Express international, high-value goods |
road | Road transport | Regional/national freight |
rail | Rail freight | Bulk goods, continental routes |
maritime | Sea freight | International shipping, containers |
travel_method:truck- Heavy goods vehicles (default for freight)car- Light vehiclesbicycle- Zero emission (non-electric)electric_kick_scooter- Last-mile deliverymotorbike- Small deliveries
Additional Modifiers
Additional Modifiers
Emission factors are adjusted based on:Electric vehicles:
- Set
electric: truefor electric vehicles - Significantly lower emissions for road and rail
- Set
refrigerated: truefor cold chain logistics - Adds ~10-20% to emissions due to cooling energy
- Automatically determined by distance
- Short-haul vs long-haul aircraft have different factors
Emission Factor Sources
Emission Factor Sources
For transport and distribution, Dcycle uses emission factors from:Ecoinvent:
- Comprehensive lifecycle emission factors by transport mode
- Covers road, rail, air, and maritime transport
- Accounts for vehicle type, fuel, and regional variations
- Updated regularly with latest LCA data
- Road/Rail/Air: Google Maps API for accurate routing
- Maritime: CERDI distance databases
Step 1: Calculate Shipment Emissions
📋 Data Map: Single Shipment
📋 Data Map: Single Shipment
Transport Route fields:
Transport Section fields:
⚠️ Conditional requirements:
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
quantity_transported | number | ✅ | Cargo weight | 5000 |
unit_id | UUID | ✅ | Unit (kg or metric_tonne) | "kg-unit-uuid" |
start_date | date | ✅ | Start of transport period | "2024-01-15" |
end_date | date | ✅ | End of transport period | "2024-01-20" |
transport_direction | string | ✅ | Direction | "upstream" |
supplier | string | ❌ | Supplier name | "Supplier A" |
refrigerated | boolean | ❌ | Cold chain transport | false |
| Field | Type | Required | Description | Example |
|---|---|---|---|---|
origin | string | ⚠️ | Supplier location (city, country) | "Shanghai, China" |
destination | string | ⚠️ | Your facility location | "Rotterdam, Netherlands" |
transport_type | string | ✅ | Mode of transport | "maritime" or "unknown" |
kms | number | ⚠️ | Distance in kilometers | 19500 |
travel_method | string | ❌ | Vehicle type (for road) | "truck" |
electric | boolean | ❌ | Electric vehicle | false |
- If
kmsis provided →originanddestinationare optional - If
kmsis NOT provided →originanddestinationare required - If
transport_typeis"unknown"→originanddestinationare required
- Origin/Destination: Supplier address from purchase orders or invoices
- Weight: Bill of lading, packing list, or purchase order
- Transport type: Carrier information (air, road, rail, maritime) or “unknown”
- Kms: Distance from logistics provider or transport invoice
Multi-Modal Shipments
For shipments using multiple transport modes (e.g., sea + road), create multiple transport sections for a single route:Step 2: Bulk Upload Inbound Shipments
For high-volume operations, upload shipments via CSV:CSV Format
CSV Notes:
kmscolumn: Leave empty to auto-calculate distance from origin/destinationtransport_type: Useunknownif vehicle type is not known (origin/destination required)travel_method: Only needed forroadtransport type (truck, car, etc.)

