Radno vrijeme, praznici, bolovanja, državni praznici
Upravljanje zaposlenicima: Radno vrijeme i prekovremeni rad. Godišnji odmori, bolovanja i slobodni dani. Upravljanje državnim praznicima i integracija s kalendarom. Mjesečna odobrenja s PDF datotekom.
Kevin Papst
Introduction
Please read the documentation pages! We have created many videos about the usage of this plugin:
Working contract
This plugin 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 (lock and unlock months)
- See if your users have missing days (no times entered on days where they had to work)
Absence management
This plugin adds the Absence management 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
Absence calendar
It adds a new Absence calendar (under Reporting) for all users or selected teams in a monthly grid:
- Show absences
- Shows available users
- Shows both approved and requested absences
Public holidays
It also 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 for each year (check if your country is supported).
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
startingandendingday, limits the working hours calculation to the real contract start and end dates
Other features
- The timesheet calendar shows all absences (sickness, vacation…) and public-holidays.
- You can import data from the MR plugins (Controlling, Sickday, Vacation)
Roadmap
We have many ideas and the community even more! We are excited to share these feature requests for the plugin on our roadmap. Please share your votes and input in the existing issues or create new ones.
Break times (manual and automatic)
PlannedManually Our employees are required to record exact start and end time of their breaks, but this feature does not exist in Kimai. Instead, we have to stop the timer, go on break, and then...
Monthly & Yearly Employee Reports (Work Time, Balance, Leave Overview)
OpenDescription It would be highly valuable to have monthly and yearly reports for each employee that consolidate all relevant working‑time and absence information in one place. The report should present: Total working days within the...
Deletion of manual bookings
OpenWe would like to enter manual booking times for people with more flexible working contracts. But we were met with the following message: Manual bookings can neither be subsequently changed nor deleted! This is a...
Option to carry over annual leave days from the previous year
PlannedDescribe the problem WorkContract records (not only) vacation days throughout the year, but does not yet offer the option to carry over and manage remaining vacation days to the next year. This currently has to...
Working Contract: Overtime Capping
OpenWe would like to investigate the possibility to cap overtime to an upper limit, cutting off any additional hours. Is this something on the agenda or (easily) doable from outside the plugin? Original GitHub issue...
Working Contract: Multiple contracts per user
OpenWe have a lot of users that change their working payload. For example with Elternzeit or our students. To have a reliable overview of the time diff per month, it would be great if we...
Support for multiple working contracts
OpenI am using the employee account plugin since last year and seeing with great pleasure how it develops. Even it is already listed in the ideas-list I want to post this feature request in order...
Global Company Vacation Days (Mandatory Vacation Days)
OpenDescription It would be very helpful to have a feature that allows the organization to define global company vacation days (company shutdown days). Functionally, this would work similarly to manually creating public holidays, with one...
Time Off: Support for Multi-Day Requests
In progressIt would be great if the Time Off form allowed users to request multiple days or half days. Ideally, the duration should be optional—for example, in cases where someone only wants to take a few...
Working Contract - Add replacement for vacation
OpenCurrently for the approval workflow it is only required for the supervisor to approve vaction days. It would be nice if there was an option to add a coworker as a replacement for vacation days....
Instalacija
Kopiraj datoteke
Extract the ZIP file and upload the included directory and all files to your Kimai installation to the new directory:
var/plugins/WorkContractBundle/The file structure needs to look like this afterwards:
var/plugins/
├── WorkContractBundle
│ ├── WorkContractBundle.php
| └ ... more files and directories follow here ...Isprazni predmemoriju
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/
You might not need these commands in a shared-hosting environment.
And you probably need to prefix them with sudo and/or the group might be called different from www-data.
Stvori bazu podataka
Run the following command:
bin/console kimai:bundle:workcontract:installThis will create the required database tables and update them to the latest version.
If you see an error like There are no commands defined in the "kimai:bundle:XYZ" namespace.,
then either the directory has a wrong name (must be var/plugins/WorkContractBundle/) or you forgot to clear the cache (look above).
Aktualiziranja
Updating the plugin works exactly like the installation:
- Delete the directory
var/plugins/WorkContractBundle/ -
Execute all installation steps again:
- Kopiraj datoteke
- Isprazni predmemoriju
- Update database with
bin/console kimai:bundle:workcontract:install
Dnevnik promjena
Version 1.37.1
Compatibility: requires minimum Kimai 2.69.0
- Fix: negative duration in manual booking weren’t possible in 1.37.0 with Kimai 2.68.0
Version 1.37.0
Compatibility: requires minimum Kimai 2.66.0
- Absence calendar
- Now also shows pending absences
- The dropdown also offers the next 12 month as selection
- The link to “absence calendar” from Working times view goes to
- the current month if the view shows the current year
- or to the start of the currently shown year, if it is not the current one
- Compatibility with the “sticky first report column” feature of Kimai core (only works with 2.68)
- Fix: the form to “edit an existing absence” could not be opened
Version 1.36.1
Compatibility: requires minimum Kimai 2.66.0
- Fix: mail links with subregion locales failed - e.g.
/de_DE/is now created as/de/
Version 1.36.0
Compatibility: requires minimum Kimai 2.66.0
- Use
defaultas placeholder for default public holiday group - API now returns absence
comments - Allow to set
commentwhen rejecting absence via API - New API endpoints for manual working time bookings:
- Fetch
GET /api/manual-bookings/working-times/{user} - Create
POST /api/manual-bookings/working-times/{user}
- Fetch
- New API endpoints for manual holiday bookings:
- Fetch
GET /api/manual-bookings/holidays/{user} - Create
POST /api/manual-bookings/holidays/{user}
- Fetch
- Absence calendar:
- Allow to toggle visibility of users without absences in the initial screen
- Show all users, with and without absences, on team pages and allow to toggle their visibility
- Show user avatar
- A user with either
view_other_absenceorview_team_absencecan see all team-members
Version 1.35.0
Compatibility: requires minimum Kimai 2.54.0
- Removed invalid API endpoint
DELETE /api/lock/{user}/{month} - Setup default work-contract preferences for new users via API
Version 1.34.0
Compatibility: requires minimum Kimai 2.49.0
Absence calendar:
- Show public holidays
- New permission
view_team_absenceto show all team member to regular user - Mark non-working days (light grey background)
Version 1.33.0
Compatibility: requires minimum Kimai 2.49.0
- Added monthly absence report
Version 1.32.0
Compatibility: requires minimum Kimai 2.49.0
- Fix: Month could not be approved if rejected absences existed for that period
Version 1.31.0
Compatibility: requires minimum Kimai 2.49.0
- Fix: “half public holiday and half-day absences” caused to reduce only by 75%
- Fix: calculations between absences with and without duration could mis-calculate depending on creation order
- Added missing icons for annual listing page
Version 1.30.1
Compatibility: requires minimum Kimai 2.48.0
- Fix “monthly timesheet PDF” has a closing parenthesis after the personnel number
Version 1.30.0
Compatibility: requires minimum Kimai 2.48.0
- Configure if absences/sickness/vacation/public holidays count toward or reduce the expected working-time
- Use new styles and icons from core
- New API endpoint: check if a date is locked
Version 1.29.0
Compatibility: requires minimum Kimai 2.32.0
- New configuration to deactivate half-day vacation bookings
- New API endpoint to lock months
- Absence form: remove all fields except comment when editing an existing entry
- Fix: editing a vacation comment failed, if all holidays were taken
- Use HttpClient to read public holidays from Google (fixes calls behind proxies)
Version 1.28.0
Compatibility: requires minimum Kimai 2.32.0
- Allow to request an absence again for the same day, if it was rejected before
- Count planned/future time-offs, to show the correct amount in the overtime account
- Do not count rejected entries for any absence type statistic
Version 1.27.0
Compatibility: requires minimum Kimai 2.32.0
- Fix: Absences on the last day of the month weren’t approved
- Fix: Public holidays on the last day of the month were ignored in calculation
Version 1.26.0
Compatibility: requires minimum Kimai 2.32.0
- Fix a timezone issue in approval dialog
- Unlock absences in combination with the month
Version 1.25.0
Compatibility: requires minimum Kimai 2.32.0
- Do not allow importing empty public holiday selection
Version 1.24.0
Compatibility: requires minimum Kimai 2.32.0
- Added API endpoint to create absences
- Improved API documentation
Version 1.23.1
Compatibility: requires minimum Kimai 2.32.0
- Fix API absence calendar call
Version 1.23.0
Compatibility: requires minimum Kimai 2.32.0
- Added API parameter to fetch all/open/approved absences
Version 1.22.0
Compatibility: requires minimum Kimai 2.32.0
- Unlock approved months (with new permission
unlock_times_contract) - Fix: Validate entire lock period for pending absences
Version 1.21.0
Compatibility: requires minimum Kimai 2.30.0
- Fix timezone issue in approvals and PDF
Version 1.20.0
Compatibility: requires minimum Kimai 2.30.0
- Configure a project, which is exclusively used for attendance tracking
Version 1.19.0
Compatibility: requires minimum Kimai 2.28.0
- Allow to switch between Google and Yasumi provider for public holidays
- Do not send emails to deactivated users (both user and supervisor)
- Link from user profile to absence screen
Version 1.18.0
Compatibility: requires minimum Kimai 2.28.0
- Remove the
Newstate from approval workflow for new entries - Auto approve
sickness - Pre-check all absences in
newandrequestedstate, so people find the batch-actions easier
Version 1.17.0
Compatibility: requires minimum Kimai 2.25.0
- API:
- [BC break] fix route names for /request/approve/reject (added /absences prefix)
- [BC break] new calendar route for absences and public-holidays (those were previously the main routes)
- [BC break] new return structure for GET /absences and /public-holidays
- added route to fetch all registered absence types
- Fix multiple redirects in public holiday management
- Fallback: “Import from Google public holiday calendar” if
Yasumiis not available (caused by a timezone error on some PHP installations)
Version 1.16.2
Compatibility: requires minimum Kimai 2.25.0
- Fix: only the first 10 absences were shown
- Fix: statistics were calculated from approved absences only
Version 1.16.1
Compatibility: requires minimum Kimai 2.25.0
- Fix: approvals without date
Version 1.16.0
Compatibility: requires minimum Kimai 2.25.0
- Added Approval workflow for absences
- All existing absences will be automatically set to “approved” during update
- Added
Absencecolumn to Monthly Approval PDF - Moved
Public holidaysmenu toAdministration - New API methods:
- delete absence
- delete public holiday
- delete public holiday group
- Use translations from Kimai core
- Use faster API on
All timeslisting (save many DB queries) - Fix “last half day of vacation” could not be booked
- Fix jumping back to current year, if changing absences in other year
- Internal: PHPStan 2 with strict and deprecation rules activated
Version 1.15.0
Compatibility: requires minimum Kimai 2.24.0
- Configure the users last working day
- Preview the “Monthly approval PDF” before locking the month
- Rename migration config for compatibility with new plugin installer
ATTENTION: Incompatible with Kimai 2.25.0. Please wait for the next plugin release before updating Kimai!
Version 1.14.0
Compatibility: requires minimum Kimai 2.22.0
- New working-hours calculation modes: “Hours per month” and “Hours per week”
- Fixed: using an Absence with duration caused plus hours
Version 1.13.0
Compatibility: requires minimum Kimai 2.21.0
- Allow to define a duration for “other” absences
- Improved responsiveness on public-holiday screen
- Fixed: last half-day of vacation can’t be booked
- Refactoring: namespaces, unused services, repository methods
Version 1.12.0
Compatibility: requires minimum Kimai 2.19.0
- Fixed: booking vacation on “half-day” public holidays wasn’t possible
- Fixed: raise max vacation days from 20 to 30
- Fixed: approved timesheets can be deleted
- Fixed: edit dialog for approved timesheets can be opened
- Added: new configuration to disable timesheet booking on non-working days
- Added: new permission
workdays_override_timesheetto skip the above validation, e.g. for admins
Version 1.11.0
Compatibility: requires minimum Kimai 2.17.0
- Added: new API methods to fetch public holidays
- Removed: public holidays from Absence API
- Fixed: showing own absences in other users calendar
- Fixed: use new
hours_other_profilepermission from core
Version 1.10.0
Compatibility: requires minimum Kimai 2.12.0
- Changed: support attribute caching in Voter
- Fixed: permission check for PDF download
- Fixed: public holidays in calendar missing
Version 1.9.0
Compatibility: requires minimum Kimai 2.12.0
- Added: system configuration to set absence comment-field optional
- Added: allow to assign half days for user contract “holidays per year”
- Added: allow to use half days in “manual bookings”
- Added: allow to set duration for “sickness”
- Added: auto-approve all open days of the year before the lock date
- Changed: single line comment field for “manual bookings” form
- Fixed: use correct base class for migration - removes Doctrine deprecation warning
Version 1.8.0
Compatibility: requires minimum Kimai 2.11.0
- Added: absence types have a color
- Added: use type colors on absence screen and for calendar entries
- Fixed: translate calendar entries in current locale, instead of absence users locale
- Fixed: do not show error on calendar if
absencespermission is deactivated for a user - Changed: use refactored language vs locale from user for email generation
Version 1.7.0
Compatibility: requires minimum Kimai 2.10.0
- Added: send notification email to supervisor for new absences
- Added: cross-link absence and work-contract page
- Added: trigger event when absences are created
- Fixed: editing absences could show fields (like “half day” for sickness) that should not be there
Version 1.6.0
Compatibility: requires minimum Kimai 2.9.0
- Fixed: export of absences caused 500
- Changed: replaced DateTime with DateTimeInterface / DateTimeImmutable
Version 1.5.0
Compatibility: requires minimum Kimai 2.8.0
- Added: new category to book “unpaid holiday” absences
- Added: generic calculation logic to prevent required adjustments for new categories
- Added: different duration limitation for absence types (e.g. 75 days in one booking for parental leave)
- Added: command
bin/console kimai:bundles:workcontract:absence-typesto debug absence types - Fixed: time calculation for new “child is sick” and “parental leave” categories
- Fixed: deprecation by using DateTimeImmutable
Version 1.4.0
Compatibility: requires minimum Kimai 2.7.0
- Added: manual adjustments for holidays, e.g. top up available days with remaining days from last year
- Added: added category to book “child is sick” absences
- Added: added category to book “parental leave” absences
- Added: prevent booking absences across a time-range of two years
- Added: limit selectable time-range to selected year
- Fixed: day calculation of vacations with public holidays in between
Version 1.3.0
Compatibility: requires minimum Kimai 2.5.0
- Fixed: adapted collapsible boxes for Kimai 2.5.0
- Fixed: allow booking holidays with public holidays within the selected date-range
Version 1.2.0
Compatibility: requires minimum Kimai 2.1.0
- Fixed: some users could not see public holidays in the calendar
- Fixed: route mapping type changed to attribute
- Fixed: Homepage link in extension screen
Version 1.1.0
Compatibility: requires minimum Kimai 2.0.34
- Added: data migration from MR plugins
- Added: show absences in calendar
- Added: show public-holidays in calendar
- Added: export absences to excel
- Fix: possible pagination issue
Isprobaj
Ovaj dodatak možeš testirati na demo.kimai.org:
Korisničko ime: susan_super
Lozinka: password
Snimke ekrana
ČPP
Ova često postavljana pitanja pruža programer ove ponude.
All paid plugins are annual subscriptions. Read more about the exact license details here.
You can buy the plugin via the Marketplace LemonSqueezy and pay with Credit Card or PayPal for immediate access. You can also get in touch and pay with wire transfer or SEPA, but you will have to wait a few days before getting access to the plugin.
Basic support is included and I am happy to help occasionally with simple issues. Larger support-questions and bug-reports will be answered in this Github repository. Customers who bought a plugin including support can write to support@kimai.org.
If you purchase a plugin subscription, you’ll receive all updates, bugfixes, and support for one year. After the subscription ends, your plugin will continue to work without any restrictions – you can keep using the last version you downloaded. This model is known as a perpetual fallback license. However, access to future updates, new features, and compatibility fixes require an active subscription.
No, refunds are not available. Kimai plugins are delivered as digital downloads and cannot be returned once the source code has been accessed. Additionally, payment providers charge non-refundable transaction fees, even if a refund were issued. For these reasons, all sales are final. The same applies for subscriptions that were not canceled in time. Please try the demo versions or contact us before purchase if you’re unsure whether a plugin fits your needs.
Kimai