99€ (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 which checks if one of your users violated the German break time law + nominal and actual work time comparison + overtime view
Last update: 09 Oct 2020


  • See if your users have overtimes or undertimes (since first day in company, per month, per day - all in separate views)
  • Check if they violate the German break time law “Arbeitszeitgesetz (ArbZG) § 4 Ruhepausen”
  • Users see how much overtimes or undertimes they have + how much they’ve worked already in the current month and how much they still have to work in the current month
  • Filter data per user, time period, and so on
  • E-Mail to user to notify him, that he has violated the German break time law via cronjob
  • Overview for Administrators to see all calculated times in one view
  • Get notified if one of your user’s birthday is coming soon
  • See all information in the dashboard
  • Get notified if one of your user has a anniversaries like 5 years in company
  • Handout for employees as PDF to see the worked hours of the month
  • Handout downloadable as a single PDF file for all employees or easy sendable via email to each employee (even to his private email account!)
  • Detect overlapping times with one click
  • See if your users have missing days (no times entered on days where they had to work)
  • Fully configurable via GUI
  • See with one view in Billing/Export tabs a summery of all entries which are not cleared yet
  • Users can tag their time spent in home office. At the end of the year this plugin provides every user a comprehensive overview as PDF of the time spent in home office. This is important for tax reasons.



This bundle ships a new administration screen, which will be available for all users with the ROLE_SUPER_ADMIN role. All other users will only see the normal screen.


The badge in the menu at the entry “Check” does:

  • For SuperAdmin: Breaktime Violations - Differences in overtimes
  • For normal users: Overtime - Worked time this month/Target hours this month


Create the following fields using the meta-fields plugin:

  • Timesheets:
    • Ticket number (Integer)
  • User:
    • Daily working time (Duration)
    • First working day (Date)
    • Private E-Mail (Text)
    • Birthday (Date)

Next click on check in the menu and select the settings tab and select the matching meta-fields from the dropdowns.

Users to exclude

Here you can select a list of users that will be ignored in the breaktime-check.

Projects to exclude

This lets you exclude projects from breaktime-checks. This can be used for vacation days for example.


Command Description
bin/console timesheet:sendpdf Send mails to users with their timesheet of the current month as an attachment
bin/console rulebreakchecker:sendmails If you want to send notification email to Admin and User who violated the Break Time Law then you can call following cli command. Make sure Execute cronjob only once when you want to send email because it will send email everytime it found Rule Break.
bin/console birthday:sendmails Will send mails to all superadmins if any user has birthday on the current day



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:

├── ControllingBundle
│   ├── ControllingBundle.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.


Updating the plugin works exactly like the installation:

  • Delete the directory var/plugins/ControllingBundle/
  • Execute all installation steps again:
    • Copy files
    • Clear cache