{"$schema":"https://json-schema.org/draft/2020-12/schema","$id":"https://chut.app/schemas/be.accounting.payslip/0.2.0","title":"be.accounting.payslip","description":"Belgian simple payslip — mandatory content per AR 27.9.1966 and Loi 12.4.1965","type":"object","required":["letter","employer","employee","payslip"],"additionalProperties":false,"properties":{"letter":{"type":"object","description":"Document metadata","required":["place","date","language"],"additionalProperties":false,"properties":{"place":{"type":"string","description":"Place of issuance","examples":["Bruxelles","Gent","Liège"]},"date":{"type":"string","format":"date","description":"Issuance date (ISO 8601)","examples":["2026-03-28"]},"language":{"type":"string","enum":["en","fr","nl","de"],"description":"Language for rendering"},"document_reference":{"type":"string","description":"Internal document reference","examples":["PS-2026-042"]}}},"employer":{"type":"object","description":"Employer identification — Art. 1(1) AR 27.9.1966","required":["name","address","vat_number","bce_number","onss_number"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Legal name of the employer","minLength":1,"examples":["Nextech Solutions SRL"]},"legal_form":{"type":"string","description":"Legal form (SRL, SA, SNC, etc.)","examples":["SRL"]},"address":{"type":"string","description":"Full postal address","examples":["Chaussée de Waterloo 1510, 1180 Uccle"]},"vat_number":{"type":"string","pattern":"^BE0[0-9]{9}$","description":"Belgian VAT number (BE0xxxxxxxxx)","examples":["BE0712345678"]},"bce_number":{"type":"string","pattern":"^[0-9]{4}\\.[0-9]{3}\\.[0-9]{3}$","description":"BCE/KBO number (0xxx.xxx.xxx)","examples":["0712.345.678"]},"onss_number":{"type":"string","description":"NSSO employer registration number","examples":["0712-345-67"]},"joint_committee":{"type":"string","description":"Applicable joint committee (commission paritaire / paritair comité)","examples":["200","218","226"]},"phone":{"type":"string","examples":["+32 2 000 00 00"]},"email":{"type":"string","format":"email","examples":["hr@nextech.be"]}}},"employee":{"type":"object","description":"Employee identification — Art. 1(2) AR 27.9.1966","required":["name","function","status"],"additionalProperties":false,"properties":{"name":{"type":"string","description":"Full name of the employee","minLength":1,"examples":["Marie Dupont"]},"niss":{"type":"string","description":"Belgian National Social Security Number (numéro NISS / INSZ-nummer)","pattern":"^[0-9]{2}\\.[0-9]{2}\\.[0-9]{2}-[0-9]{3}\\.[0-9]{2}$","examples":["90.01.15-123.45"]},"function":{"type":"string","description":"Job title / function","examples":["Développeuse Senior","Accountant","Sales Manager"]},"status":{"type":"string","enum":["employee","worker","Employé(e)","Ouvrier(ère)","Bediende","Arbeider"],"description":"Employment status (employé / ouvrier)"},"start_date":{"type":"string","format":"date","description":"Employment start date","examples":["2023-09-01"]},"iban":{"type":"string","description":"IBAN for salary payment — protection de la rémunération (Loi 12.4.1965 Art. 5)","pattern":"^BE[0-9]{2}[0-9]{12}$","examples":["BE68539007547034"]},"cost_center":{"type":"string","description":"Internal cost center","examples":["R&D","Finance"]}}},"payslip":{"type":"object","description":"Payslip computation — Art. 1 AR 27.9.1966 mandatory content","required":["period","payment_date","base_salary","total_gross","onss_rate","onss_employee","taxable","withholding_tax","total_deductions","net_salary"],"additionalProperties":false,"properties":{"period":{"type":"string","description":"Pay period (e.g. 'March 2026', '2026-03')","examples":["Mars 2026","March 2026","Maart 2026"]},"payment_date":{"type":"string","format":"date","description":"Actual payment date","examples":["2026-03-28"]},"base_salary":{"type":"number","minimum":0,"description":"Base contractual gross salary (EUR)","examples":[4200.0]},"gross_additions":{"type":"array","description":"Additional gross components (ATN, bonuses, overtime, etc.)","items":{"type":"object","required":["label","amount"],"additionalProperties":false,"properties":{"label":{"type":"string","description":"Description of the addition"},"base":{"type":"string","description":"Calculation base (optional)","examples":["274.95 €/month"]},"amount":{"type":"number","description":"Amount in EUR"}}}},"total_gross":{"type":"number","minimum":0,"description":"Total gross salary (base + additions) subject to NSSO","examples":[4474.95]},"onss_rate":{"type":"number","minimum":0,"maximum":100,"description":"Employee NSSO rate (%) — standard 13.07%","default":13.07,"examples":[13.07]},"onss_employee":{"type":"number","minimum":0,"description":"Employee NSSO deduction amount (EUR)","examples":[584.88]},"werkbonus":{"type":"number","minimum":0,"description":"Work bonus (réduction NSSO bas salaires / werkbonus) if applicable","examples":[0.0]},"taxable":{"type":"number","minimum":0,"description":"Taxable base (total_gross - onss_employee + werkbonus)","examples":[3890.07]},"withholding_tax":{"type":"number","minimum":0,"description":"Professional withholding tax (précompte professionnel / bedrijfsvoorheffing) per Annexe III AR/CIR 92","examples":[1042.5]},"special_ss":{"type":"number","minimum":0,"description":"Special social security contribution (CSSS) — Art. 106 Loi 30.3.1994","default":0,"examples":[9.3]},"other_deductions":{"type":"array","description":"Other deductions (advance, ATN reimbursement, meal voucher employee share, etc.)","items":{"type":"object","required":["label","amount"],"additionalProperties":false,"properties":{"label":{"type":"string"},"amount":{"type":"number","minimum":0}}}},"total_deductions":{"type":"number","minimum":0,"description":"Total deductions (NSSO + withholding tax + CSSS + other)","examples":[1934.73]},"net_additions":{"type":"array","description":"Additions to net pay after deductions (employer meal voucher share, etc.)","items":{"type":"object","required":["label","amount"],"additionalProperties":false,"properties":{"label":{"type":"string"},"amount":{"type":"number","minimum":0}}}},"net_salary":{"type":"number","minimum":0,"description":"Net salary payable to employee","examples":[2678.82]},"employer_onss_rate":{"type":"number","minimum":0,"maximum":100,"description":"Employer NSSO rate (%) — indicative, varies by regime","examples":[24.92]},"employer_onss":{"type":"number","minimum":0,"description":"Employer NSSO contribution (EUR)","examples":[1115.16]},"employer_additions":{"type":"array","description":"Additional employer costs (meal vouchers employer share, eco-cheques, CO2 solidarity, etc.)","items":{"type":"object","required":["label","amount"],"additionalProperties":false,"properties":{"label":{"type":"string"},"amount":{"type":"number","minimum":0}}}},"total_employer_cost":{"type":"number","minimum":0,"description":"Total employer cost (total_gross + employer_onss + employer additions)","examples":[5761.41]}}}}}