{"$schema":"https://json-schema.org/draft/2020-12/schema","type":"object","additionalProperties":false,"required":["letter","employer","employee","reference_year","benefit_lines","signature"],"properties":{"letter":{"type":"object","additionalProperties":false,"required":["place","date","language"],"properties":{"place":{"type":"string"},"date":{"type":"string","format":"date"},"language":{"type":"string","enum":["fr","nl","de","en"]},"reference":{"type":"string"}}},"employer":{"type":"object","additionalProperties":false,"required":["name","address","bce_number","onss_number","joint_committee"],"properties":{"name":{"type":"string"},"address":{"type":"string"},"bce_number":{"type":"string","description":"Numéro BCE/KBO (format 0xxx.xxx.xxx)."},"vat_number":{"type":"string","description":"Numéro TVA/BTW (format BE0xxxxxxxxx)."},"onss_number":{"type":"string","description":"Numéro ONSS/RSZ."},"joint_committee":{"type":"string","description":"CP / PC numéro et libellé."},"social_secretariat":{"type":"string"}}},"employee":{"type":"object","additionalProperties":false,"required":["given_name","surname","employee_id","function_title","start_date"],"properties":{"given_name":{"type":"string"},"surname":{"type":"string"},"employee_id":{"type":"string"},"function_title":{"type":"string"},"department":{"type":"string"},"start_date":{"type":"string","format":"date"},"statut":{"type":"string","enum":["bediende","arbeider","kaderlid"]}}},"reference_year":{"type":"integer","minimum":2020,"maximum":2100,"description":"Année de référence du récapitulatif (ex. 2025)."},"gross_annual_salary":{"type":"number","minimum":0,"description":"Salaire annuel brut de base (hors avantages extralégaux), en EUR."},"benefit_lines":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["category","name","employer_annual_eur"],"properties":{"category":{"type":"string","description":"Catégorie de l'avantage (ex. 'Pension', 'Santé', 'Alimentation', 'Mobilité', 'Formation', 'Flexibilité')."},"name":{"type":"string"},"description":{"type":"string"},"employer_annual_eur":{"type":"number","minimum":0,"description":"Contribution annuelle employeur en EUR."},"employee_annual_eur":{"type":"number","minimum":0,"description":"Contribution annuelle travailleur en EUR (retenue salariale le cas échéant)."},"total_annual_eur":{"type":"number","minimum":0,"description":"Valeur totale annuelle de l'avantage en EUR."},"nsso_treatment":{"type":"string","description":"Traitement ONSS de l'avantage (ex. 'Exonéré ONSS', 'Assujetti ONSS')."},"tax_treatment":{"type":"string","description":"Traitement IPP de l'avantage (ex. 'Exonéré IPP', 'ATN imposable')."},"legal_ref":{"type":"string","description":"Référence légale principale (ex. 'CIR 92 Art. 38 §1 9°')."}}}},"total_employer_cost_eur":{"type":"number","minimum":0,"description":"Coût total employeur (salaire brut + avantages) en EUR."},"total_benefits_value_eur":{"type":"number","minimum":0,"description":"Valeur totale des avantages extralégaux en EUR."},"disclaimer":{"type":"string","description":"Mention légale: ce récapitulatif n'est pas un document fiscal officiel."},"signature":{"type":"object","additionalProperties":false,"required":["signatory_name","signatory_title","date"],"properties":{"signatory_name":{"type":"string"},"signatory_title":{"type":"string"},"date":{"type":"string","format":"date"}}}}}