Tag: Developer Reference

  • RCP v1.0 Full Framework Document — The Complete Restoration Carbon Protocol Standard

    RCP v1.0 Full Framework Document — The Complete Restoration Carbon Protocol Standard

    The Restoration Carbon Protocol (RCP) is an open industry self-standard for calculating, documenting, and reporting Scope 3 greenhouse gas emissions from restoration contractor work. It is the first framework purpose-built for the restoration industry to enable contractors to provide defensible, auditor-acceptable emissions data to commercial property managers, REITs, institutional investors, government agencies, and ESG reporting platforms.

    This document is the complete RCP v1.0 specification. It supersedes and consolidates all individual RCP knowledge nodes published at tygartmedia.com/esg-restoration. This is the document you share with RIA, with software vendors, with ESG consultants, and with any organization that wants to understand, adopt, or build on the standard.

    Version: RCP v1.0
    Published: April 2026
    Published by: Tygart Media — tygartmedia.com
    License: Open — free to use, implement, and build upon with attribution
    GHG Protocol alignment: Corporate Value Chain (Scope 3) Accounting and Reporting Standard
    Emission factor vintage: EPA 2025 GHG Emission Factors Hub, EPA eGRID 2023, EPA WARM v16


    Part I: Purpose and Scope

    Why RCP Exists

    Commercial property managers, REITs, hospital systems, and institutional facility owners face mandatory Scope 3 greenhouse gas disclosure requirements under California SB 253 (effective 2027 for Scope 3), the EU Corporate Sustainability Reporting Directive (CSRD), and growing pressure from GRESB, CDP, and institutional investors. Restoration contractor work — water damage, fire and smoke, mold remediation, asbestos and hazmat abatement, and biohazard cleanup — generates Scope 3 emissions that appear in the property manager’s inventory as Category 1 (purchased goods and services) and Category 4 (upstream transportation) emissions.

    No standard existed for how restoration contractors should calculate, document, or report these emissions. Without a standard, each contractor produced different data in different formats, making it impossible for property managers to aggregate across their vendor base. The Restoration Carbon Protocol fills that gap.

    What RCP Covers

    RCP v1.0 defines the emissions calculation methodology, data capture requirements, reporting format, proxy estimation procedures, and emission factors for five core restoration job types:

    1. Water damage restoration (IICRC S500)
    2. Fire and smoke restoration (IICRC S700)
    3. Mold remediation (IICRC S520)
    4. Asbestos and hazmat abatement
    5. Biohazard and trauma scene cleanup

    RCP v1.0 covers the Scope 3 emissions generated on behalf of commercial clients. Contractor Scope 1 and 2 emissions (the contractor’s own buildings, fleet, and purchased energy) are a separate accounting obligation under the GHG Protocol and are not addressed by the RCP.


    Part II: GHG Protocol Alignment

    Scope 3 Categories Addressed

    Restoration contractor work generates client-facing Scope 3 emissions primarily across four GHG Protocol categories:

    GHG Protocol Category What It Covers in Restoration Work Included in RCP v1.0
    Category 1 — Purchased Goods and Services Consumable materials, chemicals, PPE, containment, equipment energy (when building-powered) ✅ Yes
    Category 4 — Upstream Transportation All vehicle trips to/from job site, equipment hauls, waste transport ✅ Yes
    Category 5 — Waste Generated in Operations Disposal of demolished materials, contaminated waste, PPE, wastewater ✅ Yes
    Category 12 — End-of-Life Treatment Embedded carbon in building materials removed and disposed of ✅ Yes
    Category 7 — Employee Commuting Technician commuting to contractor’s office ❌ No — contractor’s own Scope 3
    Category 2 — Capital Goods Embedded carbon in equipment (dehumidifiers, vehicles) manufactured ❌ No — contractor’s own Scope 3

    Part III: The Five Emissions Calculation Domains

    Every RCP calculation is organized into five domains. Each domain has a primary data source, a calculation method, and a set of proxy values for when primary data is unavailable.

    Domain 1: Equipment Energy

    Electricity consumed by contractor-deployed drying, filtration, and remediation equipment. Primary method: metered kWh. Proxy method: equipment wattage × runtime hours × proxy unit power draws.

    • National grid emission factor: 0.3499 kg CO₂e/kWh (EPA eGRID 2023 national average)
    • Use subregion-specific factor where available (EPA Power Profiler at epa.gov/egrid)
    • Proxy unit power draws: LGR dehumidifier 1.1 kWh/hr, air mover 0.25 kWh/hr, HEPA air scrubber 0.50 kWh/hr, desiccant dehumidifier 2.8 kWh/hr

    Domain 2: Vehicle Transport

    All fuel combustion from vehicles operated for job-related purposes. Primary method: fuel volume in gallons. Proxy method: miles × 1/mpg × emission factor.

    • Diesel (mobile combustion): 10.21 kg CO₂e/gallon (EPA 2025 EF Hub)
    • Gasoline (mobile combustion): 8.89 kg CO₂e/gallon (EPA 2025 EF Hub)
    • Proxy fleet mpg: diesel service van 20 mpg; gasoline pickup 18 mpg; diesel dump truck 8 mpg
    • Debris haul: 0.186 kg CO₂e/ton-mile truck freight (EPA 2025 EF Hub)

    Domain 3: Consumable Materials

    Embedded carbon in materials consumed during the job but not remaining in the structure: chemicals, PPE, containment materials. Primary method: purchase records by product. Proxy method: standard consumption rates by job type and crew size.

    • Antimicrobial treatments (default): 2.8 kg CO₂e/liter
    • Polyethylene containment sheeting: 0.22 kg CO₂e/meter
    • Disposable Tyvek suit: 1.8 kg CO₂e/unit
    • N95 respirator: 0.4 kg CO₂e/unit
    • Nitrile glove pair: 0.12 kg CO₂e/pair

    Domain 4: Waste Disposal

    Emissions from disposing of materials removed from the property. Primary method: disposal facility manifests by weight and disposal type. Proxy method: weight estimated from demolition scope or volume.

    • Mixed C&D waste, landfill: 0.021 tCO₂e/short ton (EPA WARM v16)
    • Drywall/gypsum, landfill: 0.006 tCO₂e/short ton (EPA WARM v16)
    • Wood debris, landfill: 0.039 tCO₂e/short ton (EPA WARM v16)
    • Regulated hazmat, incineration: 0.42 tCO₂e/short ton (EPA AP-42)
    • Biohazardous waste, medical incineration: 0.88 tCO₂e/short ton (DEFRA 2024)

    Domain 5: Demolished Materials

    Embedded carbon in building materials removed from the structure as a result of restoration work. Primary method: demolition scope by material type and weight. Proxy method: sqft × standard weight/sqft by material type × emission factor.

    • Standard drywall (½”): 0.12 kg CO₂e/kg (production) — EPA WARM v16
    • Fiberglass insulation batts: 1.35 kg CO₂e/kg — EPA WARM v16
    • Carpet (nylon face): 5.40 kg CO₂e/kg — DEFRA 2024
    • LVP/vinyl flooring: 3.10 kg CO₂e/kg — DEFRA 2024
    • Dimensional lumber: 0.45 kg CO₂e/kg — EPA WARM v16

    Part IV: The RCP 12-Point Data Capture Standard

    Every RCP-compliant job record requires twelve data points captured at the time of the job. These are the minimum inputs needed to produce a defensible Scope 3 emissions calculation. Full definitions, good vs. poor capture examples, and calculation mapping for each data point are documented at: tygartmedia.com/12-data-points-restoration-job-scope-3/

    # Data Point Capture Stage GHG Category
    1 Vehicle log (type, trips, miles, fuel) Daily / GPS Cat. 4
    2 Waste transport log Close-out Cat. 4
    3 Equipment power source (building or generator) Setup Cat. 1 / Cat. 4
    4 Chemical treatments log (volume by type) During / Close-out Cat. 1
    5 PPE consumption log During / Close-out Cat. 1
    6 Containment materials log Setup / Close-out Cat. 1
    7 Debris volume by waste category (weight) Close-out / Manifest Cat. 5
    8 Disposal method and facility Close-out Cat. 5 factor selector
    9 Demolished materials by type and weight Demo scope / Close-out Cat. 12
    10 Replacement materials (if in contractor scope) Close-out Cat. 1
    11 Job classification (type, category, class, sqft) Initial assessment Proxy rate selector
    12 Job timeline (start date, completion date) System-generated Period assignment

    Part V: Proxy Estimation Methodology

    When primary data is unavailable — whether for historical jobs, field situations where documentation was incomplete, or data points that current job management systems don’t capture — the RCP authorizes proxy estimation. All proxy calculations must be labeled as estimated in the data quality section of the Job Carbon Report.

    The complete proxy value reference table is published at: tygartmedia.com/rcp-proxy-estimation-methodology/

    The hierarchy of calculation quality, from highest to lowest:

    1. Primary data: Metered, weighed, or directly measured values from job records
    2. Derived primary: Calculated from primary data using standard conversion factors (e.g., miles from GPS × mpg = gallons)
    3. Proxy — job-specific: Estimated using job classification (type, category, class, sqft) with RCP standard rates
    4. Proxy — national average: Used only when job classification is also unavailable. Lowest quality; flag prominently in data quality notes

    Part VI: The RCP Job Carbon Report

    The Job Carbon Report is the output document delivered to commercial clients. It is the vehicle by which contractor emissions data enters the client’s Scope 3 inventory. The report has two valid formats: document (PDF or structured text) and machine-readable (JSON per RCP-JCR-1.0 schema).

    The full report template, field definitions, and example values are published at: tygartmedia.com/rcp-job-carbon-report-template/

    The RCP-JCR-1.0 JSON schema is published at: tygartmedia.com/rcp-json-schema-v1-machine-readable-standard/

    Required report sections:

    1. Job Identification (contractor, client, property, job type, dates)
    2. Emissions Summary (total tCO₂e and breakdown by GHG Protocol category)
    3. Transportation Calculation (Category 4 detail)
    4. Materials Calculation (Category 1 detail)
    5. Waste Disposal Calculation (Category 5 detail)
    6. Demolished Materials Calculation (Category 12 detail)
    7. Data Quality Notes (primary vs. proxy data points, preparer, date)

    Part VII: Scope Boundaries

    Included in RCP v1.0 Scope

    • All electricity consumed by contractor-deployed drying and remediation equipment from setup to retrieval
    • All vehicle fuel combustion for all trips directly associated with the job
    • Embedded carbon in consumable materials used during the job
    • Disposal emissions for all materials removed as part of the restoration scope
    • Embedded carbon in building materials removed and disposed of

    Excluded from RCP v1.0 Scope

    • Emissions from the original loss event (pipe break, fire, flood) — property owner’s Scope 1/2
    • Employee commuting to/from contractor’s office — contractor’s own Scope 3 Cat. 7
    • Capital equipment manufacturing emissions — contractor’s own Scope 3 Cat. 2
    • Administrative overhead, insurance, office operations
    • Wastewater treatment facility emissions from discharged extraction water (flagged for v2.0)
    • Subcontractor emissions not within the primary contractor’s scope of work

    Part VIII: Per-Job-Type Calculation Guides

    Each job type has a dedicated technical calculation guide with job-type-specific emission factors, worked examples, and proxy values. These are the source-of-record methodology documents for each restoration category:


    Part IX: Emission Factor Reference

    The complete consolidated emission factor reference table — every value used in RCP calculations, with source citations — is published at: tygartmedia.com/rcp-emission-factor-reference-table/

    All emission factors in RCP v1.0 are drawn from:

    • U.S. EPA 2025 GHG Emission Factors Hub (January 2025 update)
    • U.S. EPA eGRID 2023 (published January 2025)
    • U.S. EPA Waste Reduction Model (WARM) v16
    • DEFRA UK Greenhouse Gas Conversion Factors 2024
    • IPCC AR5 Global Warming Potentials (100-year)

    Part X: Governance, Versioning, and Contribution

    Governance Model

    RCP v1.0 operates under a founder-steward governance model. Tygart Media, as the originating organization, maintains editorial control over the standard and is responsible for version releases, emission factor updates, and scope boundary decisions. This model is appropriate for an early-stage standard where consistency and speed of iteration matter more than distributed governance.

    As the standard matures and industry adoption grows — particularly if RIA, IICRC, or another industry body formally endorses or houses the standard — governance may transition to a stewardship board model with representation from contractors, property managers, ESG consultants, and software vendors.

    Versioning Policy

    Version Type When Issued What Changes Backwards Compatible?
    Patch (v1.0.x) Annually or when EPA updates emission factors Emission factor updates only Yes — same schema
    Minor (v1.x) When new fields or job types are added Additive changes — new optional fields, new job type guides Yes — existing records remain valid
    Major (v2.0) When scope boundaries change significantly New required fields, scope expansions (e.g., wastewater treatment), LCA-based material factors Migration path provided

    How to Contribute

    The RCP is an open standard. Contributions from contractors, software vendors, ESG consultants, property managers, and researchers are actively welcomed. The current contribution process:

    1. Propose: Email rcp@tygartmedia.com with the proposed change, the technical rationale, and any supporting sources. Emission factor changes require a peer-reviewed or regulatory source.
    2. Review: Tygart Media reviews within 30 days and responds with acceptance, modification request, or rejection with explanation.
    3. Publish: Accepted contributions are credited by organization in the version release notes and reflected in the next patch or minor version.

    Priority contribution areas for v1.1:

    • LCA-based emission factors for specific replacement material types
    • EV fleet proxy values (kWh/mile × grid factor)
    • Regional proxy rates for markets outside the continental US
    • Subcontractor emissions inclusion methodology
    • Wastewater treatment facility emission factors by treatment type

    Open Source License

    The RCP v1.0 specification, all calculation methodology, the RCP-JCR-1.0 JSON schema, and all associated proxy value tables are released under the Creative Commons Attribution 4.0 International License (CC BY 4.0). You are free to use, share, adapt, and build commercial products on top of this standard with attribution to “Restoration Carbon Protocol v1.0, Tygart Media, tygartmedia.com.”


    Part XI: Commercial Application and Regulatory Context

    California SB 253

    California SB 253 requires companies with California revenues over $1 billion to report Scope 3 emissions for their 2026 fiscal year by 2027. Commercial property managers and REITs in scope must collect contractor Scope 3 data across their vendor base. RCP-compliant Job Carbon Reports provide a standardized format for this data collection. Full context: tygartmedia.com/california-sb-253-2027-restoration-contractors/

    GRESB

    GRESB Real Estate Assessment submissions (due July annually) require Scope 3 data from property managers’ supply chains, including restoration contractors. RCP Job Carbon Reports in JSON format integrate with major ESG data management platforms (Measurabl, Deepki, Yardi Elevate, Atrius) that aggregate GRESB submissions. Full context: tygartmedia.com/restoration-work-gresb-cdp-disclosures/

    CDP Supply Chain

    CDP Supply Chain program participants request annual Scope 3 data from their contractors via standardized questionnaire. RCP portfolio-level data aggregation (sum of per-job records by client property) provides the input for CDP Supply Chain responses.

    EU CSRD

    The EU Corporate Sustainability Reporting Directive requires double-materiality ESG disclosure from large companies, including US-based organizations with EU operations or EU-listed investors. For restoration contractors serving CSRD-obligated property clients, the RCP data format provides the supply chain emissions input required under ESRS E1 (Climate) reporting standards.


    Part XII: Software Integration

    The RCP is designed to be implemented natively in restoration job management platforms. The 12 data points map directly to field types that existing platforms (PSA/Canam, Dash/Next Gear Solutions, Xcelerate, Encircle, Albiware) already capture or can capture with minimal custom field additions. The RCP-JCR-1.0 JSON schema provides the standard data exchange format for platform-to-platform and platform-to-ESG-tool data transfer.

    For software implementation guidance: tygartmedia.com/rcp-json-schema-v1-machine-readable-standard/

    For a call to restoration software vendors to adopt RCP: see the software integration guide (coming April 2026 at tygartmedia.com/esg-restoration).


    Part XIII: Version History

    Version Date Changes
    RCP v1.0 April 2026 Initial publication. Five job types, 12-point data standard, RCP-JCR-1.0 JSON schema, proxy estimation methodology, emission factor reference table, full framework document.

    All RCP v1.0 Knowledge Nodes

    The following articles constitute the complete RCP v1.0 knowledge base. Each is a standalone reference document that can be read independently or cited as a component of this framework:


    Contact and Contribution

    To contribute to the RCP standard, propose changes, report errors, or inquire about software implementation: rcp@tygartmedia.com

    To discuss RCP adoption at the industry level, partnership with RIA, or integration with restoration job management platforms: will@tygartmedia.com

  • RCP JSON Schema v1.0 — The Machine-Readable Data Standard

    RCP JSON Schema v1.0 — The Machine-Readable Data Standard

    The Restoration Carbon Protocol v1.0 JSON Schema is the machine-readable definition of the RCP Job Carbon Report. It specifies every field name, data type, required status, and valid value for a complete RCP emissions record. This is the document software developers, ESG platform integrators, and restoration job management platforms use to implement RCP data capture and exchange.

    This schema is released as an open standard. Any platform that produces RCP-compliant JSON output can be described as RCP-compatible. No license is required. Attribution to the Restoration Carbon Protocol is encouraged.

    Schema version: RCP-JCR-1.0
    Conforms to: JSON Schema Draft-07 (json-schema.org/draft-07)
    GHG Protocol alignment: Corporate Value Chain (Scope 3) Standard
    Emission factor vintage: EPA 2025, EPA WARM v16, EPA eGRID 2023


    Schema Overview

    The RCP Job Carbon Report JSON object has seven top-level sections that mirror the paper report format: job identification, emissions summary, transportation data, materials data, waste data, demolished materials, and data quality metadata. All sections except data_quality are required for a complete RCP record. Partial records (missing sections) are valid as draft records but must not be delivered to clients as final RCP disclosures.


    Full Schema Definition

    {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "$id": "https://tygartmedia.com/rcp/schema/v1.0/job-carbon-report.json",
      "title": "RCP Job Carbon Report",
      "description": "Restoration Carbon Protocol v1.0 — Per-Job Scope 3 Emissions Record",
      "version": "1.0.0",
      "type": "object",
      "required": [
        "schema_version",
        "job_identification",
        "emissions_summary",
        "transportation",
        "materials",
        "waste",
        "demolished_materials"
      ],
    
      "properties": {
    
        "schema_version": {
          "type": "string",
          "const": "RCP-JCR-1.0",
          "description": "Schema version identifier. Must be 'RCP-JCR-1.0' for v1.0 records."
        },
    
        "generated_at": {
          "type": "string",
          "format": "date-time",
          "description": "ISO 8601 timestamp of when this record was generated."
        },
    
        "job_identification": {
          "type": "object",
          "required": [
            "contractor_name",
            "job_id",
            "client_name",
            "property_address",
            "job_type",
            "damage_category",
            "damage_class",
            "affected_area_sqft",
            "job_start_date",
            "job_completion_date",
            "reporting_standard",
            "egrid_subregion"
          ],
          "properties": {
            "contractor_name": {
              "type": "string",
              "description": "Legal name of the restoration contractor performing the work."
            },
            "contractor_rcp_id": {
              "type": "string",
              "description": "Optional. RCP self-certification ID if contractor is RCP-certified."
            },
            "job_id": {
              "type": "string",
              "description": "Contractor's internal job identifier. Used to cross-reference with job management system."
            },
            "client_name": {
              "type": "string",
              "description": "Name of the property owner or manager receiving this report."
            },
            "property_address": {
              "type": "object",
              "required": ["street", "city", "state", "zip"],
              "properties": {
                "street": { "type": "string" },
                "city": { "type": "string" },
                "state": { "type": "string", "pattern": "^[A-Z]{2}$" },
                "zip": { "type": "string", "pattern": "^[0-9]{5}(-[0-9]{4})?$" }
              }
            },
            "job_type": {
              "type": "string",
              "enum": [
                "water_damage",
                "fire_smoke",
                "mold_remediation",
                "asbestos_hazmat",
                "biohazard_trauma",
                "combined"
              ],
              "description": "Primary job type per RCP classification."
            },
            "damage_category": {
              "type": "string",
              "enum": ["1", "2", "3", "N/A"],
              "description": "IICRC S500 water damage category (1=clean, 2=gray, 3=black). Use N/A for non-water jobs."
            },
            "damage_class": {
              "type": "string",
              "enum": ["1", "2", "3", "4", "N/A"],
              "description": "IICRC S500 water damage class (1=minimal to 4=specialty drying). Use N/A for non-water jobs."
            },
            "affected_area_sqft": {
              "type": "number",
              "minimum": 0,
              "description": "Total affected area in square feet."
            },
            "job_start_date": {
              "type": "string",
              "format": "date",
              "description": "ISO 8601 date (YYYY-MM-DD) of job mobilization."
            },
            "job_completion_date": {
              "type": "string",
              "format": "date",
              "description": "ISO 8601 date (YYYY-MM-DD) of job close-out."
            },
            "reporting_standard": {
              "type": "string",
              "const": "Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard",
              "description": "Must match this exact string for RCP v1.0 compliance."
            },
            "egrid_subregion": {
              "type": "string",
              "description": "EPA eGRID subregion code for the job site ZIP code. Use 'US_AVG' if subregion unknown.",
              "examples": ["WECC", "SRVC", "RFCW", "US_AVG"]
            }
          }
        },
    
        "emissions_summary": {
          "type": "object",
          "required": [
            "total_job_emissions_tco2e",
            "category_1_materials_tco2e",
            "category_4_transportation_tco2e",
            "category_5_waste_tco2e",
            "category_12_demolished_materials_tco2e"
          ],
          "properties": {
            "total_job_emissions_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total job Scope 3 emissions in metric tons CO2 equivalent (tCO2e). Sum of all categories."
            },
            "category_1_materials_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 1 — Purchased Goods and Services. Embedded carbon in consumable materials."
            },
            "category_4_transportation_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 4 — Upstream Transportation. All vehicle fuel combustion for job-related trips."
            },
            "category_5_waste_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 5 — Waste Generated in Operations. Disposal of materials removed from the property."
            },
            "category_12_demolished_materials_tco2e": {
              "type": "number",
              "minimum": 0,
              "description": "GHG Protocol Scope 3 Category 12 — End-of-Life Treatment. Embedded carbon in building materials removed and disposed."
            },
            "equipment_energy_kwh": {
              "type": "number",
              "minimum": 0,
              "description": "Optional. Total kWh consumed by contractor-deployed equipment. Included in Category 1 if equipment operates on building power; Category 4 if generator-powered."
            }
          }
        },
    
        "transportation": {
          "type": "object",
          "required": ["vehicle_trips", "calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_fuel_volume", "proxy_mileage"],
              "description": "'primary_fuel_volume' = actual gallons recorded. 'proxy_mileage' = miles x fleet average mpg x emission factor."
            },
            "vehicle_trips": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": ["vehicle_type", "fuel_type", "round_trips", "round_trip_miles"],
                "properties": {
                  "vehicle_type": {
                    "type": "string",
                    "enum": ["light_truck", "service_van", "equipment_trailer", "dump_truck", "heavy_equipment", "other"],
                    "description": "Vehicle category."
                  },
                  "fuel_type": {
                    "type": "string",
                    "enum": ["diesel", "gasoline", "electric", "hybrid"],
                    "description": "Primary fuel type."
                  },
                  "round_trips": {
                    "type": "integer",
                    "minimum": 1,
                    "description": "Number of complete round trips for this vehicle on this job."
                  },
                  "round_trip_miles": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Miles per round trip."
                  },
                  "fuel_consumed_gallons": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Optional. Actual fuel consumed in gallons. Preferred over proxy when available."
                  },
                  "emissions_kg_co2e": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Calculated emissions for this vehicle entry in kg CO2e."
                  },
                  "trip_purpose": {
                    "type": "string",
                    "enum": ["response", "monitoring", "equipment_delivery", "equipment_pickup", "waste_haul", "crew_transport", "other"],
                    "description": "Primary purpose of these trips."
                  }
                }
              }
            },
            "total_vehicle_miles": {
              "type": "number",
              "minimum": 0,
              "description": "Sum of all vehicle-miles across all entries."
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total transportation emissions in kg CO2e."
            }
          }
        },
    
        "materials": {
          "type": "object",
          "required": ["calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_purchase_records", "proxy_job_type_standard"],
              "description": "'primary_purchase_records' = actual quantities from purchase records. 'proxy_job_type_standard' = RCP standard consumption rates by job type."
            },
            "chemicals": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["product_type", "quantity_liters"],
                "properties": {
                  "product_type": {
                    "type": "string",
                    "enum": ["antimicrobial", "biocide", "encapsulant", "deodorizer", "wetting_agent", "other"]
                  },
                  "quantity_liters": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_liter": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "ppe_disposable": {
              "type": "object",
              "properties": {
                "tyvek_suits": { "type": "integer", "minimum": 0 },
                "glove_pairs": { "type": "integer", "minimum": 0 },
                "respirators_n95": { "type": "integer", "minimum": 0 },
                "respirators_p100_half_face": { "type": "integer", "minimum": 0 },
                "boot_covers_pairs": { "type": "integer", "minimum": 0 },
                "emissions_kg_co2e": { "type": "number", "minimum": 0 }
              }
            },
            "containment_materials": {
              "type": "object",
              "properties": {
                "poly_sheeting_meters": { "type": "number", "minimum": 0 },
                "zipper_doors_units": { "type": "integer", "minimum": 0 },
                "hepa_filters_replaced": { "type": "integer", "minimum": 0 },
                "emissions_kg_co2e": { "type": "number", "minimum": 0 }
              }
            },
            "replacement_materials": {
              "type": "array",
              "description": "Installed replacement building materials, if reconstruction is within contractor scope.",
              "items": {
                "type": "object",
                "required": ["material_type", "quantity_kg"],
                "properties": {
                  "material_type": {
                    "type": "string",
                    "enum": ["drywall_standard", "drywall_moisture_resistant", "insulation_fiberglass", "insulation_mineral_wool", "lumber_framing", "carpet", "lvp_flooring", "tile_ceramic", "other"]
                  },
                  "quantity_kg": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_kg": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total materials emissions in kg CO2e. Sum of chemicals, PPE, containment, and replacement materials."
            }
          }
        },
    
        "waste": {
          "type": "object",
          "required": ["calculation_method", "waste_streams"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_manifest_weights", "proxy_volume_conversion"],
              "description": "'primary_manifest_weights' = actual weights from disposal manifests. 'proxy_volume_conversion' = volume estimates converted to weight using RCP standard densities."
            },
            "waste_streams": {
              "type": "array",
              "minItems": 1,
              "items": {
                "type": "object",
                "required": ["waste_type", "disposal_method", "quantity_short_tons"],
                "properties": {
                  "waste_type": {
                    "type": "string",
                    "enum": ["cd_debris_mixed", "drywall_gypsum", "wood_debris", "contaminated_water", "regulated_hazmat", "biohazardous_waste", "ppe_disposable", "other"]
                  },
                  "disposal_method": {
                    "type": "string",
                    "enum": ["landfill", "recycling", "hazmat_incineration", "wastewater_municipal", "wastewater_licensed_facility", "other"]
                  },
                  "disposal_facility": {
                    "type": "string",
                    "description": "Optional. Name or identifier of disposal facility."
                  },
                  "quantity_short_tons": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Weight of waste in US short tons."
                  },
                  "haul_miles_one_way": {
                    "type": "number",
                    "minimum": 0,
                    "description": "Optional. One-way distance to disposal facility in miles. Used to calculate haul transport emissions."
                  },
                  "emission_factor_tco2e_per_short_ton": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total waste disposal emissions in kg CO2e."
            }
          }
        },
    
        "demolished_materials": {
          "type": "object",
          "required": ["calculation_method"],
          "properties": {
            "calculation_method": {
              "type": "string",
              "enum": ["primary_demolition_records", "proxy_affected_area"],
              "description": "'primary_demolition_records' = actual weights from demolition scope. 'proxy_affected_area' = RCP standard weight-per-sqft by material type."
            },
            "materials_removed": {
              "type": "array",
              "items": {
                "type": "object",
                "required": ["material_type", "quantity_kg"],
                "properties": {
                  "material_type": {
                    "type": "string",
                    "enum": ["drywall_standard", "drywall_moisture_resistant", "insulation_fiberglass", "insulation_mineral_wool", "lumber_framing", "carpet", "lvp_flooring", "tile_ceramic", "concrete", "other"]
                  },
                  "quantity_kg": { "type": "number", "minimum": 0 },
                  "emission_factor_kg_co2e_per_kg": { "type": "number" },
                  "emissions_kg_co2e": { "type": "number", "minimum": 0 }
                }
              }
            },
            "total_emissions_kg_co2e": {
              "type": "number",
              "minimum": 0,
              "description": "Total demolished materials emissions in kg CO2e."
            }
          }
        },
    
        "data_quality": {
          "type": "object",
          "description": "Optional but strongly recommended. Documents data sources and proxy usage for audit purposes.",
          "properties": {
            "preparer_name": { "type": "string" },
            "preparer_date": { "type": "string", "format": "date" },
            "primary_data_points": {
              "type": "array",
              "description": "List of data points captured from primary sources.",
              "items": {
                "type": "string",
                "enum": [
                  "vehicle_mileage_gps",
                  "vehicle_mileage_odometer",
                  "fuel_consumed_recorded",
                  "equipment_kwh_metered",
                  "waste_weight_manifest",
                  "materials_purchase_records",
                  "demolition_scope_documented"
                ]
              }
            },
            "proxy_data_points": {
              "type": "array",
              "description": "List of data points estimated using RCP proxy values.",
              "items": {
                "type": "string",
                "enum": [
                  "vehicle_mileage_estimated",
                  "fuel_consumed_proxy_mpg",
                  "equipment_kwh_proxy_wattage",
                  "waste_weight_estimated",
                  "ppe_consumption_standard_rate",
                  "materials_proxy_sqft"
                ]
              }
            },
            "notes": {
              "type": "string",
              "description": "Free-text field for data quality notes, exceptions, or unusual circumstances."
            }
          }
        }
      }
    }

    Minimal Valid Record Example

    The following is the smallest valid RCP-JCR-1.0 JSON object — all required fields populated, optional fields omitted. This represents a simple water damage job with proxy-based calculations:

    {
      "schema_version": "RCP-JCR-1.0",
      "generated_at": "2026-04-11T09:00:00Z",
    
      "job_identification": {
        "contractor_name": "Acme Restoration LLC",
        "job_id": "JOB-2026-04847",
        "client_name": "Westfield Properties Inc.",
        "property_address": {
          "street": "1200 Commerce Blvd",
          "city": "Sacramento",
          "state": "CA",
          "zip": "95814"
        },
        "job_type": "water_damage",
        "damage_category": "2",
        "damage_class": "3",
        "affected_area_sqft": 2400,
        "job_start_date": "2026-03-14",
        "job_completion_date": "2026-03-22",
        "reporting_standard": "Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard",
        "egrid_subregion": "WECC"
      },
    
      "emissions_summary": {
        "total_job_emissions_tco2e": 1.84,
        "category_1_materials_tco2e": 0.09,
        "category_4_transportation_tco2e": 0.89,
        "category_5_waste_tco2e": 0.70,
        "category_12_demolished_materials_tco2e": 0.16
      },
    
      "transportation": {
        "calculation_method": "proxy_mileage",
        "vehicle_trips": [
          {
            "vehicle_type": "light_truck",
            "fuel_type": "diesel",
            "round_trips": 4,
            "round_trip_miles": 47,
            "emissions_kg_co2e": 189,
            "trip_purpose": "response"
          },
          {
            "vehicle_type": "equipment_trailer",
            "fuel_type": "diesel",
            "round_trips": 2,
            "round_trip_miles": 47,
            "emissions_kg_co2e": 151,
            "trip_purpose": "equipment_delivery"
          },
          {
            "vehicle_type": "dump_truck",
            "fuel_type": "diesel",
            "round_trips": 1,
            "round_trip_miles": 22,
            "emissions_kg_co2e": 50,
            "trip_purpose": "waste_haul"
          }
        ],
        "total_vehicle_miles": 470,
        "total_emissions_kg_co2e": 390
      },
    
      "materials": {
        "calculation_method": "proxy_job_type_standard",
        "chemicals": [
          {
            "product_type": "antimicrobial",
            "quantity_liters": 12,
            "emission_factor_kg_co2e_per_liter": 2.8,
            "emissions_kg_co2e": 33.6
          }
        ],
        "ppe_disposable": {
          "tyvek_suits": 18,
          "glove_pairs": 36,
          "respirators_n95": 24,
          "emissions_kg_co2e": 45
        },
        "containment_materials": {
          "poly_sheeting_meters": 40,
          "emissions_kg_co2e": 9
        },
        "total_emissions_kg_co2e": 87.6
      },
    
      "waste": {
        "calculation_method": "primary_manifest_weights",
        "waste_streams": [
          {
            "waste_type": "cd_debris_mixed",
            "disposal_method": "landfill",
            "disposal_facility": "Sacramento County Transfer Station",
            "quantity_short_tons": 1.8,
            "haul_miles_one_way": 11,
            "emission_factor_tco2e_per_short_ton": 0.021,
            "emissions_kg_co2e": 37.8
          }
        ],
        "total_emissions_kg_co2e": 37.8
      },
    
      "demolished_materials": {
        "calculation_method": "primary_demolition_records",
        "materials_removed": [
          {
            "material_type": "drywall_standard",
            "quantity_kg": 900,
            "emission_factor_kg_co2e_per_kg": 0.12,
            "emissions_kg_co2e": 108
          },
          {
            "material_type": "carpet",
            "quantity_kg": 180,
            "emission_factor_kg_co2e_per_kg": 5.40,
            "emissions_kg_co2e": 972
          }
        ],
        "total_emissions_kg_co2e": 1080
      },
    
      "data_quality": {
        "preparer_name": "Jane Smith, Operations Manager",
        "preparer_date": "2026-03-22",
        "primary_data_points": ["waste_weight_manifest", "materials_purchase_records"],
        "proxy_data_points": ["vehicle_mileage_estimated", "ppe_consumption_standard_rate"],
        "notes": "Vehicle mileage estimated from dispatch address records. PPE consumption from standard Cat 2, Class 3 rate table."
      }
    }

    Emission Factors Referenced in This Schema

    All emission factors used in RCP-JCR-1.0 calculations are drawn from the RCP Emission Factor Reference Table. The authoritative source for each factor is documented there. The key factors for software implementations:

    • Grid electricity (US national average): 0.3499 kg CO₂e/kWh — EPA eGRID 2023
    • Diesel fuel (mobile combustion): 10.21 kg CO₂e/gallon — EPA 2025 EF Hub
    • Gasoline (mobile combustion): 8.89 kg CO₂e/gallon — EPA 2025 EF Hub
    • Mixed C&D waste, landfill: 0.021 tCO₂e/short ton — EPA WARM v16
    • Drywall production: 0.12 kg CO₂e/kg — EPA WARM v16
    • Carpet (nylon): 5.40 kg CO₂e/kg — DEFRA 2024

    Implementation Notes for Software Developers

    Several implementation patterns are worth noting for platforms building RCP compatibility:

    Field nullability: Optional fields should be omitted entirely when no data is available, not set to null or 0. A missing field is distinguishable from a zero-value field, which matters for audit purposes.

    Calculation_method flags: The calculation_method field in each section is required because it tells the receiving system and verifier whether to trust the numbers at primary-data quality or proxy quality. ESG platforms that ingest RCP JSON should surface this distinction to their users.

    Unit consistency: All emissions totals in emissions_summary are in metric tons CO₂e (tCO₂e). All emissions in sub-sections are in kilograms CO₂e (kg CO₂e). The conversion is 1 tCO₂e = 1,000 kg CO₂e. Software implementations should validate unit consistency at write time.

    eGRID subregion codes: The canonical list of eGRID subregion codes is available from EPA at epa.gov/egrid. The US_AVG code is an RCP extension for cases where the subregion is unknown — it instructs consuming systems to apply the national average factor (0.3499 kg CO₂e/kWh).

    Schema validation: Implementations should validate records against this schema before transmission. Invalid records — missing required fields, wrong data types, enum violations — must not be transmitted as final RCP disclosures.


    Versioning and Backwards Compatibility

    The schema_version field is used by consuming systems to identify which version of the RCP schema a record was produced under. RCP v2.0 will introduce a new schema version string and may add fields not present in v1.0. All v1.0 records remain valid and will be processed by systems that implement backwards compatibility for RCP-JCR-1.0. No fields will be removed between minor versions; only additions are permitted.

    The current schema is published at: tygartmedia.com/rcp/schema/v1.0/job-carbon-report.json


    Sources and References


  • RCP Proxy Estimation Guide: How to Calculate When Primary Data Is Missing

    RCP Proxy Estimation Guide: How to Calculate When Primary Data Is Missing

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    The RCP requires 12 data points per job. In practice, some of those data points will be unavailable — particularly for historical jobs being calculated retrospectively, or for field situations where documentation wasn’t captured as completely as the standard requires. The proxy estimation methodology provides documented substitution methods that produce defensible, auditor-acceptable estimates when primary data is missing.

    Key principle: A documented estimate with a stated assumption is always preferable to a blank field in an RCP report. ESG auditors understand that emissions calculation involves uncertainty — what they require is transparency about where estimation was used and what the basis of that estimation was. Undocumented guesses are not acceptable. Documented proxies are.

    Data Quality Tiers

    The RCP uses three data quality tiers, consistent with GHG Protocol Scope 3 guidance:

    Tier Description Audit Acceptability
    Tier 1 — Primary measured data Actual measurements from job records: GPS mileage, disposal facility receipts with weights, materials purchase orders by job Highest — preferred for all data points
    Tier 2 — Primary estimated data Calculated from documented job parameters using RCP proxy methods: affected area × consumption rate, crew size × duration × unit rate Acceptable — must document calculation method and basis
    Tier 3 — Spend-based / invoice-based proxy Dollar amount × industry average emission factor — the fallback of last resort Lowest — use only when no job-specific data is available; flag prominently in data quality notes

    Proxy Methods by Data Point

    Data Point 1 — Vehicle Mileage (Transportation)

    Primary source: GPS fleet tracking data, dispatch records, driver logs.

    Proxy method: Use Google Maps or equivalent mapping tool to calculate round-trip distance from your facility (or prior job address for multi-stop days) to the job site. Multiply by the number of crew trips documented in time records or invoices. This is a Tier 2 estimate.

    Default proxy (Tier 3, last resort): Industry average mobilization distance for restoration contractors is 22 miles one-way (44 miles round trip). Apply this default only when no address or routing information is available. Note as Tier 3 estimate in data quality section.

    Data Point 2 — Waste Transport Mileage

    Primary source: Waste manifests and hauler receipts (these typically include origin and destination).

    Proxy method: Use the distance from the job site to the nearest licensed disposal facility of the appropriate type (standard C&D landfill, licensed ACM facility, medical waste facility). Use online waste facility directories (EPA RCRA Info for hazmat, state environmental agency databases for C&D landfills) to identify the nearest appropriate facility.

    Default proxies by facility type (Tier 3): Standard C&D landfill: 18 miles. Licensed ACM facility: 60 miles. Licensed PCB incineration: 150 miles. Medical waste facility: 55 miles.

    Data Point 3 — Equipment Power Source

    Primary source: Job documentation noting whether equipment ran on building power or contractor generator; generator fuel logs.

    Proxy method: Default assumption is building electrical supply unless your company policy or the job type (remote location, building power unavailable) indicates otherwise. Note the assumption explicitly. If generator use is suspected but not documented, use the following generator fuel proxy: standard drying equipment setup (3 dehumidifiers + 6 air movers) consuming approximately 2.5 gallons of diesel per 8-hour shift × number of drying days × 10.21 kg CO2e per gallon diesel.

    Data Points 4–5 — Chemical Treatments and PPE Consumption

    Application rate proxies by job type and surface type:

    Job Type / Surface Antimicrobial Rate Tyvek Suits per Tech per Day Glove Pairs per Tech per Day N95/P100 per Tech per Day
    Cat 1 water — porous surfaces 0.008 L/sq ft 0.5 2 0.5
    Cat 2 water — porous surfaces 0.015 L/sq ft 1.0 3 1.0
    Cat 3 water — porous surfaces 0.025 L/sq ft (×2 applications) 2.0 5 2.0
    Mold Condition 3 — first application 0.020 L/sq ft 2.0 4 1.5
    Mold Condition 3 — second application 0.015 L/sq ft 2.0 4 1.5
    Fire — smoke cleaning (chemical sponge + cleaner) 1 sponge per 50 sq ft + 0.010 L/sq ft cleaner 1.5 4 1.5
    Hazmat abatement (Level C, standard exit protocol) N/A (wetting agent: 0.003 L/sq ft ACM) 3.0 (full replacement each exit) 6 2 pairs OV/P100
    Biohazard Level C 0.025 L/sq ft × 2 applications 3.0 (full replacement each exit) 6 2 pairs OV/P100
    Biohazard Level B (decomposition) 0.025 L/sq ft × 2 applications 3.0 Level B full-suit (replace each exit) 6 Supplied air — 0 disposable

    Data Point 6 — Containment Materials

    Proxy method: Standard containment for a single affected room (standard ceiling height 8–10 ft): perimeter of affected area (linear feet) × ceiling height × 1.2 (overlap factor) = m² of poly sheeting. For compartmentalized commercial spaces, add 20 m² per additional doorway or penetration point.

    Zipper doors: 1 per entry/exit point, typically 2 per contained area (entry + equipment pass-through).

    Data Points 7–8 — Waste Volume and Disposal

    Volume proxy: Use weight estimation proxies from the RCP Emission Factor Reference Table (drywall at 2.5 lbs/sq ft, carpet at 3.0 lbs/sq ft, etc.) applied to the demolished area documented in job scope records.

    Disposal method proxy: If disposal facility type is unknown, apply default based on material type: standard C&D for non-contaminated demolition debris, regulated C&D or hazmat for contaminated materials (see Table 3 in the Emission Factor Reference).

    Data Points 9–10 — Demolished and Installed Materials

    Proxy method: Calculate from demolition scope records (affected area by room, material type documented in scope of work or Xactimate/Symbility estimate). Weight estimation proxies apply as above. For installed materials in reconstruction phase, use square footage from scope-of-work documentation and apply standard weight proxies.

    Documenting Proxy Use in Your RCP Report

    Every proxy estimate must be documented in the data quality section of the per-job carbon report. The format for documenting a proxy is: [Data point name]: [Tier 2 or 3 estimate]. [Brief description of proxy method]. [Source of proxy rate or assumption].

    Example: “Vehicle mileage: Tier 2 estimate. Round-trip distance calculated using Google Maps from company facility to job site address (44 miles RT × 4 crew trips). Crew trip count from job invoices. Source: RCP proxy method P-4-1.”

    Example: “PPE consumption: Tier 2 estimate. Cat 3 water damage standard consumption rate applied (2.0 Tyvek/tech/day, 5 glove pairs/tech/day) per RCP Table A-5. Actual PPE not tracked separately on this job.”

    Can a per-job carbon report with all Tier 2 estimates be used in GRESB reporting?

    Yes. GRESB accepts primary data at various quality levels, including documented estimates. A Tier 2 estimate is primary data (not spend-based estimation) and is acceptable. The data quality notation in the RCP report demonstrates that you have applied documented methodology rather than guessing, which is what auditors need to see.

    What is the margin of error typical for Tier 2 proxy estimates?

    Typical uncertainty range for Tier 2 RCP estimates is ±20–35% relative to primary measured data. This compares favorably to spend-based estimation (Tier 3), which typically has ±50–100% uncertainty for restoration work due to the high variability of job type, scope, and emission profile at equivalent invoice amounts.

    Should you disclose the uncertainty range in the per-job carbon report?

    The RCP does not require quantified uncertainty ranges in the per-job report, but noting that Tier 2 estimates were used in the data quality section effectively communicates to auditors that the figure carries inherent estimation uncertainty. For clients whose ESG consultants or auditors specifically request uncertainty ranges, use the guidance values above (±20–35% for Tier 2).


  • RCP Emission Factor Reference Table: All Values in One Place

    RCP Emission Factor Reference Table: All Values in One Place

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    This reference table consolidates all emission factors used in Restoration Carbon Protocol calculations. It is the lookup document you use when completing a per-job carbon report — every factor needed for Categories 1, 4, 5, and 12 across all five job types is in this table, with source citations for audit purposes.

    Version: RCP v1.0 | Factor vintage: EPA 2024, DEFRA 2024, EPA WARM v16 | Units: All values in kg CO2e unless noted as tCO2e

    Table 1: Category 4 — Vehicle Transportation

    Vehicle Type Fuel kg CO2e per mile Source
    Passenger car Gasoline 0.355 EPA Table 2, Mobile Combustion 2024
    Light-duty truck / work van (under 8,500 lbs GVWR) Gasoline 0.503 EPA Table 2, Mobile Combustion 2024
    Light-duty truck / cargo van Diesel 0.523 EPA Table 2, Mobile Combustion 2024
    Medium-duty truck / equipment trailer (8,500–26,000 lbs GVWR) Diesel 1.084 EPA Table 2, Mobile Combustion 2024
    Heavy-duty truck — unloaded (26,000+ lbs GVWR) Diesel 1.612 EPA Table 2, Mobile Combustion 2024
    Heavy-duty truck — loaded (waste hauling, C&D) Diesel 2.25 EPA Table 2 + load factor adjustment
    Licensed hazmat waste hauler (ACM, lead, general hazmat) Diesel 3.20 EPA Table 2 + hazmat vehicle premium
    Licensed hazmat hauler (PCB, high-hazard specialty) Diesel 3.80 EPA Table 2 + specialty vehicle premium
    Medical waste hauler (biohazard) Diesel 2.80 EPA Table 2 + medical waste vehicle
    Pack-out truck (contents restoration) — loaded Diesel 2.25 EPA Table 2 + load factor
    Pack-out truck — empty (return trip) Diesel 1.612 EPA Table 2 — unloaded heavy

    Table 2: Category 1 — Materials

    Chemical Treatments

    Material Unit kg CO2e per unit Source
    Quaternary ammonium antimicrobial / biocide (liquid) Liter 2.8 EPA EEIO — Chemical manufacturing sector
    Hydrogen peroxide-based antimicrobial/biocide Liter 1.9 EPA EEIO — Chemical manufacturing sector
    Borax-based mold treatment kg 1.1 EPA EEIO — Inorganic chemical manufacturing
    Hospital-grade disinfectant (EPA-registered) Liter 2.8 EPA EEIO — Chemical manufacturing sector
    Enzyme biological digester / deodorizer Liter 1.6 EPA EEIO — Specialty chemical manufacturing
    Encapsulant / smoke-blocking primer Gallon 4.2 EPA EEIO — Paint and coatings manufacturing
    Thermal fogging agent Liter 2.1 EPA EEIO — Chemical manufacturing sector
    Desiccant drying agent (silica gel) kg 1.4 EPA EEIO — Chemical manufacturing sector
    Wetting agent / amended water (surfactant for ACM) Liter 1.4 EPA EEIO — Chemical manufacturing sector
    Dry ice (CO2 pellets for blast cleaning) kg 0.85 EPA EEIO — Industrial gas manufacturing

    Personal Protective Equipment

    PPE Item Unit kg CO2e per unit Source
    Disposable Tyvek suit (Level C) Each 1.2 EPA EEIO — Apparel manufacturing
    Level B full encapsulating suit Each 3.0 EPA EEIO — Apparel/specialty manufacturing
    Level C PPE full kit (Tyvek + gloves + goggles + boot covers) Kit 1.8 Composite of individual items
    Level B PPE full kit (encapsulating suit + supplied air + gloves) Kit 4.2 Composite of individual items
    Nitrile gloves (pair) Pair 0.3 EPA EEIO — Rubber and plastics manufacturing
    N95 respirator (disposable) Each 0.4 EPA EEIO — Medical equipment manufacturing
    Half-face respirator, P100 cartridges (pair) Pair 0.8 EPA EEIO — Medical equipment manufacturing
    Full-face respirator cartridges (pair) Pair 1.2 EPA EEIO — Medical equipment manufacturing
    Boot covers (pair) Pair 0.15 EPA EEIO — Rubber and plastics

    Containment and Filtration

    Material Unit kg CO2e per unit Source
    6-mil polyethylene sheeting 0.55 EPA EEIO — Plastics product manufacturing
    4-mil polyethylene sheeting 0.37 EPA EEIO — Plastics product manufacturing
    Double-layer 6-mil containment (hazmat/biohazard) 1.10 2× single-layer factor
    Zipper door — disposable Each 1.8 EPA EEIO — Plastics/hardware
    Zipper door — reusable (amortized over 20 uses) Use 0.09 1.8 ÷ 20 uses
    HEPA filter — air scrubber (standard) Each 3.2 EPA EEIO — Industrial machinery manufacturing
    HEPA vacuum bag (commercial grade) Each 0.4 EPA EEIO — Paper/plastics manufacturing
    Biohazard bag — 33-gallon red (medical waste) Each 0.65 EPA EEIO — Medical plastics manufacturing
    ACM disposal bag — 6-mil labeled (33-gallon) Each 0.55 EPA EEIO — Plastics product manufacturing
    Sharps disposal container (1-gallon) Each 0.35 EPA EEIO — Plastics/medical equipment
    Glove bag (pipe insulation removal) Each 0.85 EPA EEIO — Plastics product manufacturing

    Table 3: Category 5 — Waste Disposal

    Waste Type Disposal Method tCO2e per ton Source
    Standard C&D debris (non-hazardous mixed) Landfill 0.16 EPA WARM v16
    Cat 2 water-contaminated porous materials Standard landfill 0.18 EPA WARM + contamination premium
    Cat 3 sewage-contaminated materials Regulated C&D landfill 0.22 EPA WARM + regulated disposal
    Smoke-contaminated C&D debris (standard) Standard landfill 0.16 EPA WARM v16
    Smoke-contaminated C&D (regulated facility) Licensed C&D landfill 0.20 EPA WARM + transport premium
    Mold-contaminated porous materials Standard landfill (most jurisdictions) 0.18 EPA WARM + contamination premium
    Friable ACM (pipe insulation, spray fireproofing) Licensed hazmat landfill 0.42 EPA WARM + licensed facility + transport
    Non-friable ACM (floor tiles, roofing, joint compound) Licensed C&D with ACM cell 0.28 EPA WARM + regulated C&D transport
    Lead paint debris (TCLP-classified hazardous) Licensed hazmat landfill 0.38 EPA WARM + hazmat transport
    PCB-containing materials ≥50 ppm Licensed PCB incineration 1.85 EPA hazardous waste incineration factors
    PCB-containing materials <50 ppm Licensed landfill 0.22 EPA WARM + transport premium
    Mercury-containing lamps/thermostats Mercury recycler 0.15 EPA WARM — recycling credit offset
    Regulated medical/biohazard waste (standard) Autoclave + licensed landfill 0.55 EPA medical waste treatment factors
    High-pathogen biohazard waste High-temperature incineration 0.85 EPA hazardous waste incineration factors
    Sharps waste Sharps autoclave or incineration 0.65 EPA medical waste — sharps category
    Contaminated water (Cat 3, to wastewater treatment) Municipal wastewater treatment 0.000272 per liter EPA WARM v16 — wastewater treatment
    Disposable PPE — standard Standard landfill 0.25 EPA WARM — mixed plastics
    Disposable PPE — hazmat-contaminated Licensed hazmat or medical waste landfill 0.30–0.55 Apply appropriate hazmat or medical waste factor

    Table 4: Category 12 — Demolished Building Materials

    Material tCO2e per ton (landfill) tCO2e per ton (recycled) Source
    Gypsum drywall (1/2″) 0.16 0.02 EPA WARM v16
    Dimensional lumber / wood framing -0.07 -0.15 EPA WARM v16 — carbon storage credit
    OSB sheathing -0.05 -0.12 EPA WARM v16 — carbon storage credit
    Carpet + pad (standard residential/commercial) 0.33 0.05 EPA WARM v16
    Hardwood flooring -0.12 -0.18 EPA WARM v16 — carbon storage credit
    Vinyl / LVP flooring 0.28 0.08 EPA WARM v16 — plastics category
    Ceramic / porcelain tile 0.04 0.01 EPA WARM v16 — inert material
    Fiberglass batt insulation 0.33 0.05 EPA WARM v16
    Cellulose insulation (spray or loose-fill) 0.06 -0.02 EPA WARM v16
    Spray polyurethane foam insulation (SPF) 0.72 N/A EPA WARM v16 — plastics category
    Acoustic ceiling tiles (standard) 0.12 0.03 EPA WARM v16 — ceiling tile category
    Structural steel (demolished) -0.85 -0.95 EPA WARM v16 — steel recycling credit
    Copper pipe / wiring -0.45 -0.60 EPA WARM v16 — copper recycling credit
    Aluminum (ductwork, framing) -1.20 -1.45 EPA WARM v16 — aluminum recycling credit (high value)

    Weight Estimation Proxies

    When disposal receipts are not available, use these weight proxies to estimate demolished material tonnage:

    Material Weight per sq ft (installed, dry) Notes
    1/2″ gypsum drywall 2.5 lbs Use dry weight, not post-water-damage wet weight
    5/8″ gypsum drywall (Type X) 3.1 lbs Common in commercial construction
    Carpet + pad (residential) 3.0 lbs Including pad and tack strips
    Carpet + pad (commercial, glue-down) 2.2 lbs Heavier carpet, no pad
    LVP / vinyl plank flooring 2.8 lbs Including underlayment
    Ceramic tile (floor, 3/8″) 4.5 lbs Including thin-set mortar
    Acoustic ceiling tiles (2’×2′ standard) 1.8 lbs Mineral fiber type
    Fiberglass batt insulation (3.5″ R-13) 0.5 lbs Per sq ft of coverage area
    Dimensional lumber 2×4 wall framing (per linear foot of wall) 4.0 lbs Assumes 16″ OC framing in 8-ft walls
    Non-friable ACM floor tile (9″×9″) 4.0 lbs Including mastic adhesive

    How often will this reference table be updated?

    The RCP emission factor reference table will be updated annually following the release of updated EPA WARM, EPA Mobile Combustion, and DEFRA databases. Version numbers are included in the table header — always cite the version used in your per-job carbon report data quality notes.

    What if I need an emission factor for a material not in this table?

    First check EPA WARM v16 directly (available free at epa.gov/warm). Second, check the EPA EEIO database for the relevant industry sector. Third, check DEFRA’s Conversion Factors for Company Reporting. If none of these sources contain the specific material, use the closest proxy category and document the substitution in your data quality notes.

    Are these factors suitable for use in EU CSRD reporting?

    EPA and EPA WARM factors are US-specific but are accepted in most international ESG frameworks when accompanied by clear source citation. For EU CSRD reporting specifically, DEFRA factors (UK) or OECD emission factors may be preferred by auditors for non-US operations. The RCP will publish a DEFRA-specific factor table in a future supplement for EU-applicable reporting contexts.


    Table 6: Refrigerant GWP Values — IPCC AR6 Update

    The Global Warming Potential values for refrigerants used in restoration drying equipment have been updated under IPCC Sixth Assessment Report (AR6, 2021). AR6 GWP-100 values are 14–18% higher than AR5 for the HFCs commonly found in LGR dehumidifiers. RCP v1.0 uses AR6 values for refrigerant-related calculations. The EPA AIM Act continues to use AR4 values for regulatory compliance; UNFCCC/Paris reporting uses AR5. When delivering data to clients, disclose which GWP vintage was used.

    Refrigerant Common use in restoration AR5 GWP-100 AR6 GWP-100 Change
    R-410A (HFC-32/125 blend) Most current LGR dehumidifiers ~1,924 ~2,256 +17.3%
    R-32 (HFC-32) Dri-Eaz LGR 6000i; newer units 677 771 +13.9%
    R-454B (HFC-32/HFO-1234yf blend) Next-gen low-GWP units ~467 ~530 +13.5%
    HFC-134a (R-134a) Older residential dehumidifiers 1,300 1,530 +17.7%

    Source: IPCC AR6 WG1, Chapter 7, Table 7.SM.7 (2021). EPA Technology Transitions GWP Reference Table.


    Table 7: EPA eGRID 2023 — Subregional Emission Factors for Major Restoration Markets

    The national average grid factor (0.3497 kg CO₂e/kWh, eGRID 2023) used as the RCP default understates or overstates electricity emissions significantly depending on where equipment is operated. Using location-specific subregion factors improves data quality for clients in GRESB, SBTi, and CSRD reporting contexts.

    Use the subregion factor for the state/metro where the job was performed, not where the contractor’s facility is located.

    eGRID Subregion Primary coverage kg CO₂e/kWh vs. RCP default (0.3499)
    NYUP Upstate New York 0.1101 -68.5%
    CAMX California / Western US 0.1950 -44.3%
    NEWE New England 0.2464 -29.6%
    ERCT Texas (ERCOT) 0.3341 -4.5%
    US Average National default (RCP v1.0) 0.3497 Baseline
    FRCC Florida 0.3560 +1.7%
    SRSO Southeast (excluding FL) 0.3837 +9.7%
    NYCW NYC and Westchester 0.3927 +12.2%

    Source: EPA eGRID2023 Summary Tables Rev 2 (published March 2025). Full subregion table available at epa.gov/egrid. A California restoration contractor using the national average overstates electricity emissions by 44%; a Florida contractor understates by 1.7%. The difference is largest for multi-week jobs with sustained equipment energy consumption.


    Table 8: PPE and Consumables — LCA-Sourced Per-Unit Emission Factors

    The EPA EEIO proxies in Table 2 are sector-level estimates. The following values are sourced from published lifecycle assessments and Environmental Product Declarations for specific product types. Use these in place of the EEIO values where the product type matches.

    Item Unit kg CO₂e Source vs. EEIO proxy
    Nitrile glove (3.5g, size M) Each 0.0277 Top Glove LCA 2024, SATRA-verified -82% vs. EEIO pair proxy
    Nitrile glove pair Pair 0.0554 Top Glove LCA 2024 -82% vs. current 0.3 EEIO
    N95 respirator (disposable) Each 0.05 Springer Env. Chem. Letters 2022 -88% vs. current 0.4 EEIO
    DuPont Tyvek 400 coverall (180g HDPE) Each 0.40–0.63 Estimated: 180g × 2.2–3.5 kg CO₂e/kg HDPE -47–65% vs. current 1.2 EEIO
    LVP/LVT flooring (Shaw EcoWorx) 5.2 Shaw Contract EcoWorx Resilient EPD 2023 Consistent with WARM v16 plastics
    Ceramic tile (standard) kg 0.78 ICE Database v3.0 (University of Bath) More granular than WARM v16 inert
    Ready-mix concrete (30 MPa) kg 0.13 ICE Database v3.0 132 kg CO₂e/m³
    Polyethylene LDPE sheeting kg 1.793 DEFRA 2024 (closed-loop recycling scenario) Use as proxy for virgin LDPE sheeting
    H₂O₂ antimicrobial (active ingredient) kg active 1.33 ACS Omega 2025 (anthraquinone process) Lower than EEIO chemical proxy

    Note on Tyvek: DuPont has not published an independent lifecycle assessment for standard Tyvek 400 coveralls. The value above is estimated from HDPE production emission factors. DuPont has commissioned an LCA for Tyvek 500 Xpert BioCircle (a recycled-content variant) claiming 58% reduction versus standard Tyvek, which implies a quantified baseline exists internally. The RCP will update this value if DuPont publishes the underlying LCA data.

    Note on nylon carpet (DEFRA 2024): The DEFRA 2024 value of 5.40 kg CO₂e/kg for nylon carpet should be verified against the actual DEFRA 2024 full spreadsheet to confirm whether this represents virgin nylon production or a closed-loop recycling scenario. DEFRA 2024 uses AR5 GWP values throughout.


    Factor Vintage and GWP Basis: Version Disclosure

    RCP v1.0 uses the following factor vintages:

    • Electricity: EPA eGRID 2023 (published March 2025)
    • Mobile combustion / vehicle fuels: EPA 2025 Emission Factors Hub
    • Waste disposal: EPA WARM v16
    • Refrigerant GWPs: IPCC AR6 (2021)
    • Materials (non-EEIO): ICE Database v3.0, EPD-sourced, DEFRA 2024
    • Materials (EEIO proxy): EPA USEEIO v2.0
    • GWP basis: AR6 GWP-100 for refrigerants; AR5 GWP-100 for all other gases (consistent with EPA GHG Inventory basis)

    When factors are updated in patch releases, the factor vintage table updates accordingly. All RCP Job Carbon Reports should reference the schema_version field (RCP-JCR-1.0) which implicitly references the factor table version used at calculation time. For year-over-year comparisons, use the same factor vintage across both years unless a major correction justifies restating prior-year figures.


  • RCP and KnowHow: How the Internal and External Knowledge Stacks Work Together

    RCP and KnowHow: How the Internal and External Knowledge Stacks Work Together

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    The restoration industry is developing two parallel knowledge infrastructure plays simultaneously, and they are more complementary than they might appear at first.

    KnowHow — the AI-powered operational knowledge platform — solves the internal problem: capturing what your best people know, making it accessible to every team member, and ensuring institutional knowledge doesn’t walk out the door when someone leaves. It makes your operational playbook consistent, scalable, and resilient to turnover.

    The Restoration Carbon Protocol solves the external problem: structuring your operational data — specifically the emissions data generated by your work — in a format that commercial clients can use in their ESG disclosures. It makes your environmental footprint visible, consistent, and credible to institutional clients who need it for their own reporting obligations.

    Where the Two Stacks Connect

    The connection point is job documentation. KnowHow helps your crew follow consistent protocols — which means the data generated during a job (materials used, waste generated, work performed) is more consistent and reliably captured. That consistency directly benefits RCP data quality. When crews follow a KnowHow-documented protocol for Category 3 water damage mitigation, the resulting data consistency makes the RCP calculation for that job more reliable.

    In the other direction: RCP creates external accountability for the quality of your internal processes. When you’re producing per-job carbon reports for commercial clients that may be reviewed by ESG auditors, the incentive to maintain rigorous job documentation increases. External reporting requirements are one of the most effective drivers of internal data discipline.

    The Two-Layer Architecture

    Layer 1 — Internal (KnowHow): Operational SOPs, job protocols, training materials, quality standards. Purpose: consistent execution, scalable training, knowledge retention. Audience: your team. Knowledge stays inside your organization.

    Layer 2 — External (RCP): Per-job carbon data, client-facing reports, ESG vendor profiles, methodology documentation. Purpose: commercial client ESG compliance, preferred vendor status, market differentiation. Audience: commercial clients, their auditors, government contracting officers. Knowledge flows outward in structured, client-usable form.

    Neither layer replaces the other. A contractor with excellent internal processes (Layer 1) but no external reporting capability (Layer 2) has a good operation that commercial clients can’t verify. A contractor with RCP reporting capability (Layer 2) but inconsistent internal processes (Layer 1) has credibility problems — the external reports may not reflect consistent underlying reality. The competitive position that’s hard to replicate is both layers, built deliberately, operating together.

    Does KnowHow integration with RCP require a technical connection between the platforms?

    Not currently. The integration is conceptual — KnowHow documents the protocols, crews follow them, and resulting data consistency benefits RCP calculations. Future integration could include RCP data capture fields within KnowHow’s job documentation workflows.

    Which should a contractor implement first?

    Either order works. If internal processes are inconsistent, KnowHow first — consistent processes make RCP data more reliable. If processes are consistent but no external reporting capability exists, RCP first — the commercial client relationship benefit is more immediately visible. Both are worth pursuing regardless of order.

    Are there other knowledge platforms comparable to KnowHow?

    General knowledge management platforms (Notion, Confluence, Process Street) can serve the same internal documentation purpose with more configuration effort. The RCP is compatible with any internal knowledge management approach — it’s agnostic to which platform captures and delivers your operational SOPs.


  • The RCP Job Carbon Report: Template, Fields, and Example Values

    The RCP Job Carbon Report: Template, Fields, and Example Values

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    The RCP Job Carbon Report is the output document restoration contractors provide to commercial clients for their Scope 3 ESG disclosures. It is designed to be completed at job close-out using data captured during the job — not reconstructed after the fact, not requiring an external consultant. The template below defines each field and provides example values from a Category 2, Class 3 water damage job at a commercial office building.

    Section 1: Job Identification

    Contractor name | Job ID | Client name | Property address | Job type | Damage classification | Affected area (sq ft) | Job start date | Job completion date | Reporting standard: “Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard”

    Example: Acme Restoration LLC | JOB-2026-04847 | Westfield Properties Inc. | 1200 Commerce Blvd, Sacramento CA | Water Damage Mitigation | Category 2, Class 3 | 2,400 sq ft | 2026-03-14 | 2026-03-22

    Section 2: Emissions Summary

    Total Job Emissions: 1.84 tCO2e | Category 1 (Materials): 0.09 tCO2e | Category 4 (Transportation): 0.89 tCO2e | Category 5 (Waste): 0.70 tCO2e | Category 12 (Demolished materials): 0.16 tCO2e

    Section 3: Category 4 — Transportation Calculation

    2 light trucks × 47 mi round trip × 4 trips = 376 vehicle-miles → 376 × 0.503 kg CO2e/mi = 189 kg CO2e
    1 equipment trailer × 47 mi × 2 trips = 94 vehicle-miles → 94 × 1.612 kg CO2e/mi = 151 kg CO2e
    1 dump truck to landfill × 22 mi × 1 trip → 22 × 2.25 kg CO2e/mi = 50 kg CO2e
    Equipment power source: building electrical supply (Scope 2 — not included)
    Category 4 Subtotal: 390 kg CO2e = 0.39 tCO2e

    Section 4: Category 1 — Materials Calculation

    Antimicrobial treatment: 12 liters × 2.8 kg CO2e/liter = 34 kg CO2e
    Disposable PPE (18 Tyvek, 36 glove pairs, 24 N95): estimated 45 kg CO2e (standard rate Cat 2)
    Containment materials: 40m poly sheeting → 40 × 0.22 kg CO2e/m = 9 kg CO2e
    Category 1 Subtotal: 88 kg CO2e = 0.09 tCO2e

    Section 5: Category 5 — Waste Calculation

    C&D debris (wet drywall, flooring): 1.8 tons → 1.8 × 0.16 tCO2e/ton = 0.29 tCO2e
    Disposable PPE and consumables: 0.08 tons → 0.08 × 0.25 tCO2e/ton = 0.02 tCO2e
    Contaminated water: 0 liters (Cat 2, extracted water discharged to building drain — property owner’s municipal utility)
    Category 5 Subtotal: 0.31 tCO2e

    Section 6: Category 12 — Demolished Materials

    Wet drywall removed: 1.0 ton → 1.0 × 0.16 tCO2e/ton = 0.16 tCO2e
    Category 12 Subtotal: 0.16 tCO2e

    Section 7: Data Quality Notes

    PPE consumption estimated from standard consumption rate for Category 2, Class 3 commercial job (RCP Table 3A) — actual units not tracked separately on this job. Vehicle mileage from dispatch records. Waste weight from disposal facility receipt dated 2026-03-22. All other data points from primary job records.

    Is the RCP Job Carbon Report a legal document?

    No. It is a technical emissions report for ESG disclosure purposes, similar to an energy audit report. It does not constitute a regulatory filing or create legal liability beyond standard professional services obligations.

    Should the report be signed by the contractor?

    A signature with preparer name and date adds credibility and creates a clear chain of responsibility. Not required by the RCP standard but recommended for clients with third-party verified disclosures.

    Can the report be provided as a structured data file rather than PDF?

    Yes — a CSV or JSON file with the same fields is acceptable and preferred by clients aggregating data across many vendor reports. The RCP will publish a standard data schema for digital delivery as the standard matures.


    Machine-Readable Format: The RCP JSON Record

    The PDF or document version of the Job Carbon Report serves the human reader — the ESG manager reviewing vendor data. The machine-readable version serves the system — the ESG platform, the portfolio carbon database, the GRESB submission tool. Both are valid RCP delivery formats. For commercial clients aggregating data across dozens of contractors and hundreds of jobs per year, JSON is strongly preferred.

    The RCP Job Carbon Report JSON schema (RCP-JCR-1.0) is published at tygartmedia.com/rcp-json-schema-v1-machine-readable-standard/. The schema defines every field name, data type, and valid value. Contractors who want to deliver RCP data digitally should produce JSON that validates against that schema.

    The minimum JSON record for the example job above looks like this — it maps exactly to the seven sections of the document template:

    {
      "schema_version": "RCP-JCR-1.0",
      "job_identification": {
        "contractor_name": "Acme Restoration LLC",
        "job_id": "JOB-2026-04847",
        "client_name": "Westfield Properties Inc.",
        "property_address": { "street": "1200 Commerce Blvd", "city": "Sacramento", "state": "CA", "zip": "95814" },
        "job_type": "water_damage",
        "damage_category": "2",
        "damage_class": "3",
        "affected_area_sqft": 2400,
        "job_start_date": "2026-03-14",
        "job_completion_date": "2026-03-22",
        "reporting_standard": "Restoration Carbon Protocol v1.0, GHG Protocol Corporate Value Chain Standard",
        "egrid_subregion": "WECC"
      },
      "emissions_summary": {
        "total_job_emissions_tco2e": 1.84,
        "category_1_materials_tco2e": 0.09,
        "category_4_transportation_tco2e": 0.89,
        "category_5_waste_tco2e": 0.70,
        "category_12_demolished_materials_tco2e": 0.16
      },
      "data_quality": {
        "preparer_name": "Jane Smith",
        "preparer_date": "2026-03-22",
        "primary_data_points": ["waste_weight_manifest"],
        "proxy_data_points": ["vehicle_mileage_estimated", "ppe_consumption_standard_rate"],
        "notes": "Vehicle mileage from dispatch records. PPE from standard Cat 2/Class 3 rate."
      }
    }

    How Commercial Clients Receive and Use RCP Data

    Understanding how the receiving end processes RCP data helps contractors format and time their delivery correctly. The workflow differs by client type:

    GRESB-reporting clients aggregate contractor Scope 3 data annually for their GRESB Real Estate Assessment submission (typically due in July). They need all vendor data by May or June for the prior calendar year. For these clients, RCP records should be delivered at job close-out and stored — don’t wait for the client to request them. The GRESB-ready delivery format is either a structured CSV with standardized column headers or JSON records that their ESG platform (Measurabl, Deepki, Yardi Elevate, Atrius, or similar) ingests directly.

    CDP Supply Chain program participants send annual questionnaires to their suppliers requesting Scope 3 data. Restoration contractors who receive a CDP Supply Chain questionnaire from a commercial client should be able to pull RCP records for all jobs at that client’s properties during the reporting period and aggregate them into a single portfolio total.

    California SB 253 reporters (companies with California revenues over $1 billion) must report Scope 3 for their 2026 emissions in 2027. Their data collection process is just now being built. Contractors who can deliver machine-readable RCP records position themselves as low-friction vendors in a procurement process that is about to become more carbon-data-intensive.

    LEED O+M certified properties may request contractor emissions data as part of their LEED for Operations and Maintenance documentation. The RCP Job Carbon Report maps directly to the third-party contractor energy and emissions data section of the LEED O+M credit requirements.


    Delivery Timing and Retention Requirements

    The RCP recommends the following delivery and retention standards for Job Carbon Reports:

    • Delivery timing: Within 30 days of job close-out for standard commercial losses. Within 14 days for jobs over $100,000 in scope where the client has indicated ESG reporting needs.
    • Record retention: Contractors should retain all source data (job logs, manifests, GPS records) for a minimum of seven years. ESG disclosures may be subject to third-party verification up to five years after initial reporting.
    • Versioning: If a Job Carbon Report is corrected after initial delivery (e.g., a waste manifest weight is updated), issue a revised report with a version increment and note documenting what changed and why.
    • Format: Both PDF and JSON formats are valid. JSON is preferred for clients using ESG data management platforms. Contractors who cannot produce JSON should at minimum deliver a structured CSV using the RCP field names from the schema.

  • The 12 Data Points Every Restoration Job Ticket Needs for Scope 3 Compliance

    The 12 Data Points Every Restoration Job Ticket Needs for Scope 3 Compliance

    The Agency Playbook
    TYGART MEDIA · PRACTITIONER SERIES
    Will Tygart
    · Senior Advisory
    · Operator-grade intelligence

    The most common objection restoration contractors raise to Scope 3 emissions reporting is that it requires tracking data they don’t have. In most cases, the data exists — it’s just not being retained in a form usable for emissions calculation. The RCP 12-point standard formalizes what every job ticket should contain.

    Group 1: Transportation Data (Category 4)

    Data point 1 — Vehicle log: For each vehicle used (crew vehicles, equipment trailers, pack-out trucks, heavy equipment), record vehicle type, number of round trips to the job site, and round-trip mileage. Source: dispatch records, GPS fleet data, or driver logs.

    Data point 2 — Waste transport log: Separately from crew/equipment transportation, record vehicle type, trips, and mileage for all waste hauling — to landfills, transfer stations, hazmat facilities, or wastewater treatment facilities. Often omitted from job documentation when waste hauling is subcontracted, but emissions belong to the job regardless.

    Data point 3 — Equipment power source: Document whether drying/filtration/processing equipment operated on building electrical supply or contractor-supplied generators. If generators, record fuel type and quantity consumed. Determines whether equipment energy is Scope 2 (building electricity, property owner) or included in contractor’s Scope 3 calculation.

    Group 2: Materials Data (Category 1)

    Data point 4 — Chemical treatments log: Volume of each chemical product applied: antimicrobials (liters by product type), biocides, encapsulants, deodorizing compounds, wetting agents. Can be estimated from square footage and application rate if purchase records are not job-specific.

    Data point 5 — PPE consumption log: Units of disposable PPE consumed: Tyvek suits, gloves (pairs), N95/P100 respirators, boot covers, eye protection. Can be reconstructed from supply orders or estimated from job duration and crew size using standard consumption rates.

    Data point 6 — Containment materials log: Meters of polyethylene sheeting, number of zipper doors installed, HEPA filter media units replaced. Primarily relevant for mold remediation, hazmat abatement, and Category 3 water damage.

    Group 3: Waste Data (Category 5)

    Data point 7 — Debris volume by waste category: Weight or volume by category: standard C&D debris (tons), regulated hazardous materials (tons by type), contaminated water (liters or gallons). Source: disposal facility receipts, dumpster manifests, or tank/extractor volume logs.

    Data point 8 — Disposal method and facility: For each waste category, record the disposal facility used and disposal method (landfill, recycling, hazmat incineration, wastewater treatment). Facility name is sufficient — national average emission factors apply where facility-specific factors are unavailable.

    Group 4: Demolished Materials (Category 12) and Context

    Data point 9 — Demolished materials log by type: Weight of each building material type removed: drywall (tons), flooring by type, insulation by type (tons), wood framing (tons). Source: demolition scope documentation, dumpster weight receipts.

    Data point 10 — Installed replacement materials (reconstruction only): Weight of new building materials installed if reconstruction is within the contractor’s scope. Available from purchase orders or materials delivery receipts.

    Data point 11 — Job classification: Job type, damage category/class, affected area in square feet, building construction type (pre/post-1980 for hazmat assumptions).

    Data point 12 — Job timeline: Start date, completion date, client property identifier. Assigns emissions to the correct reporting year and property for portfolio-level Scope 3 inventory.

    What if some data points are unavailable?

    Use RCP’s proxy estimation methodology — standard consumption rates by job type and damage class. Document which data points were estimated and the basis for each estimate. A documented estimate is far more useful to your client than no data.

    Who should be responsible for capturing these data points?

    Data points 1-3 and 11-12 at the project management level. Data points 4-10 may require field crew input. Designating a data capture owner at job setup and building capture into the close-out checklist is the most reliable approach.

    Can existing job management software capture these data points?

    Most major restoration platforms (ServiceMonster, Xactimate, Jonas) can accommodate these as custom fields. The RCP will publish integration guidance for common platforms as the standard matures.


    What Good vs. Poor Data Capture Looks Like for Each Data Point

    The difference between an RCP record that passes third-party verification and one that gets flagged is almost always documentation quality, not calculation complexity. The following examples show what each data point looks like when captured well versus when it is reconstructed or estimated poorly.

    Data Point 1 — Vehicle Log

    Good: Fleet GPS system exports a trip report showing: Vehicle ID TRK-04, diesel Sprinter, 3 round trips to 1200 Commerce Blvd Sacramento, 47.2 miles per round trip, 141.6 total miles. Timestamps confirm trips align with job dates.

    Poor: “We sent two trucks, probably drove about 50 miles each way a few times.” No vehicle types, no trip count, no documentation. Requires complete reconstruction from memory — high uncertainty, won’t survive audit review.

    Data Point 2 — Waste Transport Log

    Good: Disposal facility receipt showing: Sacramento County Transfer Station, 2026-03-22, 1.8 short tons C&D debris received, facility address 8 miles from job site. Haul vehicle identified as dump truck (diesel).

    Poor: Subcontractor handled debris removal, no manifest obtained. Waste weight unknown. RCP proxy required: estimate from affected square footage using 0.75 lbs/sqft standard C&D rate. Flag as proxy in data quality section.

    Data Point 3 — Equipment Power Source

    Good: Job notes confirm equipment operated on building electrical service, Circuit 14 in mechanical room. Tenant confirmed access in writing. No generator deployed. Equipment energy excluded from contractor’s Category 4 (attributed to building owner’s Scope 2).

    Poor: Unknown whether generator was used. If generator use is unconfirmed, RCP default is to assume building power and exclude from contractor calculation, noting the assumption in data quality notes.

    Data Point 4 — Chemical Treatments Log

    Good: Field technician log: 12 liters Benefect Botanical Disinfectant applied across 2,400 sqft per IICRC protocol. Product lot number recorded. Purchase receipt available.

    Poor: “We used some antimicrobial, not sure how much.” Apply RCP proxy: 0.005 liters per sqft for Category 2 commercial job = 12 liters estimated. Flag as proxy. Note product type unknown — use default antimicrobial emission factor.

    Data Point 5 — PPE Consumption Log

    Good: Supply requisition for this job: 18 Tyvek suits, 36 glove pairs, 24 N95 respirators, 12 pairs boot covers. Matched against job crew size (3 techs × 6 days).

    Poor: No PPE tracking by job. Use RCP standard consumption rate: Category 2, Class 3, 3-tech crew × 6 days = 18 Tyvek, 36 gloves, 24 N95 (standard table). Flag as proxy rate.

    Data Point 6 — Containment Materials Log

    Good: Pre-job setup photo documentation shows poly sheeting perimeter. Close-out notes: 40 linear meters 6-mil poly, 2 zipper doors, 4 HEPA filter replacements during job.

    Poor: No containment used — Category 1 water loss, no containment required. Record as zero, not as missing data. Explicitly noting why a field is zero is different from leaving it blank.

    Data Point 7 — Debris Volume by Waste Category

    Good: Dumpster manifest: 1.5 tons drywall debris + 0.3 tons flooring debris = 1.8 tons total C&D. Weight confirmed by disposal facility ticket.

    Poor: No manifest. Estimate from demolition scope: 180 sqft drywall removed (½” = 2.2 lbs/sqft × 180 = 396 lbs = 0.20 tons), 80 sqft carpet removed (carpet weight 0.75 lbs/sqft × 80 = 60 lbs). Total proxy: 0.26 tons. Flag as estimated — significantly lower than manifest weight if heavier debris present.

    Data Point 8 — Disposal Method and Facility

    Good: All C&D debris → Sacramento County Transfer Station (municipal landfill). Hazmat materials → none (Category 1, no regulated waste). Water extraction discharged to building drain per property manager approval.

    Poor: “Trash went to the dump.” Technically usable — national average landfill emission factor applies. But facility name enables verification and future use of facility-specific factors when available.

    Data Point 9 — Demolished Materials Log by Type

    Good: Demolition scope from job file: 180 sqft drywall (½” standard) = 900 kg, 80 sqft nylon carpet = 180 kg. Source: field measurement records and material weight lookup table.

    Poor: Dumpster load size only — “one dumpster full.” Apply proxy: standard 10-yard dumpster ≈ 1.5 tons mixed C&D. No material type breakdown available. Use mixed C&D emission factor, flag as proxy.

    Data Point 10 — Installed Replacement Materials

    Good: Purchase orders from supplier: 180 sqft drywall delivered (36 sheets ½” × 4×8 = 36 × 26 kg = 936 kg), 80 sqft carpet (1 roll = 200 kg). Reconstruction within contractor scope confirmed in job contract.

    Poor: Reconstruction handled by property owner’s GC — outside contractor scope. Record as “reconstruction out of scope” with note. Do not estimate — these are the owner’s Category 1 emissions, not the contractor’s.

    Data Point 11 — Job Classification

    Good: Job type: water_damage. Damage category: 2. Damage class: 3. Affected area: 2,400 sqft. Building type: commercial office, post-1980 construction (no asbestos assumed per local building records). Classification documented at initial assessment.

    Poor: Job type recorded, damage category/class not assessed or not recorded. Without class, equipment calculation defaults to Class 2 proxy — may significantly understate or overstate actual equipment deployment. Always classify at initial assessment.

    Data Point 12 — Job Timeline

    Good: Job start: 2026-03-14 (initial response). Job completion: 2026-03-22 (final moisture readings, equipment pickup, client sign-off). Emissions attributed to Q1 2026 reporting period for client’s ESG inventory.

    Poor: Only month recorded. For portfolio-level ESG reporting, commercial clients need the ability to assign job emissions to specific reporting quarters and fiscal years. Date precision to the day is required.


    How Each Data Point Maps to the Emissions Calculation

    The following table makes the calculation pipeline explicit. Each data point feeds one or more specific emission factor applications. Software developers implementing RCP should treat this as the calculation dependency map.

    Data Point GHG Protocol Category Emission Factor Applied Output
    1 — Vehicle log Category 4 10.21 kg CO₂e/gal diesel or 8.89 kg/gal gasoline kg CO₂e, transportation
    2 — Waste transport log Category 4 0.186 kg CO₂e/ton-mile (truck freight) kg CO₂e, haul transport
    3 — Equipment power source Category 1 (if building power) or Category 4 (if generator) 0.3499 kg CO₂e/kWh (grid) or fuel factor (generator) kg CO₂e, equipment energy
    4 — Chemical treatments Category 1 2.8 kg CO₂e/liter antimicrobial (default) kg CO₂e, materials
    5 — PPE consumption Category 1 Standard rate per unit type (RCP Table 3A) kg CO₂e, materials
    6 — Containment materials Category 1 0.22 kg CO₂e/meter poly sheeting kg CO₂e, materials
    7 — Debris volume by type Category 5 0.021 tCO₂e/ton mixed C&D (EPA WARM v16) tCO₂e, waste disposal
    8 — Disposal method/facility Category 5 Selects landfill vs. recycling vs. incineration factor Factor selector, not a numeric input
    9 — Demolished materials by type Category 12 0.12 kg CO₂e/kg drywall; 5.40/kg carpet; etc. kg CO₂e, end-of-life materials
    10 — Replacement materials Category 1 Same factors as demolished materials by type kg CO₂e, materials (if in scope)
    11 — Job classification All categories Selects job-type proxy rates when primary data is unavailable Proxy rate selector
    12 — Job timeline All categories Assigns emissions to reporting period; determines equipment runtime hours Period assignment; runtime calculation input

    Building Data Capture Into Your Job Management Workflow

    The most reliable RCP implementations don’t ask techs to fill out extra forms — they build data capture into the existing job workflow. Three integration points cover most of the 12 data points without adding steps:

    At job setup (Data Points 3, 11, 12): Job classification, power source determination, and start date are all known at mobilization. These should be required fields in the job creation screen of any job management system.

    At daily monitoring check-in (Data Points 1, 3): GPS fleet data or odometer entry captures vehicle mileage passively. Equipment runtime hours accumulate between setup and retrieval timestamps already recorded in the system.

    At job close-out (Data Points 2, 4, 5, 6, 7, 8, 9, 10, 12): The close-out checklist is the natural capture point for waste manifests, material quantities, PPE counts, and completion date. Adding RCP fields to the close-out checklist is the single highest-impact implementation step.

    Platforms that implement close-out checklist capture for RCP data — Encircle, PSA, Dash, and Xcelerate among them — can produce a complete 12-point RCP record as a byproduct of normal job documentation. No additional technician training is required beyond knowing what the fields mean.