Exporting absences to payroll
Turn a month of approved leave into the file your payroll person imports — the absence CSV, leave-type codes and copy-paste agent prompts
Once a month, someone has to tell payroll who was away. Whether that lands in enova365, Symfonia or Comarch at a Polish accounting office, or any other payroll system, the handoff is the same three columns: who, what kind of absence in that system's codes, and how many days — counted inside the month exactly. SquadBear doesn't connect to payroll systems directly; it gives you those numbers, correct at the month boundary, in a file or through your agent. The import file is the one interface every payroll tool already understands.
The monthly numbers
Insights → Leave reports is the source. Pick the last month preset on the absence summary and export with the CSV button — one row per person, a column per leave type, plus a total. Two properties matter for payroll:
- Approved only. Pending requests don't appear. Run the export after approvals for the month have settled, and chase stragglers first (your agent can list pending requests that overlap the month).
- The month boundary is exact. Leave is counted per date, so a vacation running 28 July – 7 August contributes only its July working days to July's file — the August days wait for August. Nothing to split by hand.
Amounts are working days against each person's own schedule: a half day shows as 0.5, and a week off for someone on a four-day week counts 4. Leave is tracked to the minute, so these day figures are exact conversions of the underlying hours; if your payroll works in hours, multiply each day figure by that person's scheduled day length. The day counts here are the authoritative input.
Leave type codes
Every leave type carries a short code — Admin → Leave policies shows it next to the
type's name. A fresh workspace ships with Vacation (PTO), Sick leave (SICK) and Unpaid
leave (UNPAID). Your payroll system has its own vocabulary for the same ideas, so the
missing piece is a small, stable mapping — something like PTO → UW, SICK → ZLA in a
Polish setup, but whatever your payroll configuration actually expects. Write it down once,
and keep it where the export happens: in the accountant's runbook, or directly in the saved
agent prompt below.
For agents
A connected agent (set that up first) can pull the same figures and apply your mapping in one message, returning CSV text you save as a file. Both prompts map to real tools — the absence report and the calendar — not guesswork.
When payroll needs each absence as a date range (sick-leave documentation, for instance) rather than monthly totals:
For scripted pulls on a schedule, the same absence summary is available on the REST API with an API key.
Before you send it
- Late approvals happen. A sick leave approved after your cutoff shows up the next time you run the export — re-run the previous month alongside the current one and compare totals before a correction run surprises you.
- Spot-check agent-assembled files. The
totalDayscolumn exists precisely so the per-type rows can be cross-checked against it. - Reasons stay private. The export carries types and day counts, never the request's reason or any attachment — payroll doesn't need them.