Skip to Content
Gidsen per use caseSalarisadministratie

Salarisadministratie

Doel: je salarissoftware of salarisadministratiekantoor voeden met effectieve uren, afwezigheden en verlofsaldi van een periode, zonder handmatige exports.

Vereiste scopes: org:fichajes:read, org:ausencias:read, org:saldos:read.

De drie kernresources:

Work summaries: uren van de periode

work-summaries retourneert één rij per medewerker × periode met de aggregaties al berekend (geen losse klok-events). Filter op period=day|month en een bereik from/to (≤ 1 jaar).

curl -s "$KINMU_BASE_URL/work-summaries?period=month&from=2026-06-01&to=2026-06-30" \ -H "Authorization: Bearer $KINMU_API_KEY"
{ "data": [ { "employee_id": "a1b2…", "period_start": "2026-06-01", "period_end": "2026-06-30", "worked_minutes": 9600, "break_minutes": 1200, "night_minutes": 300, "overtime_minutes": 240, "expected_minutes": 9600, "balance_minutes": 0, "banked_hours_balance_minutes": 120, "absences_minutes": 480, "source_days": 21 } ], "meta": { "next_cursor": null, "has_more": false } }

Relevante velden voor de salarisadministratie:

VeldGebruik
worked_minutesEffectief gewerkte tijd.
night_minutesMinuten in nachtelijke uren (toeslagen).
overtime_minutesOveruren in de periode.
expected_minutesContractuele werktijd.
balance_minutesVerschil gewerkt − verwacht.
banked_hours_balance_minutesSaldo van de urenbank.
absences_minutesAfwezigheidsminuten in de periode.

Maandelijkse aggregaties kunnen uit geconsolideerde snapshots komen. Hangt je afsluiting af van data van de lopende dag, houd dan rekening met mogelijke consolidatievertraging en sluit af over al afgeronde periodes.

Afwezigheden van de periode

Koppel de goedgekeurde afwezigheden die met de salarisperiode overlappen om ziekteverzuim en inhoudingen toe te passen:

curl -s "$KINMU_BASE_URL/absences?status=approved&from=2026-06-01&to=2026-06-30" \ -H "Authorization: Bearer $KINMU_API_KEY"

Elke afwezigheid heeft een type als { key, label } (de key is stabiel: vacation, sick_leave, of custom typen van je bedrijf) en een days_count. Gebruik in je logica altijd de key.

Verlofsaldi

Vraag voor de jaarafsluiting of voor reserveringen de saldi per medewerker en jaar op:

curl -s "$KINMU_BASE_URL/vacation-balances?year=2026" \ -H "Authorization: Bearer $KINMU_API_KEY"
{ "data": [ { "employee_id": "a1b2…", "year": 2026, "entitled_days": 23, "used_days": 10, "pending_days": 2, "remaining_days": 11, "carry_over_days": 0, "carry_over_expires_at": null } ] }

Flow van de maandafsluiting

Haal de actieve medewerkers van de periode op

GET /v1/employees?status=active (pagineer met cursor bij meer dan 100).

Download de work-summaries van de maand

GET /v1/work-summaries?period=month&from=…&to=….

Koppel de goedgekeurde afwezigheden

GET /v1/absences?status=approved&from=…&to=….

(Optioneel) Genereer de wettelijke urenregistratie

Vraag voor de arbeidsinspectie het rapport time_registry_monthly aan (RD-ley 8/2019):

curl -s -X POST "$KINMU_BASE_URL/reports" \ -H "Authorization: Bearer $KINMU_API_KEY" \ -H "Content-Type: application/json" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{ "type": "time_registry_monthly", "format": "csv", "params": { "month": "2026-06" } }'

Formaten: csv of xlsx (xlsx alleen voor check_ins_export). Je krijgt 202 { "id": "…", "status": "processing" }. Poll GET /v1/reports/{id} tot status=completed; de response bevat dan een download_url, een tijdelijke signed URL (TTL 5 min, eenmalig te gebruiken). De signature is de credential: download het bestand vanaf die URL zonder Authorization-header:

# 1) obtener la download_url (solo aparece cuando status=completed) DL=$(curl -s "$KINMU_BASE_URL/reports/<id>" \ -H "Authorization: Bearer $KINMU_API_KEY" | jq -r '.download_url') # 2) descargar el fichero desde la URL firmada (sin Bearer; un solo uso, 5 min) curl -s -L "$DL" -o registro-horario-2026-06.csv

De scope org:informes:read is verplicht om het rapport aan te vragen. De download_url is eenmalig te gebruiken en verloopt na 5 minuten: vraag hem op en download meteen.

Last updated on