{"$schema":"https://json-schema.org/draft/2020-12/schema","title":"Loonstaat","description":"Dutch per-employee annual payroll ledger (loonstaat) required under Art. 28 lid 1 onder a Wet LB 1964 jo. Art. 7.2 Uitv.reg. LB 2011. The employer must keep a loonstaat for every employee from the first payroll period and complete it each period with the same rubrieken as the LH aangifte (loon LB/PH, SV-loon, loonbelasting, verwerkte arbeidskorting, algemene heffingskorting, Zvw-bijdrage) plus hours worked and net payout. At year-end the loonstaat forms the audit trail for the Belastingdienst (loonbelastingcontrole / boekencontrole). Retention: 7 years in the administratie (Art. 52 AWR); the underlying identification data and LB verklaringen 5 years after end of employment.","type":"object","required":["employer","employee","year","periods","totals"],"additionalProperties":false,"properties":{"employer":{"type":"object","required":["name","kvk","loonheffingen_nummer"],"additionalProperties":false,"properties":{"name":{"type":"string","minLength":1},"kvk":{"type":"string","pattern":"^[0-9]{8}$"},"loonheffingen_nummer":{"type":"string","pattern":"^[0-9]{9}L[0-9]{2}$"}}},"employee":{"type":"object","required":["full_name","bsn","contract_type"],"additionalProperties":false,"properties":{"full_name":{"type":"string","minLength":1},"bsn":{"type":"string","pattern":"^[0-9]{9}$"},"contract_type":{"type":"string","enum":["onbepaalde_tijd","bepaalde_tijd","oproep","stage","uitzend"]}}},"year":{"type":"integer","minimum":2020,"maximum":2100},"periods":{"type":"array","minItems":1,"items":{"type":"object","required":["period_label","hours","gross","vakantiegeld_reservering","loon_lb","sv_loon","loonbelasting","arbeidskorting","algemene_heffingskorting","net"],"additionalProperties":false,"properties":{"period_label":{"type":"string","minLength":1,"description":"Periode-aanduiding (bijv. 'Jan', 'Feb', 'P01')"},"hours":{"type":"number","minimum":0},"gross":{"type":"number","minimum":0},"vakantiegeld_reservering":{"type":"number","minimum":0},"loon_lb":{"type":"number","minimum":0},"sv_loon":{"type":"number","minimum":0},"loonbelasting":{"type":"number","minimum":0},"arbeidskorting":{"type":"number","minimum":0},"algemene_heffingskorting":{"type":"number","minimum":0},"net":{"type":"number"}}}},"totals":{"type":"object","required":["hours","gross","vakantiegeld_reservering","loon_lb","sv_loon","loonbelasting","arbeidskorting","algemene_heffingskorting","net"],"additionalProperties":false,"properties":{"hours":{"type":"number","minimum":0},"gross":{"type":"number","minimum":0},"vakantiegeld_reservering":{"type":"number","minimum":0},"loon_lb":{"type":"number","minimum":0},"sv_loon":{"type":"number","minimum":0},"loonbelasting":{"type":"number","minimum":0},"arbeidskorting":{"type":"number","minimum":0},"algemene_heffingskorting":{"type":"number","minimum":0},"net":{"type":"number"}}}}}