{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"be.reports.monthly_payroll_cost","type":"object","additionalProperties":false,"required":["letter","entity","period","summary","department_rows"],"properties":{"letter":{"type":"object","additionalProperties":false,"required":["date","reference"],"properties":{"date":{"type":"string","format":"date"},"reference":{"type":"string","minLength":1}}},"entity":{"type":"object","additionalProperties":false,"required":["name","bce","vat"],"properties":{"name":{"type":"string","minLength":1},"bce":{"type":"string","pattern":"^0[0-9]{3}\\.[0-9]{3}\\.[0-9]{3}$"},"vat":{"type":"string","pattern":"^BE0[0-9]{9}$"},"address":{"type":"string"},"city":{"type":"string"}}},"period":{"type":"object","additionalProperties":false,"required":["year","month"],"properties":{"year":{"type":"string","pattern":"^[0-9]{4}$"},"month":{"type":"string","pattern":"^(0[1-9]|1[0-2])$"}}},"summary":{"type":"object","additionalProperties":false,"required":["headcount","total_gross","employer_onss","employee_benefits","total_employer_cost"],"properties":{"headcount":{"type":"integer","minimum":0},"total_gross":{"type":"number","minimum":0},"employer_onss":{"type":"number","minimum":0},"employer_onss_rate_pct":{"type":"number","minimum":0,"maximum":100},"employee_benefits":{"type":"number","minimum":0},"total_employer_cost":{"type":"number","minimum":0},"pcmn_620_gross":{"type":"number"},"pcmn_621_onss":{"type":"number"},"pcmn_622_benefits":{"type":"number"}}},"department_rows":{"type":"array","minItems":1,"items":{"type":"object","additionalProperties":false,"required":["dept_name","headcount","gross_salary","employer_onss","total_cost"],"properties":{"dept_name":{"type":"string","minLength":1},"headcount":{"type":"integer","minimum":0},"gross_salary":{"type":"number","minimum":0},"employer_onss":{"type":"number","minimum":0},"benefits":{"type":"number","minimum":0},"total_cost":{"type":"number","minimum":0}}}},"prior_month_comparison":{"type":"object","additionalProperties":false,"properties":{"prior_total_cost":{"type":"number","minimum":0},"variance_eur":{"type":"number"},"variance_pct":{"type":"number"}}},"notes":{"type":"string"}}}