Compatible with Kimai 2.0

Werknemersaccount: Werkuren, vakantie, ziekte, feestdagen

Werknemersbeheer: Werkuren & overuren. Vakanties, ziekte en verlof. Beheer van feestdagen en integratie in de kalender. Maandelijkse goedkeuringen met PDF.

Kevin Papst
Aangeboden door
Kevin Papst



Certain features are not yet here, but already planned (see Roadmap below). Your feedback will be incorporated.

  • It enhances the Working times view with
    • Manual bookings (adjust the time account with plus or minus hours)
    • Overview of the entire year with results per day, the ability to close a month, download result PDF and more
    • See if a user has overtimes or minus hours (since first day in company, per year/month/day)
    • Monthly approvals (per user) with PDF handouts that contain the working-hour details for the entire month
    • See if your users have missing days (no times entered on days where they had to work)
  • It adds the Absence view, which allows to
    • Create holidays (half-days possible)
    • Take time-off (if account has overtime)
    • Create sickness days
    • Create other absences (e.g. unpaid leave)
    • Automatically adds the times absent to the user’s timesheet based on their daily working time
    • Export absences per user to Excel
  • And it adds the new Public holiday management view
    • Allows to create different groups (e.g. for different countries or states) and add public holidays to each of them
    • Import and manual creation of public (local) holidays
    • Public holidays will automatically be added to the user’s timesheet (a user can only be in one public-holiday group)
    • Public holidays can be imported automatically (check if your country is supported).
  • Per user contract settings
    • Expected working hours per day of the week: Monday/Tuesday/Wednesday/Thursday/Friday/Saturday/Sunday
    • Vacation entitlement per user for the calendar year
    • The “starting day” limits the working hours calculation from that date until “now”
  • You can import data from the MR plugins (Controlling, Sickday, Vacation)
  • The user calendar will show all absences (sickness, vacation…) and public-holidays


These features will be added in the future, but there is no guarantee when or in which order.

- Holiday
    - allow booking during public holidays
- API 
    - methods to read absences (date-range, user, absence type)
- Documentation
    - Written
    - Videos
- Approval workflow for Absences 
    - Allow to "Sent for approval" to Supervisor
    - Allow to "Reject" or "Approve" by Supervisor
    - Only calculate approved or locked absences (new ones are for planning)
- Absence calendar
    - Display all users / teams
    - Allow export as ical (or similar format) for use in external calendars (e.g. Outlook)
- Monthly contract PDF
    - Include: total working time sum
    - Include: total holiday sum
    - Include: holidays at start of month sum
    - Include: start of month working-time sum
    - Include: manual bookings
- Notification
  - Sent notifications to supervisor for new "absences to be approved"
  - Sent notifications to user for approved/rejected absences
- Finalize year
  - Auto-adjust time-account of next year
  - Allow to take over and adjust the holidays, which were not yet taken (probably with an expiration date?)
- Settings
  - Last day of work for a user, to stop calculating afterwards


This list is a collection of feature wishes from users, which might or might not be added. If you need one of these features, do not rely on them being added, but contact me upfront to discuss your needs. If I decide to add one of these feature, it will be moved to the “Roadmap” section.

- Allow to configure a [dedicated project]( for attendance tracking
- Public holidays
  - Configurable rule to deactivate time-records on public holidays
- API 
  - Methods to read absences
  - Methods to write absences (e.g. when using a HR tool for holiday planning)
- Approval workflow
  - Allow to export (or print) pending approvals
- Management view for all users
  - showing statistics for absences
  - pending holidays (approved), used holidays, available
- Monthly approvals
  - Allow to close months partially, in case there is a change in the contract within the month
- Define arbitrary date ranges with attached working-time profiles
  - Allow to attach each user multiple profiles
- Absences
  - Add holiday for multiple users (e.g. for forced company vacations)
  - Types of absences (Workaround: use comment field)
    - Configurable for sickness and other
    - Show type in PDF
    - paid/not paid
  - Convert holiday to sickness (Workaround: create sickness and delete holiday)
  - Sum of sickness and other days on Absence screen
- Rules
  - Configure if timesheets should be prohibited during absence (type)
- Breaks (Pause)
  - Support calculation of breaks (e.g. display in calendar)
  - Use all breaks between first entry of the day and last entry of the day as pause
- New year 
  - Add a button to take over values from last year (for all users)
- Dashboard 
  - Widgets for total numbers, to show "status" more prominent
- Working time requirements (Arbeitszeitvorgaben)
  - Maximum working time (per day, in one session) and breaks
  - Configure fixed rules per country
  - Allow one custom rule
  - Configure default rule (country or custom) per user
- Holidays
  - Take over holidays from last year (like manual bookings)
  - Lockdown method for vacations (define periods where no vacations can be booked)
- Configuration for the business year, in case a company is not using the calendar year
- Multiple working contracts per user (configured with start and end time)
- Work scheduler (like a monthly view), as some employees (especially hourly-based freelancers) cannot used fixed working days


1.2.0  (19 Oct. 2023)

- Fixed: some users could not see public holidays in the calendar
- Fixed: route mapping type changed to attribute
- Fixed: Homepage link in extension screen

1.1.0 (18 Sept. 2023)

- Added: data migration from MR plugins
- Added: show absences in calendar
- Added: show public-holidays in calendar
- Added: export absences to excel
- Fixed: possible pagination issue

1.0.3 (11 Sept. 2023)

- Fixed: make sure to redirect to correct screen after create and delete absences

1.0.2 (07 Sept. 2023)

- Added: permission docs
- Fixed: first day of absence ranges is created twice

1.0.1 (31 Aug. 2023)

- Fixed: cannot update existing absences
- Fixed: replaced deprecated code usage

1.0.0 (28 Aug. 2023)

- Added: booking date-ranges for holiday and sickness
- Added: 10 new validations to make sure only valid absences can be booked
- Added: permissions for deleting absences
- Added: batch delete (non-locked) absences
- Added: order absences from highest to lowest date
- Added: support for half-days in public holidays
- Added_ permission for creating absences
- Added: support for half-days in holidays
- Added: support for
- Fixed: editing absences only non-locked absences
- Fixed: several calculations were not correct
- Fixed: adjusting "expected working times" should not change "public holiday calculation" in already locked months
- Fixed: adjusting "expected working times" should not change "absence calculation" in already locked months
- Fixed: removed unused `time_off` permission


Bestanden kopiëren

Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:


The file structure needs to look like this afterwards:

├── WorkContractBundle
│   ├── WorkContractBundle.php
|   └ ... more files and directories follow here ...

Cache wissen

After uploading the files, Kimai needs to know about the new plugin. It will be found once the cache was re-built. Call these commands from the Kimai directory:

How to reload Kimai cache

bin/console kimai:reload --env=prod

It is not advised, but in case the above command fails you could try:

rm -r var/cache/prod/*

You might have to set file permissions afterwards:

Adjust file permission

You have to allow PHP (your webserver process) to write to var/ and it subdirectories.

Here is an example for Debian/Ubuntu (to be executed inside the Kimai directory):

chown -R :www-data .
chmod -R g+r .
chmod -R g+rw var/

Database aanmaken

Run the following command:

bin/console kimai:bundle:workcontract:install

This will create the required database tables and update them to the latest version.


Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/WorkContractBundle/
  • Execute all installation steps again:
    • Bestanden kopiëren
    • Cache wissen
    • Update database with bin/console kimai:bundle:workcontract:install

De volgende tabel bevat een vergelijking tussen de plugin en de vereiste minimale Kimai-versie.

Bundelversie Minimale Kimai-versie
1.2.0 2.1.0
1.1.0 2.0.34
1.0.0 - 1.0.3 2.0.31
0.5.0 2.0.29
0.4.0 2.0.28
0.3.0 2.0.27
0.2.0 2.0.26
0.1.0 2.0.14

U kunt deze plugin uitproberen op

Gebruikersnaam: susan_super
Wachtwoord: kitten

Meer testaccounts vindt u hier.


Lijst van alle feestdagen en groepen, met de mogelijkheid om feestdagen te importeren en te bewerken
Er is een grote lijst van landen en regio's waarvoor u feestdagen per jaar kunt importeren
Voor elke gebruiker kan één uurdoel per werkdag worden opgeslagen. Bovendien kunt u de feestdagengroep, de eerste werkdag en het aantal feestdagen configureren.
Het overzicht toont de doel- en werkelijke uren per maand en jaar, inclusief een andere regel voor handmatige boekingen
Handmatige boekingen maken aanpassing van het urenoverzicht mogelijk, bijvoorbeeld om uren over te dragen van het vorige jaar of om betaalde uren af te schrijven
Dagelijkse evaluatie van gewerkte en verschuldigde uren, inclusief weergave van alle afwezigheden (vakantie, ziekte, enz.), met de mogelijkheid van maandafsluiting
De geselecteerde gebruiker heeft geen contractinstellingen opgeslagen in het profiel en Kimai kan daarom alleen de gewerkte uren weergeven


You can buy the plugin via Lemon Squeezy (CreditCard, instant access) or from the developer (bank-transfer, up to one week)

Support-questions, bug-reports and feature-requests will be answered in this Github repository

Aangeboden door

Kevin Papst

Building Kimai since 2009

Als u vragen heeft, gebruik dan de volgende contactinformatie om rechtstreeks contact op te nemen met de ontwikkelaar.