Environmental, Social, and Governance tracking for procurement including Scope 3 emissions, supplier ESG scoring, carbon footprint calculations, and sustainability certifications aligned with GHG Protocol and CDP reporting standards.
The ESG & Sustainability module enables organizations to track, measure, and report on environmental impact of their procurement activities. This is critical for BRSR (Business Responsibility and Sustainability Reporting) compliance in India and global sustainability reporting frameworks.
The Greenhouse Gas Protocol classifies emissions into three scopes. ProKure focuses primarily on Scope 3 (supply chain emissions) which typically represents 70-90% of an organization's total carbon footprint.
Emissions from owned/controlled sources
Emissions from purchased energy
All other indirect emissions (ProKure focus)
Scope 3 Categories Tracked in ProKure ====================================== Category 1: Purchased Goods & Services └── Tracked via: PO line items × product carbon footprint Category 4: Upstream Transportation └── Tracked via: ASN/GRN shipment data × distance × mode Category 5: Waste Generated └── Tracked via: QC rejects × material type Category 6: Business Travel └── Tracked via: Travel requests × distance × mode Category 7: Employee Commuting └── Tracked via: Employee survey data (optional) Category 9: Downstream Transportation └── Tracked via: Outbound shipments (if applicable)
The ESG module uses a dedicated esg schema in PostgreSQL with tables for supplier scoring, emissions tracking, certifications, and targets.
Composite ESG scores for vendors based on assessments, certifications, and performance data.
Indexes: (tenant_id, overall_esg_score), (vendor_id), (risk_level), (next_assessment_due)
Aggregated carbon emissions by period, scope, and category for reporting.
Indexes: (tenant_id, reporting_period_start, scope), (category), (project_id)
Vendor sustainability certifications and their validity.
Indexes: (tenant_id, vendor_id), (certification_type), (expiry_date, status)
Detailed ESG assessment records for vendors with questionnaire responses.
Indexes: (tenant_id, vendor_id, assessment_year), (status), (assessment_date)
Detailed Scope 3 emissions at transaction level (PO, shipment, travel).
Indexes: (tenant_id, scope3_category, fiscal_year), (source_type, source_id), (vendor_id), (transaction_date)
Sustainability targets and progress tracking for net-zero goals.
Indexes: (tenant_id, target_type, status), (target_year), (scope)
Carbon footprint data for products/materials used in Scope 3 calculations.
Indexes: (tenant_id, material_id), (category_id), (emission_factor_source), (valid_from)
ProKure calculates Scope 3 emissions automatically when POs are released or GRNs are recorded.
Carbon Footprint Calculation Flow
==================================
PO Released / GRN Created
|
v
For each line item:
|
+-- Get material_id from PO/GRN item
|
+-- Lookup product_carbon_footprints
| |
| +-- If supplier-specific exists --> Use vendor-specific factor
| |
| +-- Else --> Use category average factor
| |
| +-- If none --> Use spend-based estimation
|
+-- Calculate: quantity × co2e_per_unit = emissions_kg
|
+-- Store in scope3_tracking (CAT_1: Purchased Goods)
|
v
If shipment data available:
|
+-- Get distance and transport mode from ASN/GRN
|
+-- Apply transport emission factor (kg CO2e per tonne-km)
|
+-- Store in scope3_tracking (CAT_4: Upstream Transport)
|
v
Aggregate to carbon_emissions (monthly/quarterly)
| Method | Accuracy | Data Required | Use Case |
|---|---|---|---|
| Supplier-Specific | HIGH | Vendor-provided LCA data | Strategic suppliers with ESG maturity |
| Activity-Based | MEDIUM | Product quantities, emission factors | Standard products with known factors |
| Spend-Based | LOW | Purchase amount, industry averages | Services, low-spend categories |
Vendors are scored on Environmental, Social, and Governance factors using a weighted model.
ESG Score Calculation Overall ESG Score = (E × 0.40) + (S × 0.35) + (G × 0.25) Where: E = Environmental Score (0-100) = (Carbon × 0.30) + (Water × 0.25) + (Waste × 0.25) + (Biodiversity × 0.20) S = Social Score (0-100) = (Labor × 0.35) + (Safety × 0.30) + (Diversity × 0.20) + (Community × 0.15) G = Governance Score (0-100) = (Ethics × 0.35) + (Transparency × 0.35) + (Compliance × 0.30) Certification Bonuses: ISO 14001: +5 to Environmental ISO 45001: +5 to Social (Safety) B Corp: +10 to Overall Fair Trade: +5 to Social
| ESG Score | Risk Level | Action Required |
|---|---|---|
| 80-100 | LOW | Preferred supplier, promote |
| 60-79 | MEDIUM | Standard monitoring, annual review |
| 40-59 | HIGH | Improvement plan required |
| 0-39 | CRITICAL | Consider phase-out, remediation needed |
MongoDB collection for ESG calculation audit logs and carbon tracking history.
Audit trail for all ESG score changes and carbon calculations.
RESTful API endpoints for ESG management.
| Method | Endpoint | Description |
|---|---|---|
| GET | /api/esg/vendors/{id}/score | Get vendor ESG score |
| GET | /api/esg/vendors | List vendors with ESG scores |
| POST | /api/esg/assessments | Create ESG assessment |
| GET | /api/esg/certifications | List certifications |
| POST | /api/esg/certifications | Add certification |
| GET | /api/esg/carbon/summary | Get carbon emissions summary |
| GET | /api/esg/carbon/by-scope | Emissions by scope |
| GET | /api/esg/carbon/by-category | Scope 3 by category |
| GET | /api/esg/targets | List sustainability targets |
| POST | /api/esg/targets | Create target |
| GET | /api/esg/reports/brsr | Generate BRSR report |
| GET | /api/esg/reports/cdp | Generate CDP response |
| GET | /api/esg/products/{id}/carbon | Get product carbon footprint |
| POST | /api/esg/products/carbon | Set product carbon footprint |
Core business rules for ESG and sustainability management.
Scheduled jobs for ESG data processing and reporting.
| Job | Schedule | Action |
|---|---|---|
| Calculate PO Carbon | On PO Release (event) | Calculate Scope 3 emissions for PO items |
| Aggregate Emissions | Daily (2 AM) | Rollup scope3_tracking to carbon_emissions |
| Recalculate ESG Scores | Monthly (1st) | Recalculate all vendor ESG scores |
| Certification Expiry Check | Daily (8 AM) | Alert on expiring certifications |
| ESG Assessment Reminder | Monthly (15th) | Remind vendors due for assessment |
| Update Target Progress | Weekly (Monday) | Calculate progress towards targets |
| Generate BRSR Report | Quarterly | Prepare BRSR section data |
| Sync Emission Factors | Quarterly | Update emission factor database |