可持续供应商管理
High Contrast
Dark Mode
Light Mode
Sepia
Forest
2 min read471 words

可持续供应商管理

采购碳排放(Scope 3)通常占企业总碳排放的 70–80%——真正的绿色供应链,必须延伸到供应商,而不是止步于自己工厂的大门。

可持续供应商管理框架

graph TD SCREEN[供应商准入筛选\n环境/社会基础门槛] --> ASSESS[年度 ESG 评估\n问卷+现场审计] ASSESS --> SCORE[ESG 评分\n环境/社会/治理三维度] SCORE --> TIER[分级管理\n绿色/黄色/红色] TIER --> GREEN[绿色供应商\n优先合作/长期合同] TIER --> YELLOW[黄色供应商\n改善计划+支持] TIER --> RED[红色供应商\n限期整改/淘汰] GREEN --> DEVELOP[供应商能力建设\n减碳/效率培训] YELLOW --> DEVELOP style SCORE fill:#e3f2fd,stroke:#1565c0,stroke-width:2px style GREEN fill:#c8e6c9,stroke:#388e3c,stroke-width:2px style RED fill:#ffebee,stroke:#c62828,stroke-width:2px

供应商 ESG 评分系统

"""
供应商可持续性评分
"""
from dataclasses import dataclass
@dataclass
class SupplierESGData:
"""供应商 ESG 数据"""
name: str
# 环境 (E)
has_iso14001: bool           # ISO 14001 认证
renewable_energy_pct: float  # 可再生能源比例 0–1
carbon_reduction_target: bool  # 是否有减碳目标
waste_recycling_rate: float  # 废弃物回收率 0–1
# 社会 (S)
no_child_labor: bool         # 无童工认证
living_wage: bool            # 支付生活工资
female_management_pct: float # 女性管理层比例 0–1
lost_time_injury_rate: float # 工伤率(每百人·年)
# 治理 (G)
code_of_conduct_signed: bool # 行为准则已签署
anti_corruption_training: bool  # 反腐败培训
data_security_certified: bool   # ISO 27001 或同等认证
transparent_reporting: bool     # 公开 ESG 报告
class SupplierESGScorer:
"""ESG 评分器"""
@staticmethod
def score(data: SupplierESGData) -> dict:
"""计算 ESG 三维度得分"""
# 环境 (40分)
e_score = 0
e_score += 10 if data.has_iso14001 else 0
e_score += min(10, data.renewable_energy_pct * 10)
e_score += 10 if data.carbon_reduction_target else 0
e_score += min(10, data.waste_recycling_rate * 10)
# 社会 (40分)
s_score = 0
s_score += 15 if data.no_child_labor else 0
s_score += 10 if data.living_wage else 0
s_score += min(5, data.female_management_pct * 10)
# 工伤率:0→10分,0.5→5分,≥1→0分
s_score += max(0, 10 - data.lost_time_injury_rate * 20)
# 治理 (20分)
g_score = 0
g_score += 5 if data.code_of_conduct_signed else 0
g_score += 5 if data.anti_corruption_training else 0
g_score += 5 if data.data_security_certified else 0
g_score += 5 if data.transparent_reporting else 0
total = e_score + s_score + g_score
return {
"供应商": data.name,
"环境得分 (E)": round(e_score, 1),
"社会得分 (S)": round(s_score, 1),
"治理得分 (G)": round(g_score, 1),
"综合 ESG 得分": round(total, 1),
"评级": (
"绿色 — 优选" if total >= 75
else "黄色 — 需改善" if total >= 50
else "红色 — 风险供应商"
),
"关键缺口": _identify_gaps(data),
}
def _identify_gaps(data: SupplierESGData) -> list[str]:
"""识别关键改善点"""
gaps = []
if not data.has_iso14001:
gaps.append("未获 ISO 14001 认证")
if data.renewable_energy_pct < 0.20:
gaps.append(f"可再生能源占比仅 {data.renewable_energy_pct*100:.0f}%,低于 20% 目标")
if not data.no_child_labor:
gaps.append("童工风险未认证清除 — 高优先级整改")
if not data.code_of_conduct_signed:
gaps.append("行为准则未签署")
if data.lost_time_injury_rate > 0.5:
gaps.append(f"工伤率 {data.lost_time_injury_rate}/百人·年,偏高")
return gaps if gaps else ["无重大缺口"]
# 演示
suppliers = [
SupplierESGData(
"东莞精密制造", True, 0.35, True, 0.80,
True, True, 0.30, 0.1,
True, True, False, True,
),
SupplierESGData(
"温州基础零件", False, 0.05, False, 0.40,
True, False, 0.15, 0.8,
True, False, False, False,
),
SupplierESGData(
"苏州绿能电子", True, 0.60, True, 0.90,
True, True, 0.40, 0.0,
True, True, True, True,
),
]
scorer = SupplierESGScorer()
print("=== 供应商 ESG 评分 ===")
for supplier in suppliers:
result = scorer.score(supplier)
print(f"\n{result['供应商']} [{result['评级']}]")
print(f"  E:{result['环境得分 (E)']} / S:{result['社会得分 (S)']} / G:{result['治理得分 (G)']} = {result['综合 ESG 得分']}分")
print(f"  关键缺口: {'; '.join(result['关键缺口'][:2])}")

供应商减碳支持计划

支持项目 形式 适合供应商
能效审计 派专家上门 能耗大的制造型供应商
可再生能源采购培训 线上课程 所有供应商
绿色包装替代方案 联合选型 包装密集型供应商
联合碳核算 系统对接 Tier-1 战略供应商
绿色贷款推荐 金融机构对接 需资金支持的改善项目

Scope 3 下游碳排放追踪

Scope 3 类别 数据来源 收集难度
采购商品/服务排放 供应商碳核算数据
资本品排放 设备供应商 EPD
外包生产排放 合作工厂数据
员工通勤 员工调研
商务出行 差旅报销系统

行动清单

下一节03-社会责任与合规审计 — 通过第三方审计保障供应链合规。