{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Supplier Evaluation","description":"Periodic supplier performance evaluation against weighted KPIs, producing a 0–100 weighted score, qualitative strengths and improvement areas, action items and a classification (strategic|preferred|approved|conditional|phase_out). Aligned with ISO 9001:2015 clause 8.4.1 (re-evaluation of external providers) and clause 9.1.3 (analysis and evaluation), and with ISO 20400:2017 (sustainable procurement) for the inclusion of ESG KPIs.","type":"object","additionalProperties":false,"required":["supplier","period","evaluator","kpis","weighted_score_0_100","strengths","areas_for_improvement","action_items","classification","next_evaluation_date","signatory"],"$defs":{"supplier":{"type":"object","additionalProperties":false,"required":["name"],"properties":{"name":{"type":"string"},"registration":{"type":"string"},"country_code":{"type":"string","pattern":"^[A-Z]{2}$"}}},"evaluator":{"type":"object","additionalProperties":false,"required":["name","role"],"properties":{"name":{"type":"string"},"role":{"type":"string"}}},"kpi":{"type":"object","additionalProperties":false,"required":["kpi_name","target","actual","score","weight_pct"],"properties":{"kpi_name":{"type":"string"},"target":{"type":"string"},"actual":{"type":"string"},"score":{"type":"integer","minimum":1,"maximum":5},"weight_pct":{"type":"number","minimum":0,"maximum":100}}},"action_item":{"type":"object","additionalProperties":false,"required":["action","owner","due_date"],"properties":{"action":{"type":"string"},"owner":{"type":"string"},"due_date":{"type":"string","format":"date"}}},"signatory":{"type":"object","additionalProperties":false,"required":["name","role","date"],"properties":{"name":{"type":"string"},"role":{"type":"string"},"date":{"type":"string","format":"date"}}}},"properties":{"supplier":{"$ref":"#/$defs/supplier"},"period":{"type":"string"},"evaluator":{"$ref":"#/$defs/evaluator"},"kpis":{"type":"array","minItems":1,"items":{"$ref":"#/$defs/kpi"}},"weighted_score_0_100":{"type":"number","minimum":0,"maximum":100},"strengths":{"type":"array","minItems":1,"items":{"type":"string"}},"areas_for_improvement":{"type":"array","items":{"type":"string"}},"action_items":{"type":"array","items":{"$ref":"#/$defs/action_item"}},"classification":{"type":"string","enum":["strategic","preferred","approved","conditional","phase_out"]},"next_evaluation_date":{"type":"string","format":"date"},"signatory":{"$ref":"#/$defs/signatory"}}}