> ## Documentation Index
> Fetch the complete documentation index at: https://code.dcycle.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Category 4.2: Waste Disposal

> Track emissions from disposal and treatment of solid and liquid waste generated at your facilities under ISO 14064-1

## Understanding Waste Disposal Emissions

**Waste generated in operations** covers emissions from third-party disposal and treatment of waste generated in your organization's owned or controlled operations. Under ISO 14064-1 Category 4, this includes:

* **Landfill disposal**: Emissions from decomposition of waste in landfills
* **Incineration**: Emissions from burning waste (with or without energy recovery)
* **Recycling**: Emissions from processing waste for material recovery
* **Composting**: Emissions from biological treatment of organic waste
* **Waste transport**: Emissions from transporting waste to treatment facilities

```
┌─────────────────────────────────────────────────────────────────────────────┐
│          ISO 14064-1 CATEGORY 4.2: Waste Generated in Operations            │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  YOUR FACILITIES                              WASTE TREATMENT               │
│  ──────────────────                           ─────────────────             │
│                                                                             │
│  ┌──────────────┐                            ┌──────────────┐               │
│  │   Office     │──┐                    ┌───►│  Landfill    │               │
│  │              │  │                    │    │    (D01)     │───┐           │
│  └──────────────┘  │                    │    └──────────────┘   |           │
│                    │    ┌──────────┐    │                       |           │
│  ┌──────────────┐  │    │  Waste   │    │    ┌──────────────┐   |           │
│  │  Warehouse   │──┼───►│ Collect  │────┼───►│ Incineration │   |           │
│  │              │  │    │          │    │    │    (D10)     │───┼           │
│  └──────────────┘  │    └──────────┘    │    └──────────────┘   |           │
│                    │         │          │                       |           │
│  ┌──────────────┐  │         │          │    ┌──────────────┐   |           │
│  │  Factory     │──┘         │          └───►│  Recycling   │   |           │
│  │              │            │               │    (R03)     │───┼           │
│  └──────────────┘            │               └──────────────┘   |           │
│                              │                                  |           │
│                    ┌─────────▼─────────┐                        |           │
│                    │   CATEGORY 4.2    │                        |           │
│                    │   Emissions from  │                        |           │
│                    │ waste treatment + │<───────────────────────┘           │
│                    │    transport      │                                    │
│                    └───────────────────┘                                    │
│                                                                             │
│  EXAMPLE WASTE TYPES:                  EXAMPLE TREATMENT METHODS:           │
│  • Paper/cardboard (150101)            • R01-R13: Recovery operations       │
│  • Plastics (150102)                   • D01-D15: Disposal operations       │
│  • Mixed packaging (150106)            • R03: Recycling                     │
│  • Organic waste (200108)              • R01: Energy recovery               │
│  • Electronic waste (160214)           • D01: Landfill                      │
│  • Hazardous waste (various)           • D10: Incineration                  │
│                                                                             │
└─────────────────────────────────────────────────────────────────────────────┘
```

<Note>
  **Category 4.2 vs Other Waste-Related Emissions**

  * **Category 4.2**: Waste generated in your operations, treated by third parties
  * **Category 5**: End-of-life treatment of products you sell (downstream)
  * **Category 1**: On-site waste treatment at facilities you own/control (direct emissions)
</Note>

## Prerequisites

Before starting, ensure you have:

* Dcycle API credentials ([get them here](/docs/quickstart#step-1-get-your-api-key))
* Completed [ISO 14064 Tutorial](/guides/emissions/iso-14064-tutorial)
* At least one facility created
* Waste manifests or invoices from your waste management provider

<Tip>
  **Using the Dcycle App?**

  You can track waste through our web interface:

  * [Upload waste invoices](https://scribehow.com/shared/How_to_upload_waste_management_documents__xGVqFqA5RH6vT4p6q1-bKA) ([ES](https://scribehow.com/shared/Como_subir_documentos_de_gestion_de_residuos__rYt4xZ0rQUaKdJHLp2Vq4w)) - Automatic PDF extraction
  * Manual entry for individual waste records
</Tip>

## Data Map: Category 4.2 Requirements Overview

```
┌────────────────────────────────────────────────────────────────────────────────────────┐
│                   CATEGORY 4.2 DATA REQUIREMENTS OVERVIEW                              │
├────────────────────────────────────────────────────────────────────────────────────────┤
│                                                                                        │
│  ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│  │ WASTE RECORD (Per waste entry)                                                  │   │
│  ├─────────────────────────────────────────────────────────────────────────────────┤   │
│  │                                                                                 │   │
│  │  Required Fields              Optional Fields                                   │   │
│  │  ──────────────────           ──────────────────                                │   │
│  │  • facility_id                • rd_code (treatment code)                        │   │
│  │  • ler_code (LER/LoW code)    • identification_name                             │   │
│  │  • quantity (kg)              • description                                     │   │
│  │  • start_date                 • destination                                     │   │
│  │  • end_date                   • total_km_to_waste_center                        │   │
│  │                               • file_url (supporting doc)                       │   │
│  │                                                                                 │   │
│  └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                        │
│  ┌─────────────────────────────────────────────────────────────────────────────────┐   │
│  │ CALCULATION FLOW                                                                │   │
│  ├─────────────────────────────────────────────────────────────────────────────────┤   │
│  │                                                                                 │   │
│  │  LER Code + RD Code ──► Waste Emission Factor (kg CO₂e/kg)                      │   │
│  │                                  │                                              │   │
│  │  Quantity (kg) ─────────────────┼──► Treatment Emissions                        │   │
│  │                                 │                                               │   │
│  │  Distance (km) ─────────────────┼──► Transport Emissions                        │   │
│  │                                 │                                               │   │
│  │  Total CO₂e = (Quantity × Waste EF) + (ton-km × Transport EF)                   │   │
│  │                                                                                 │   │
│  └─────────────────────────────────────────────────────────────────────────────────┘   │
│                                                                                         │
└─────────────────────────────────────────────────────────────────────────────────────────┘
```

## Understanding Waste Codes

### LER Codes (European List of Waste)

The **LER code** (also called LoW code) is a 6-digit code that identifies the type of waste according to the European List of Waste. Common examples:

| LER Code  | Description                       | Category      |
| --------- | --------------------------------- | ------------- |
| `150101`  | Paper and cardboard packaging     | Non-hazardous |
| `150102`  | Plastic packaging                 | Non-hazardous |
| `150103`  | Wooden packaging                  | Non-hazardous |
| `150106`  | Mixed packaging                   | Non-hazardous |
| `200108`  | Biodegradable kitchen waste       | Non-hazardous |
| `200301`  | Mixed municipal waste             | Non-hazardous |
| `160214`  | Electronic equipment              | Non-hazardous |
| `150110*` | Packaging with hazardous residues | Hazardous     |
| `160601*` | Lead batteries                    | Hazardous     |

<Info>
  **Hazardous Waste**

  LER codes ending with an asterisk (\*) indicate hazardous waste. These typically have different emission factors and require special handling documentation.
</Info>

### RD Codes (Treatment Methods)

The **RD code** identifies the treatment or disposal method. It consists of R (Recovery) or D (Disposal) followed by a 2-digit number:

**Recovery Operations (R codes):**

| Code  | Description                                 | Typical Impact |
| ----- | ------------------------------------------- | -------------- |
| `R01` | Energy recovery (incineration with energy)  | Medium         |
| `R02` | Solvent reclamation                         | Low            |
| `R03` | Recycling/reclamation of organic substances | Low            |
| `R04` | Recycling/reclamation of metals             | Low            |
| `R05` | Recycling/reclamation of other inorganics   | Low            |
| `R10` | Land treatment (composting)                 | Low            |
| `R12` | Exchange of waste for recovery              | Variable       |
| `R13` | Storage pending recovery                    | N/A            |

**Disposal Operations (D codes):**

| Code  | Description                                    | Typical Impact |
| ----- | ---------------------------------------------- | -------------- |
| `D01` | Deposit into or onto land (landfill)           | High           |
| `D02` | Land treatment (not composting)                | Medium         |
| `D09` | Physico-chemical treatment                     | Medium         |
| `D10` | Incineration on land (without energy recovery) | High           |
| `D14` | Repackaging prior to disposal                  | N/A            |
| `D15` | Storage pending disposal                       | N/A            |

<Info>
  **When RD Code is Unknown**

  A single LoW/LER code can be associated with multiple treatment methods (RD codes), each with different emission factors. If the RD code is not provided, Dcycle automatically uses the **average emission factor** across all possible treatment methods for that waste type.

  For more accurate emissions calculations, provide the RD code when known from your waste management documentation.
</Info>

## Emission Factors

Dcycle uses waste emission factors derived from the [IPCC Guidelines for National Greenhouse Gas Inventories](https://www.ipcc.ch/site/assets/uploads/2018/03/5_Waste-1.pdf):

<AccordionGroup>
  <Accordion title="IPCC Waste Methodology">
    **Intergovernmental Panel on Climate Change (IPCC)**

    * Default emission factors for solid waste disposal sites (landfill)
    * Methane (CH₄) emissions from anaerobic decomposition
    * Waste incineration factors for CO₂ and N₂O
    * Covers all standard waste categories and treatment methods
  </Accordion>

  <Accordion title="Treatment-Specific Factors">
    **By disposal/recovery method:**

    * **Landfill (D01)**: CH₄ from organic decomposition, based on IPCC default methane correction factors
    * **Incineration (D10/R01)**: CO₂ from fossil carbon content + N₂O from combustion
    * **Recycling (R03-R05)**: Processing emissions, often offset by avoided virgin material
    * **Composting (R10)**: CH₄ and N₂O from biological treatment
  </Accordion>

  <Accordion title="Transport Emissions">
    **Waste transport to treatment facility:**

    * Based on average truck emissions (Ecoinvent)
    * Calculated using: `(quantity_kg / 1000) × distance_km × transport_ef`
    * Default transport EF: \~0.1 kg CO₂e per ton-km
  </Accordion>
</AccordionGroup>

## Recording Waste Data

### Create Waste Records

<Accordion title="📋 Data Map: Single Waste Record">
  | Field                      | Type   | Required | Description               | Example                 |
  | -------------------------- | ------ | -------- | ------------------------- | ----------------------- |
  | `facility_id`              | UUID   | ✅        | Facility generating waste | `"facility-uuid"`       |
  | `ler_code`                 | string | ✅        | 6-digit LER/LoW code      | `"150101"`              |
  | `quantity`                 | number | ✅        | Waste quantity (kg)       | `500`                   |
  | `start_date`               | date   | ✅        | Period start              | `"2024-01-01"`          |
  | `end_date`                 | date   | ✅        | Period end                | `"2024-03-31"`          |
  | `rd_code`                  | string | ❌        | Treatment method code     | `"R03"`                 |
  | `identification_name`      | string | ❌        | Reference (invoice #)     | `"WM-2024-001"`         |
  | `description`              | string | ❌        | Waste description         | `"Office paper waste"`  |
  | `destination`              | string | ❌        | Treatment facility name   | `"Green Recycling Ltd"` |
  | `total_km_to_waste_center` | number | ❌        | Distance to treatment     | `25`                    |

  **Where to get this data:**

  * **LER code**: Waste manifest or transfer note from waste collector
  * **RD code**: Waste management invoice or certificate
  * **Quantity**: Weighbridge ticket or estimated from container size
  * **Distance**: Address of treatment facility (or ask waste provider)
</Accordion>

Track individual waste disposal from your facilities:

<CodeGroup>
  ```python Python theme={"theme":{"light":"github-light","dark":"github-dark"}}
  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-user-id": os.getenv("DCYCLE_USER_ID"),
  }

  # Get your facility ID
  facilities = requests.get(
      "https://api.dcycle.io/v1/facilities",
      headers=headers,
      params={"page": 1, "size": 100}
  ).json()
  facility_id = facilities['items'][0]['id']

  # Example: Office paper recycling
  waste_data = {
      "facility_id": facility_id,
      "ler_code": "150101",       # Paper and cardboard packaging
      "rd_code": "R03",           # Recycling
      "quantity": 500,            # 500 kg
      "start_date": "2024-01-01",
      "end_date": "2024-03-31",
      "identification_name": "WM-2024-Q1-001",
      "description": "Office paper and cardboard waste - Q1 2024",
      "destination": "Green Recycling Ltd",
      "total_km_to_waste_center": 25,  # Distance to recycling facility
  }

  response = requests.post(
      f"https://api.dcycle.io/v1/facilities/{facility_id}/wastes",
      headers=headers,
      json=waste_data
  ).json()

  print(f"✅ Waste record created")
  print(f"   ID: {response['id']}")
  print(f"   LER Code: {waste_data['ler_code']}")
  print(f"   Treatment: {waste_data['rd_code']}")
  print(f"   Quantity: {waste_data['quantity']} kg")
  print(f"   CO₂e: {response.get('co2e', 'Calculating...')} kg")
  print(f"   ISO 14064-1 Category: 4.2 (Waste Disposal)")
  ```

  ```javascript JavaScript theme={"theme":{"light":"github-light","dark":"github-dark"}}
  const axios = require('axios');

  const headers = {
    'Authorization': `Bearer ${process.env.DCYCLE_API_KEY}`,
    'Content-Type': 'application/json',
    'x-organization-id': process.env.DCYCLE_ORG_ID,
    'x-user-id': process.env.DCYCLE_USER_ID
  };

  // Get your facility ID
  const facilities = await axios.get(
    'https://api.dcycle.io/v1/facilities',
    { headers, params: { page: 1, size: 100 } }
  ).then(res => res.data);
  const facilityId = facilities.items[0].id;

  // Example: Office paper recycling
  const wasteData = {
    facility_id: facilityId,
    ler_code: '150101',
    rd_code: 'R03',
    quantity: 500,
    start_date: '2024-01-01',
    end_date: '2024-03-31',
    identification_name: 'WM-2024-Q1-001',
    description: 'Office paper and cardboard waste - Q1 2024',
    destination: 'Green Recycling Ltd',
    total_km_to_waste_center: 25
  };

  const response = await axios.post(
    `https://api.dcycle.io/v1/facilities/${facilityId}/wastes`,
    wasteData,
    { headers }
  ).then(res => res.data);

  console.log('✅ Waste record created');
  console.log(`   ID: ${response.id}`);
  console.log(`   LER Code: ${wasteData.ler_code}`);
  console.log(`   Treatment: ${wasteData.rd_code}`);
  console.log(`   Quantity: ${wasteData.quantity} kg`);
  console.log(`   ISO 14064-1 Category: 4.2 (Waste Disposal)`);
  ```
</CodeGroup>

### Common Waste Types Example

Track multiple waste streams from your facility:

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Track all Q1 2024 waste from a facility
waste_records = [
    {
        "ler_code": "150101",    # Paper/cardboard
        "rd_code": "R03",        # Recycling
        "quantity": 500,
        "description": "Office paper and cardboard",
    },
    {
        "ler_code": "150102",    # Plastic
        "rd_code": "R03",        # Recycling
        "quantity": 150,
        "description": "Plastic packaging",
    },
    {
        "ler_code": "200301",    # Mixed municipal
        "rd_code": "D01",        # Landfill
        "quantity": 200,
        "description": "General office waste (non-recyclable)",
    },
    {
        "ler_code": "200108",    # Organic
        "rd_code": "R10",        # Composting
        "quantity": 100,
        "description": "Canteen food waste",
    },
    {
        "ler_code": "160214",    # Electronics
        "rd_code": "R04",        # Metal recovery
        "quantity": 25,
        "description": "End-of-life IT equipment",
    },
]

created_records = []
for waste in waste_records:
    waste_data = {
        "facility_id": facility_id,
        "ler_code": waste["ler_code"],
        "rd_code": waste["rd_code"],
        "quantity": waste["quantity"],
        "start_date": "2024-01-01",
        "end_date": "2024-03-31",
        "description": waste["description"],
        "total_km_to_waste_center": 25,
    }
    
    response = requests.post(
        f"https://api.dcycle.io/v1/facilities/{facility_id}/wastes",
        headers=headers,
        json=waste_data
    ).json()
    
    created_records.append(response)
    print(f"   {waste['description']}: {waste['quantity']} kg → {waste['rd_code']}")

print(f"\n✅ Created {len(created_records)} waste records")
total_waste = sum(w['quantity'] for w in waste_records)
print(f"   Total waste: {total_waste} kg")
```

## Upload Waste Documents (PDF)

Dcycle can automatically extract waste data from PDF invoices:

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
import requests
import os
import base64

headers = {
    "Authorization": f"Bearer {os.getenv('DCYCLE_API_KEY')}",
    "x-organization-id": os.getenv("DCYCLE_ORG_ID"),
    "x-user-id": os.getenv("DCYCLE_USER_ID"),
}

# Read and encode the PDF file
with open("waste_invoice.pdf", "rb") as f:
    file_content = f.read()

# Upload the waste invoice
files = {
    "file": ("waste_invoice.pdf", file_content, "application/pdf"),
}

data = {
    "supplier": "generic",  # Or specific waste provider if supported
    "kms_to_waste_center": 25,  # Optional: distance to treatment facility
}

response = requests.post(
    f"https://api.dcycle.io/v1/facilities/{facility_id}/wastes/upload",
    headers=headers,
    files=files,
    data=data
)

if response.status_code == 200:
    result = response.json()
    print(f"✅ Waste invoice processed")
    for waste in result:
        print(f"   LER: {waste.get('ler_code')} | Treatment: {waste.get('rd_code')}")
        print(f"   Quantity: {waste.get('quantity')} kg")
        print(f"   CO₂e: {waste.get('co2e', 'Calculating...')} kg")
else:
    print(f"❌ Upload failed: {response.text}")
```

<Info>
  **Supported Waste Invoice Formats**

  Dcycle's OCR can extract data from standard waste transfer notes and invoices, including:

  * Spanish DI (Documento de Identificación)
  * Standard European waste manifests
  * Various waste management company formats

  The system extracts: LER code, quantity, date, and description automatically.
</Info>

## Bulk Upload Waste Records

For organizations with many waste streams, use CSV upload:

### CSV Format

```csv theme={"theme":{"light":"github-light","dark":"github-dark"}}
facility_id,ler_code,rd_code,quantity,start_date,end_date,description,destination,kms_to_waste_center
"facility-uuid-1","150101","R03",500,"2024-01-01","2024-03-31","Paper recycling","Green Recycling",25
"facility-uuid-1","150102","R03",150,"2024-01-01","2024-03-31","Plastic recycling","Green Recycling",25
"facility-uuid-1","200301","D01",200,"2024-01-01","2024-03-31","General waste","City Landfill",40
"facility-uuid-2","150101","R03",300,"2024-01-01","2024-03-31","Paper recycling","EcoWaste Ltd",15
"facility-uuid-2","200108","R10",75,"2024-01-01","2024-03-31","Food waste","CompostCo",20
```

<Note>
  **CSV Notes:**

  * `quantity` is always in kilograms (kg)
  * `kms_to_waste_center` is optional but recommended for accurate transport emissions
  * Use the correct facility\_id for each waste record
</Note>

## Query Category 4.2 Emissions

### Get Waste Totals by Facility

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
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-user-id": os.getenv("DCYCLE_USER_ID"),
}

# Get all waste records for a facility
response = requests.get(
    f"https://api.dcycle.io/v1/facilities/{facility_id}/wastes",
    headers=headers,
    params={
        "start_date": "2024-01-01",
        "end_date": "2024-12-31",
    }
).json()

print(f"📊 ISO 14064-1 Category 4.2: Waste Generated in Operations (2024)")
print("=" * 60)

total_quantity = 0
total_co2e = 0

for waste in response.get('items', []):
    total_quantity += waste['quantity']
    total_co2e += waste.get('co2e', 0)
    print(f"   {waste['description'][:30]}: {waste['quantity']} kg → {waste.get('co2e', 0):.1f} kg CO₂e")

print("-" * 60)
print(f"   Total waste: {total_quantity:,.0f} kg")
print(f"   Total CO₂e: {total_co2e:,.1f} kg ({total_co2e/1000:.2f} tonnes)")
```

### Analyze by Treatment Method

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Group waste by treatment method
from collections import defaultdict

treatment_summary = defaultdict(lambda: {"quantity": 0, "co2e": 0, "records": 0})

for waste in response.get('items', []):
    rd_code = waste.get('rd_code', 'Unknown')
    treatment_summary[rd_code]["quantity"] += waste['quantity']
    treatment_summary[rd_code]["co2e"] += waste.get('co2e', 0)
    treatment_summary[rd_code]["records"] += 1

print("\n📊 Category 4.2 by Treatment Method:")
print("-" * 50)

treatment_names = {
    "R01": "Energy recovery",
    "R03": "Recycling",
    "R04": "Metal recovery",
    "R10": "Composting",
    "D01": "Landfill",
    "D10": "Incineration",
}

for rd_code, data in sorted(treatment_summary.items()):
    name = treatment_names.get(rd_code, rd_code)
    print(f"   {rd_code} ({name}):")
    print(f"      Quantity: {data['quantity']:,.0f} kg")
    print(f"      CO₂e: {data['co2e']:,.1f} kg")
    print(f"      Records: {data['records']}")
    print()
```

## Best Practices

### 1. Track All Waste Streams

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Ensure comprehensive coverage
required_waste_streams = [
    {"category": "Paper/Cardboard", "ler_codes": ["150101", "200101"]},
    {"category": "Plastics", "ler_codes": ["150102", "200139"]},
    {"category": "Glass", "ler_codes": ["150107", "200102"]},
    {"category": "Metals", "ler_codes": ["150104", "200140"]},
    {"category": "Organic", "ler_codes": ["200108", "200201"]},
    {"category": "General/Mixed", "ler_codes": ["200301", "150106"]},
    {"category": "Electronics", "ler_codes": ["160214", "200135*"]},
]

# Check coverage
tracked_ler_codes = set(w.get('ler_code') for w in response.get('items', []))

print("📋 Waste Stream Coverage:")
for stream in required_waste_streams:
    covered = any(ler in tracked_ler_codes for ler in stream['ler_codes'])
    status = "✅" if covered else "❌"
    print(f"   {status} {stream['category']}")
```

### 2. Prioritize High-Impact Waste

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Identify waste types with highest emissions
waste_by_impact = sorted(
    response.get('items', []),
    key=lambda w: w.get('co2e', 0),
    reverse=True
)

print("\n🎯 Top 5 Highest Impact Waste:")
for i, waste in enumerate(waste_by_impact[:5], 1):
    print(f"   {i}. {waste['description'][:35]}")
    print(f"      LER: {waste['ler_code']} | Treatment: {waste['rd_code']}")
    print(f"      CO₂e: {waste.get('co2e', 0):,.1f} kg")
    
    # Suggest improvement if using disposal
    if waste.get('rd_code', '').startswith('D'):
        print(f"      💡 Consider recycling (R03) to reduce emissions")
    print()
```

### 3. Track Diversion Rate

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Calculate waste diversion from landfill
def calculate_diversion_rate(wastes):
    """Calculate percentage of waste diverted from landfill"""
    
    total_quantity = 0
    diverted_quantity = 0
    
    for waste in wastes:
        quantity = waste.get('quantity', 0)
        rd_code = waste.get('rd_code', '')
        total_quantity += quantity
        
        # R codes (except R13) and some D codes are considered diversion
        if rd_code.startswith('R') and rd_code != 'R13':
            diverted_quantity += quantity
        elif rd_code in ['D09', 'D14']:  # Treatment/processing
            diverted_quantity += quantity
    
    if total_quantity > 0:
        return (diverted_quantity / total_quantity) * 100
    return 0

diversion_rate = calculate_diversion_rate(response.get('items', []))
print(f"\n♻️ Waste Diversion Rate: {diversion_rate:.1f}%")

if diversion_rate < 50:
    print("   ⚠️ Below 50% - significant improvement opportunity")
elif diversion_rate < 75:
    print("   📈 Good progress - target 75%+")
else:
    print("   ✅ Excellent diversion rate!")
```

<Tip>
  **Reduction Strategies for Category 4.2**

  1. **Reduce waste generation**: Source reduction is the most effective strategy
  2. **Increase recycling**: Switch from D01 (landfill) to R03 (recycling) where possible
  3. **Composting**: Divert organic waste from landfill to R10
  4. **Energy recovery**: If recycling isn't possible, R01 beats D01
  5. **Local treatment**: Reduce transport emissions with nearby facilities
  6. **Supplier engagement**: Work with waste providers on lower-carbon options
</Tip>

## Troubleshooting

### Issue: LER Code Not Found

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Get available LER codes
ler_codes = requests.get(
    "https://api.dcycle.io/v1/waste_efs/ler_codes",
    headers=headers
).json()

print("Available LER codes:")
for code in ler_codes[:10]:
    print(f"   {code['low_code']}: {code['low_description']}")

# If your code isn't found, try the generic version
# e.g., "150101" → check if "1501*" or "15*" exists
```

### Issue: Unknown Treatment Method

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Get available RD codes
rd_codes = requests.get(
    "https://api.dcycle.io/v1/waste_efs/rd_codes",
    headers=headers
).json()

print("Available treatment codes:")
for code in rd_codes:
    print(f"   {code['rd_code']}: {code['rd_description']}")
```

### Issue: Category 4.2 Seems Too Low

```python theme={"theme":{"light":"github-light","dark":"github-dark"}}
# Common reasons for underreported waste emissions:
checks = {
    "Missing waste streams": "Check all facilities are tracked",
    "Incomplete periods": "Ensure full year coverage",
    "Missing transport": "Add kms_to_waste_center where known",
    "Contractor waste": "Include waste from on-site contractors",
    "Construction waste": "Don't forget renovation/construction debris",
}

print("🔍 Checklist for Category 4.2 completeness:")
for issue, action in checks.items():
    print(f"   ☐ {issue}")
    print(f"      → {action}")
```

## Next Steps

<CardGroup cols={2}>
  <Card title="Category 4.1: Capital Goods" icon="building" href="/guides/emissions/iso-14064-category-4-1-capital-goods">
    Track capital asset emissions
  </Card>

  <Card title="Category 4.3: Purchased Goods" icon="bag-shopping" href="/guides/emissions/iso-14064-category-4-3-purchased-goods">
    Track purchased goods and services
  </Card>

  <Card title="Facilities Tutorial" icon="industry" href="/guides/emissions/facilities-tutorial">
    Complete facility management guide
  </Card>

  <Card title="Back to Category 4 Overview" icon="arrow-left" href="/guides/emissions/iso-14064-category-4-products-used">
    Return to Category 4 overview
  </Card>
</CardGroup>
