Markus Michalski FAQ

LeaveFlow: Admin guide

Admin guide for LeaveFlow: company settings, users, employees, CSV import, departments, locations, absence types, leave balances, holidays, blackout periods, statistics, API tokens.

Deutsche Version

Back to overview

LeaveFlow: Admin guide

Admins reach all functions through the Admin menu in the header (groups Organisation, Leave & absence, System). After signing in, admins land on the statistics dashboard. Sign-in methods and integrations are on the page Sign-in and integrations, cron jobs on the page Operations.

Setup in the right order

After the setup wizard only the company and the admin account exist. Proceed like this:

  1. Review the Company settings (company profile, retention period, escalation threshold).
  2. Create Locations, because every employee needs one.
  3. Create Absence types: there are no predefined absence types. The seven types of the demo data (Urlaub, Resturlaub, Krankheit, Überstundenabbau, Sonderurlaub, Fortbildung, Berufsschule) only come from make fixtures, which deletes all data.
  4. Create Departments (optional, required for approval by team leads).
  5. Create Employees or import them by CSV.
  6. Create Users and link them to the employees.
  7. Create Leave balances for the current year. Without a leave balance for the year, LeaveFlow rejects requests that deduct from leave.

Company settings

Under Company settings (/admin/company/settings) you maintain the company profile.

Field Description
Company name Shown in the interface and in the PDF export
Address, Tax ID / VAT ID, Commercial register Appear in the letterhead of the PDF export
Logo (PNG/JPG/SVG, max 1 MB) Shown in the company settings, on the login page and in the PDF export, Remove logo deletes it
GDPR retention period (months) Default 36, allowed 1 to 360; see Privacy
Approval escalation threshold (days) Default 3, allowed 1 to 90: after this many days a pending request is reported to all active admins
Default: Remaining leave on employee exit Preset for the exit dialog

Below are the blocks for Google, Microsoft Entra ID, LDAP, Slack, Teams and the 2FA requirement, described under Sign-in and integrations.

The "Accent color" field is stored but has no effect in the interface.

Users

Users are the login accounts (/admin/users). The list shows 25 entries per page, can be filtered by status (All, Active only, Deactivated only) and searched by email or employee name.

Role Access
Employee Self-service: requests, leave balance, profile
Manager Additionally approvals for their own departments
Administrator Full access

Creating a user

  1. Open Create new user.
  2. Enter email, role and language. There is no name here, the name belongs to the employee record.
  3. Save. LeaveFlow sends an email with the link "Set password and sign in", valid for one hour.

Further actions in the list: Edit (role, language), Deactivate and Reactivate (inactive users cannot sign in, the history stays), Send reset (new password link) and Reset 2FA (the user sets up 2FA again).

Employees

Under Employees (/admin/employees) you manage the people who have leave. By default the list shows active employees only (filter: Active only, Inactive only, All).

Field Description
Full name, Employee number The employee number is unique per company
Location Determines the holiday calendar
Department Optional; without a department approvals go directly to the admin
Weekly hours, Working days, Distribution "Even" splits the hours across the working days, "Manual per day" allows your own hours per weekday (the sum must match the weekly hours)
Joined Start date; for a mid-year start LeaveFlow shows a note about the twelfths rule
Probation ends (optional) During probation only pro-rata earned leave hours are available
Left (optional) Date of leaving
Linked user Optional; only needed if the person should sign in

Further actions: Exit employee... (exit dialog with date and remaining leave policy), Request history (all requests with hours overview per year) and Export CSV.

CSV import

At /admin/employees/import: Download CSV template, fill it in, upload, check the preview and confirm with "Import … employees". Invalid rows block the import until the file is corrected.

Column Required Format
fullName yes Free text
employeeNumber yes Unique in the file and the company
locationName yes Name of an existing location (not the ID)
weeklyHours yes Number greater than 0, comma or dot
workingDays yes Comma list of 1 to 7 (Monday = 1), for example "1,2,3,4,5"
joinedAt yes YYYY-MM-DD or DD.MM.YYYY
leftAt no Date like joinedAt
userEmail no Email of an existing user that is not linked yet
departmentName no Name of an existing department

The delimiter is the comma. The import creates no users and has no role column, hours are split evenly across the working days.

Departments

Departments (/admin/departments) determine the approval chain.

Field Description
Name Display name
Team lead Decides on the department's requests; "No lead (admin approves)" is possible
Deputy May decide as well; must differ from the team lead
Active Inactive departments get no new approvals, requests go directly to the admin

Team lead and deputy can only decide if their user account has at least the Manager role. No default department is created automatically.

Locations

Locations (/admin/locations) determine the holiday calendar through the federal state. Required fields are Name, Country (two-letter ISO code), Federal state (ISO 3166-2, for example DE-BY) and City. The 16 German federal states are supported, for an unknown federal state the request preview reports "Your location has no supported federal state."

Absence types

Absence types (/admin/absence-types) define what can be requested.

Field Description
Name Unique within the company
Deducts from leave balance Whether hours are booked off the leave balance
Requires approval Without approval a request is "Recorded" immediately
Color Color in the team calendar
Active Inactive types cannot be chosen in the request form
Bucket binding Any bucket (FIFO), regular leave only or carryover only
Counts toward the 6-week illness threshold Counts the days for the illness alert after 42 calendar days

Leave balances

Leave balances (/admin/entitlements) show granted, used and remaining hours per employee, year and type. The default view is the current year, the filter lets you choose another year or "All years".

Type Meaning
Vacation Regular annual leave, valid for the whole year
Carryover Carried-over leave with an expiry date; the year is the year of use (carryover 2027 comes from 2026)

Creating an entitlement

  1. Open Add leave entitlement.
  2. Enter employee, year, type and "Granted (hours)".
  3. For carryover optionally set an expiry date (DD.MM.YYYY). It must not be before 31 March of the year. If left empty, the entry does not expire. An expiry date is not allowed for regular vacation.

There is exactly one entry per employee, year and type. For a mid-year start the form shows the twelfths rule (BUrlG §5) as a note. LeaveFlow does not calculate the pro-rata value itself, you enter it.

Adjusting

Edit changes the granted hours (not below the hours already used), Adjust expiry changes the expiry date of a carryover. Both require a reason and appear in the change history. Deleting is only possible while no hours are booked.

Year transition

Carryover for the following year is created by the cron job year-transition on 1 January at 01:00 or by the command app:entitlement:year-transition. Details are on the page Operations.

CSV export

Export as CSV returns the displayed balances as CSV (semicolon, UTF-8 with BOM, decimal comma).

Holidays

Under Holidays (/admin/holidays) you see the calculated holidays per year and federal state with the source "Calculated", "Added", "Removed" or "Company". LeaveFlow calculates the public holidays of all 16 federal states, including the movable ones derived from Easter.

Blackout periods

Blackout periods (/admin/blackout-periods) block requests in a period. Only admins manage them. Fields: Start, End, Reason and optionally a department (empty = company-wide). If a request overlaps a blackout period, LeaveFlow rejects it already in the preview and names the reason. In the team calendar blackout periods are shown with a red background.

Leave requests

Under Leave requests (/admin/leave-requests) you see all requests of the company with a status filter. In the detail view Change type changes the absence type of an already approved request. You enter the new type and a mandatory reason, LeaveFlow rebooks the hours and notifies the employee. You approve requests under Approvals.

Statistics

The statistics dashboard (/admin/statistics) is the admins' start page and can be filtered by year.

Export as PDF creates an A4 report with a letterhead from the company data. The CSV export of leave balances is on the leave balances page.

API tokens

Under API Access Tokens (/admin/api-tokens) you create tokens for the REST API. Create token asks for a name and optionally an expiry date in the future. The plain-text token appears exactly once. The list shows Created, Last used, Expires and Status (Active, Revoked, Expired). Revoke blocks the token immediately.