Documentation

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 totalDays column 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.