149€ (excl. VAT)

Pricing for this item

Offered by

Logo - HMR-IT GmbH


Software + App development company from Germany

If you have any question, visit the developers homepage or use the email for direct contact .
A plugin for Kimai 2 which adds the full workflow for vacation + official & local holidays
Last update: 18 Jan 2021


  • Set the vacation entitlement per user via Custom-fields plugin
  • Let users create a vacation application based on their vacation days budget
  • Admins can grant, deny or cancel vacation applications
  • See in one view a summary of all users vacation days
  • German public holidays can be automatically imported based on the state
  • Manual creation of public/local holidays is also possible
  • Fully configurable via GUI
  • Support for multiple working times (e.g. 40 h/week, 15 h/week - fully configurable per user)
  • Full history of every request




Recommended Setup: watch the youtube video at the bottom!

Create two custom fields for users using the custom-fields plugin:

  • One for the amount of vacation days in the first year in which the users started working (integer)
  • The other one for the daily working time (duration)

If you’re logged in as super-admin you will see an item in the menu called “Vacation view”. In it there is a settings-tab. Here you can select the state for public holidays, the activities that will be used as public holidays and vacations.

The last two inputs are dropdowns with all meta-fields. Select the ones you created earlier.


The install-command will create two permissions:

  • vacation
  • vacation_admin

Users with none of the permissions won’t see the vacation tab in the menu.

If you assign the vacation permission to a user they will see the leave-application tab in the menu.

Super-admins and users with the vacation_admin permission have full control over this plugin.

Updating the plugin

Updating the bundle works the same way as the installation does.

  • Delete the directory var/plugins/VacationBundle/ (to remove deleted files)
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console kimai:bundle:vacation:install

Video Tutorial




Copy files

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 like like this afterwards:

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

Clear cache

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:

Fix Kimai 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/
chmod -R g+rw public/avatars/

Test Kimai before executing these commands (they are likely not required in a shared-hosting environment). You probably need to prefix them with sudo and the group might be called different than www-data.

Create database

Run the following command:

bin/console bin/console kimai:bundle:vacation: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/VacationBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache
    • Update database with bin/console bin/console kimai:bundle:vacation:install