De export van de tijdregistratie (zie Toegang tot en kopie van de registratie) heeft stabiele kolommen: de naam van elke kolom is een Engelse sleutel die niet wordt vertaald en niet van taal tot taal verandert. Wil je het bestand in een ander systeem importeren, dan kun je erop vertrouwen: wordt er een kolom toegevoegd, dan komt die aan het einde van haar onderdeel, en geen enkele wordt hernoemd of verwijderd.
Hoe het bestand eruitziet
- De CSV is één bestand met alle onderdelen. De eerste kolom is
section(entry,change,day_totalofmonth_total), daarna volgen de kolommen van de vier onderdelen achter elkaar; die niet op een rij van toepassing zijn, blijven leeg. Ze draagt een BOM (ze opent goed in Excel) en cellen die als formule gelezen kunnen worden, zijn onschadelijk gemaakt. - De Excel (XLSX) heeft een blad
info(bedrijf, belastingnummer, bereik, tijdzone, weergave en datum van de download) en een blad per onderdeel:entries,changes,day_totalsenmonth_totals, elk met alleen zijn kolommen. - Tijdstippen staan in ISO 8601 met de afwijking van de tijdzone van het
bedrijf (
2026-10-15T09:00+02:00), dagen alsJJJJ-MM-DDen maanden alsJJJJ-MM. Duur is in hele minuten, booleans zijntrueoffalseen opgesomde waarden staan als hun code. - Wat niet van toepassing is of niet is vastgelegd, blijft leeg: People verzint geen gegevens.
- In de geminimaliseerde weergave van de werknemersvertegenwoordiging blijven belastingnummer, IP's en maatregelen voor combinatie werk-privé (sleutel en tekst) kolommen, maar leeg, zodat het bestand voor iedereen dezelfde vorm heeft.
Delen: entries (entry)
Een rij per deel (de startregistratie en, als die er is, die het sluit). Vervallen delen worden ook opgenomen, gemarkeerd.
| Kolom | Wat ze bevat |
|---|---|
employee_id | Identificatie van de persoon |
employee_last_name | Achternaam |
employee_first_name | Voornaam |
employee_tax_id | Belastingnummer (leeg in de geminimaliseerde weergave) |
date | Dag van het begin, in de tijdzone van het bedrijf |
kind | Situatie: WORK (werkdag), BREAK (pauze), WAITING (wachttijd), ON_CALL (beschikbaarheid) of DISCONNECTION_INTERRUPTION |
start | Starttijdstip |
end | Eindtijdstip (leeg als er geen uitklokmoment is) |
duration_minutes | Duur van het deel in minuten |
start_clocking_id | Identificatie van de startregistratie |
end_clocking_id | Identificatie van de eindregistratie |
start_channel | Kanaal waarlangs het begin is gedaan: WEB, MCP, CHAT, SYSTEM, TECHNICAL_INCIDENT of LEGACY (van vóór de geschiedenis) |
end_channel | Kanaal van het einde, met dezelfde waarden |
modality | ON_SITE (op locatie) of REMOTE (op afstand) |
hours_nature | ORDINARY, OVERTIME of COMPLEMENTARY |
overtime_compensation | REST (rust) of PAY (uitbetaald), bij overuren |
force_majeure | true als de uren het gevolg zijn van overmacht |
conciliation_measure_key | Sleutel van de maatregel voor combinatie werk-privé (leeg in de geminimaliseerde weergave) |
conciliation_measure_text | Detail van de maatregel (leeg in de geminimaliseerde weergave) |
automatic_end | true als het einde is gezet door de automatische afsluiting van vóór deze registratie |
incomplete | true als het een inklokmoment zonder uitklokmoment is van een afgelopen dag |
voided_at | Tijdstip waarop het deel is vervallen |
end_voided_at | Tijdstip waarop alleen het uitklokmoment is vervallen |
has_conciliation_measure | true als het deel een maatregel draagt (het enige wat de vertegenwoordiging ziet) |
Wijzigingen: changes (change)
Een rij per toegepaste revisie en per voorstel tot wijziging, met wie voorstelt, wie goedkeurt, het bezwaar en de markeringen „na de afsluiting“ en technische storing.
| Kolom | Wat ze bevat |
|---|---|
employee_id, employee_last_name, employee_first_name | De betrokken persoon |
record | revision (toegepaste wijziging) of proposal (voorstel) |
id | Identificatie van de rij |
proposal_id | Voorstel waaruit een revisie voortkomt |
clocking_id | Betrokken registratie |
action | CREATE (toevoeging), MOVE (tijdwijziging), VOID (vervallen) of RECLASSIFY (herindeling) |
at | Tijdstip van de wijziging |
status | PENDING, ACCEPTED, REJECTED of WITHDRAWN |
channel | Kanaal waarlangs ze is gedaan |
technical_incident | true als het een technische storing is |
after_close | true als ze na de afsluiting van de maand is |
reason | Reden van de wijziging |
before, after | Hoe de registratie was en hoe ze nu is (in JSON) |
author | Wie de wijziging deed |
author_ip | IP van waaruit ze is gedaan (leeg in de geminimaliseerde weergave) |
proposed_by | Wie voorstelde |
proposed_for | Namens welke partij: EMPLOYEE of COMPANY |
proposer_ip | IP van wie voorstelde |
decided_by | Wie besliste |
decided_for | Namens welke partij hij besliste |
decided_at | Tijdstip van de beslissing |
decider_ip | IP van wie besliste |
decision_reason | Reden van de beslissing, bij afwijzing |
employee_discrepancy | Bezwaar van de persoon |
discrepancy_at | Wanneer ze het achterliet |
applied_at | Wanneer het op de registratie is toegepast |
representation_notified_at | Wanneer de werknemersvertegenwoordiging is gewaarschuwd |
Dagtotalen: day_totals (day_total)
Een rij per persoon en dag. Alle tijden zijn in minuten.
| Kolom | Wat ze bevat |
|---|---|
employee_id, employee_last_name, employee_first_name | De persoon |
date | De dag |
worked_minutes | Daadwerkelijke werktijd (inclusief onderbrekingen van onbereikbaarheid) |
ordinary_minutes | Waarvan gewone uren |
overtime_minutes | Waarvan overuren |
complementary_minutes | Waarvan meeruren (deeltijd) |
unclassified_minutes | Waarvan niet ingedeeld (alleen het opgeslagene telt, niet het voorstel) |
break_minutes | Pauzes |
waiting_minutes | Wachttijden |
on_call_minutes | Beschikbaarheidstijd |
disconnection_minutes | Onderbrekingen van onbereikbaarheid (al inbegrepen in de daadwerkelijke werktijd) |
incomplete | true als er die dag inklokmomenten zonder uitklokmoment zijn |
workday_regime | FULL_TIME of PART_TIME, volgens het lopende contract |
part_time_percentage | Percentage van de deeltijd |
schedule_mode | FIXED of FLEXIBLE |
ordinary_limit_exceeded | true als het dagmaximum aan gewone uren wordt overschreden |
short_rest_minutes | Minuten rust sinds de vorige werkdag, als dat minder dan 12 uur was |
Maandtotalen: month_totals (month_total)
Een rij per persoon en maand. Ze herhaalt de negen minutenkolommen van de
dagtotalen (worked_minutes … disconnection_minutes), nu per maand opgeteld, en
voegt toe:
| Kolom | Wat ze bevat |
|---|---|
employee_id, employee_last_name, employee_first_name | De persoon |
month | De maand (JJJJ-MM) |
days_worked | Dagen met werk |
incomplete_days | Onvolledige dagen |
flexible_target_minutes | Doel van de maand bij flexibel rooster |
flexible_worked_minutes | Gewerkt in de maand bij flexibel rooster |
flexible_excess_minutes | Overschot ten opzichte van het doel (nooit negatief) |
flexible_deficit_minutes | Tekort ten opzichte van het doel (nooit negatief) |
De flexibele telling verschijnt alleen voor hele maanden binnen het gedownloade bereik. Het saldo is gesplitst in overschot en tekort, twee kolommen die nooit negatief zijn.