Everything PTODesk does
Organised by the thing you are trying to get right, rather than by pricing tier.
The accrual engine
Six methods, not a rules builder. That decision is what keeps setup to an afternoon and support to a few hours a month.
Annual frontload
The whole allowance granted on 1 January or on the hire anniversary.
Per pay period
Weekly, biweekly, semi-monthly or monthly. Semi-monthly produces 24 correct periods a year, which is where most UK and EU-built tools break.
Per hours worked
One hour earned per N worked, with the remainder carried so partial progress is never lost. Required by US statutory sick leave.
Monthly
A fixed amount each calendar month.
Unlimited
No quota tracked, but requests and the calendar still work.
Manual
Balances set by an admin, for policies that defy automation.
Accrual that shows its working
Vacation · semi-monthly
24 periods / year15 days ÷ 24 pay periods = 0.625 per cheque
Tenure tiers step up on the service anniversary
0–2 yrs
10 days
3–5 yrs
15 days
6+ yrs
20 days
Getting the edges right
The parts that generate support tickets everywhere else.
Mid-year proration
A June hire gets the correct opening balance with the arithmetic shown in the UI.
Tenure tiers
Ten days for years one and two, fifteen for three to five, twenty after that. Resolved at the accrual date, so the step up happens on the service anniversary.
Carryover and expiry
Cap what carries, and expire the balance after N days if your policy says so.
Configurable weekend
Saturday–Sunday, Friday–Saturday, or any pair. Never hardcoded.
Half days
Morning or afternoon, counted as 0.5 against the right end of the range.
Three distinct balances
Accrued, available and projected are labelled separately, because employees who see a projected total treat it as already earned.
Balances you can audit
Accrued
12.5
+0.63 this period
Available
8.5
4.0 pending
Used
6.0
this year
| 31 Jul | Accrual · semi-monthly | +0.63 | 12.50 |
| 19 Jul | Usage · 1 day, approved | −1.00 | 11.87 |
| 15 Jul | Accrual · semi-monthly | +0.63 | 12.87 |
| 15 Jun | Opening · prorated first year | +10.96 | 10.96 |
Every number is a sum of ledger entries — nothing stored that can drift.
Where your team already works
Nobody wants another tab open all day.
Slack
Request with a slash command, approve from the message. A decided request never keeps live buttons.
Calendar feed
Standard ICS for Google Calendar, Outlook and Apple Calendar. No account connection, no OAuth prompts.
Approval requests and decisions, sent from a dedicated subdomain with SPF, DKIM and DMARC aligned.
Microsoft Teams
Notifications through an incoming webhook. Notification-only — no approve buttons, and we say so rather than implying otherwise.
Google sign-in
Sign in with a Workspace account; new staff join the right company automatically.
Approve without logging in
Sara Malik requested 4 days of vacation
Tue 1 Sep – Fri 4 Sep · “Family trip, back Monday.”
Balance after
8.5 days
Also off
Nobody
Notice given
14 days
Approved by Ahmed — buttons replaced, balance updated, calendar synced.
Records and reporting
For the person who has to answer to payroll.
Ledger-backed balances
Every number is a sum of immutable entries. Nothing is stored as a running total that can drift.
Pay-period reports
Aligned to your actual cycle, including semi-monthly. The single most repeated complaint in this category.
CSV import
Column mapping and a dry run that reports every row as valid, warning or error before anything is written.
CSV export
Cells starting with = + - or @ are escaped, so an export cannot carry a formula injection into your spreadsheet.
Audit log
Every approval, denial, balance adjustment and policy change, with who and when.
Reports payroll can import
Time off · pay period 17
1–15 SepWhat we deliberately do not do
We are not the simplest tool in this category, and we are not trying to be. Several competitors have spent a decade polishing simple and give it away for up to ten users. If your whole requirement is “show me who is off on Friday”, one of them is probably a better fit.
PTODesk is built for the point after that: when accruals have to be right, when someone is hired in June, when you employ people in three states with three different sick-leave denominators, and when payroll needs a report that matches its own cycle.
See it on your own team
Free for five employees. No credit card.
Try for free