This screen and the Contract menu can be seen by any user that has active contract settings.
The Absence screen can be seen by any user that has the absence permission.
Email notification
When managing absences, emails including the type of absence/comment/action/username/date-range will be sent out.
Notification emails will be sent to the user and the supervisor (if one is configured). The supervisor is a setting in the users profile.
Set up your teams
To ensure the workflow functions properly, you need to set up your teams in a specific way.
Create a team for each department or organisational unit.
- Add the supervisor as the team lead.
- Add each subordinate as a team lead.
This setup is required because otherwise the supervisor might not be able to see the user in the dropdown menu.
Approval workflow
There are 2 phases that each absence has to go through:
- New absence: moves the absence to the
Requestedlist and sends an email to the supervisor to ask for confirmation- Approval by the supervisor: the absence will be moved to the
Approvedlist and an email is sent to the user to confirm the approval - Rejection by the supervisor: the absence will be moved back to the
Newlist and an email is sent to the user to inform about the rejection
- Approval by the supervisor: the absence will be moved to the
- Approved absences: can still be deleted, until they are locked
How absences affect expected working time
Kimai supports two calculation modes for absences:
- Absences count as worked time and compensate the expected working time for the day (default)
- Absences reduce the expected working time for the day
The selected mode affects how total expected hours and worked hours are calculated for each month. This can be relevant for payroll, overtime, and PTO calculations.
You can configure the mode individually for each absence type in System → Settings, depending on your company rules and industry requirements.
1. Absences compensate expected working time for the day
In this mode, every scheduled working day keeps its full expected number of hours.
This means Kimai assumes that time must be accounted for on every working day, regardless of whether the employee is working, on vacation, sick, or absent due to a public holiday.
The absence duration is then counted as worked time and offsets the expected time.
Example: if a working day has 8 expected hours, a full vacation day will count as 8 worked hours.
2. Absences reduce the expected working time for the day
In this mode, an absence reduces the expected working time for the affected day by the duration of the absence.
Example: if a working day has 8 expected hours, a full vacation day reduces the expected working time for that day to 0 hours, and the worked time will also be 0 hours.
Absence types
Please read the chapter “How calculations work” to understand how your Working times are calculated.
Holiday / Vacation
When you are eligible for holidays, meaning that your contract settings have a value for Holidays per year, you can schedule your vacations here.
- Vacation days need to be approved
- Vacation days can be full days or half-days
- You can book ranges of holidays
- Days without expected working hours will be ignored when creating vacations
Sickness
Everyone can enter sickness entries.
- Sickness days are auto-approved
- Sickness days can be entered as date-range
- Sickness entries will always account for the (remaining) daily working time
- If you have already entered working-time the same day, sickness will fill up the remaining open time
- There are no “half-day” entries available, because a half-day of sickness means, that there needs to at least one time-entry with 50% of the expected working-time. Example:
- The expected working-time for the day is 8h
- The users entered a timesheet of 4h
- The user now adds a sickness entry: this will fill up the remaining 4h
My child is sick
Use the drop-down next to the “Report sickness” button and select the Sickness of a relative category.
Time-Off
PTO (personal time-off) entries are for informational purpose, they do NOT influence your actual workimg time by themselves.
- Time-Off needs to be approved
- Kimai reduces your working time account for that period, because you do not record working-time during your PTO
Other absences
Please add everything that does not fit the other categories in Other absences.
- The type
Other absencesneeds to be approved - Can be a date range or a duration
Parental leave
Parental leaves always cover a date-range of full days.
Unpaid holidays
Unpaid holidays cover a date-range of full days.
Absence calendar
The absence calendar is a monthly report at Report → Absence calendar. It shows one row per user and one column per day of the selected month, so you can see at a glance who is absent and when.
Typical use cases are planning team capacity, checking whether a requested vacation collides with another team member, or getting an overview of the current month before approving new requests.
Permissions
The permission absence is required to open the report.
With that permission alone, you only see your own row.
To see the absences of other users, you need one of these permissions:
view_other_absenceby default set for theTeamleadroleview_team_absencethis can be safely assigned to the normalUserrole
Both permissions unlock the same rows in this report and additionally show the team dropdown.
The difference: only with view_other_absence the usernames become links to the absence screen of that user, as it gives access to other features as well.
Which users are shown
- Without one of the above permissions, only your own row is shown
- With one of them, you see all members of your own teams
- Admins see all users, including users that are not assigned to any team
- Deactivated users and system accounts are never shown
By default, only users with an approved absence in the selected month are listed. Use the chevron button next to the filter to toggle the rows of users without absences. Showing all users turns the report from an absence calendar into an availability calendar.
If you select a team from the dropdown, all members of that team are shown right away, no matter whether they have absences in that period. The toggle works the same way and lets you reduce the list to members with absence entries again.
What the calendar shows
- Only approved absences are displayed - requested and rejected entries are not part of this report
- Each absence type has its own color and icon, hover a day to see the type as tooltip
- Public holidays of the user are highlighted with their own color and icon
- Days that are not working days for that user (for example weekends or days without expected working time) are shown in a different shade
The calendar shows one entry per day.
Half-days look exactly like full days, and if a user has multiple absences on the same day, only one of them is displayed.
For the exact durations and the remaining vacation days, open the Absence screen of that user.
Creating absences for next year
You can always only select absences for the currently selected year. If you want to create absence requests in advance for next year, you have to change the selected year by:
- clicking on the year dropdown and selecting the correct entry
- clicking on the button to move to the next year
Carry over absences into the new year
While this video talks about your time balance, the workflow is the same.
- Switch to the next year
- Go to “Manual bookings: Holiday”
- Open it and click “Create”
- Select the 01. January and
- Enter the remaining days from the previous year
- Enter a comment like “Remaining vacations from previous year”
- Save
Switch back to the previous year and remember to lock the entire year.
Read more about manual bookings in the Working times chapter.
Settings
Settings for Absences can be found under “Employment contract”.
You can configure these at System → Settings.
Absence: Comment is a mandatory field— Whether users have to enter a comment with their absence requestsAllow half days for holidays— Whether users can request half days of vacation. Turn it off if you only agree to full vacation daysAllow time entries only for days for which expected hours are defined in the employment contract— Prevents timesheets on days without expected working hours, e.g. a user working Monday to Thursday cannot record time on Fridays. The permissionworkdays_override_timesheetallows to bypass this validationOnly count entries of the selected project as working time— If a project is selected, only timesheets of this project are used to calculate the actual working time and all other timesheets are ignored for the employment contract. Leave it empty to count all timesheetsPublic holidays— The service used by the import dialog in the public holiday administration.Yasumiis the recommended default, useGoogleonly if Yasumi does not return any results for your country or regionCount as expected hours: Public holiday— When enabled, a public holiday counts as worked hours towards the expected daily hours. When disabled, the expected hours for that day are set to 0Count as expected hours: Sickness— When enabled, a sickness fills up the remaining hours of the day until the expected duration is reached. When disabled, it reduces the remaining expected hours of that day insteadCount as expected hours: Absence— Applies to the absence typeOther. When enabled, the configured absence duration counts as worked hours. When disabled, it reduces the expected hours by the same durationCount as expected hours: Holiday— Applies to vacation. When enabled, the vacation counts as worked hours towards the expected daily hours. When disabled, it reduces the expected hours by the duration of the vacation
The four Count as expected hours settings control the absence calculation mode and can be configured individually for every absence type.
Please note that the labels use the internal absence type names: Holiday means vacation, Public holiday means a day from the public holiday administration and Absence means the absence type Other.
The absence type Time-Off has no setting, because it never influences the working time calculation.
Permissions
| Name | Description |
|---|---|
absence |
View absences, e.g. the Absence screen at Employment contract > Absence or the Absence calendar |
edit_own_absence |
Edit the own absences |
edit_other_absence |
Edit other users absences |
delete_own_absence |
Delete the own absence entries |
delete_other_absence |
Delete other users absence entries |
view_team_absence |
Users can see all team members in the Absence calendar report |
view_other_absence |
Allows to switch the user in the Absence screen. Works like view_team_absence in the Absence calendar. Influences the visibility of absences in the calendar. |
approve_own_absence |
Approve own absence requests |
approve_other_absence |
Approve absence requests of team members (or whose supervisor is not set) |
approval_other_absence |
Request an approval on behalf of another user |
Read how to assign these permissions to your user roles in the permission documentation.
Related articles
- Working times – Contract management and working times
- Public holiday – Configure public holidays for your employees with working contracts.