Flex time & partial-day events
Every business has time that doesn’t fit into a classical hour grid: half a field-service morning, a 10–12 doctor’s appointment, an accumulated hour the employee wants paid out. Agenda solves these cases without Excel workarounds.
Flex time (flexitime) — how it grows
Every booking creates a daily balance: hours worked minus target hours. The difference feeds the employee’s flex time. Examples:
- Target 8h, actual 9h → +1h flex
- Target 8h, actual 7:30 → −0:30 flex
- Target 0h (weekend), actual 4h → +4h flex
Flex time accumulates daily and is visible in the flex account — both in the mobile year overview and the web monthly values.
Yearly cap
Most contracts limit how much flex can be accumulated per year (typically 50 hours). Anything beyond automatically flows into a separate spill bucket (“to be paid out”). You see both separately:
- Flex account — freely available as time off or payout
- Spill / paid — hours above the cap, marked for payout
The cap is configurable per branch. No one loses a single hour.
Request a flex payout
The employee opens “Flex payout” in the drawer:
- Current balance is shown big and color-coded
- Enter hours (HH:MM or decimal: 2:30 or 2.5)
- Optional: pick a cover / approver
- Optional: note
- Submit
The request flows through the same approval workflow as absences. On approval, the system debits the spill bucket first (these hours were destined for payout anyway) and takes the remainder from the regular flex account. All in one atomic transaction with an audit trail:
- Time account movement is logged
- Payout record is created with before/after values
- Time adjustment appears in the monthly values
- DATEV export picks up the value on the next run
Partial-day events — the gap between clock and vacation
“Dienstgang” is Agenda’s term for a sub-day event with start and end time — too short for a half vacation day, too important to leave uncaptured. Three templates ship by default, more can be added per branch:
| Template | Paid? | What for |
|---|---|---|
| Doctor visit | Unpaid | Appointment during work without continued pay |
| Home-office | Paid | Hours from home |
| Field service | Paid | Customer visit, delivery, external appointment |
Booking — mobile or web
The drawer entry “Partial-day” opens your list of entries. The “Book partial-day” button opens a slim form: type, date, start, end, optional note. The duration is calculated live (“4h 00m”) so you see what you’re about to submit.
Visualization
Partial-day events appear in both the personal year view and the group calendar with two distinct colors:
- Teal — paid partial-day (home-office, field service)
- Amber — unpaid partial-day (doctor visit)
The 2-letter code lives in the cell. On the web a hover tooltip additionally shows the
time window (08:00 – 12:00) — information classical year calendars cannot represent.
Late shift, Saturday, Sunday, holiday
Employees who regularly work at unusual times accumulate surcharge hours in dedicated buckets:
- Night surcharge (22:00–06:00, configurable)
- Saturday surcharge
- Sunday surcharge
- Holiday surcharge
- Overtime surcharge
These buckets fill automatically when the booking falls in the respective window — you don’t need to manually mark anything. In the DATEV export each bucket lands on its own wage-type code.
What you save
- No Excel with columns “carryover”, “earned”, “paid out”.
- No manual surcharge calculation at month end.
- No “skip payout this month, too complicated”.
- No forgotten field-service day that doesn’t show up anywhere.
Next steps
- Calendars & holidays — year and team overview
- Migration & onboarding — transfer flex balances from your old system