Methodology
This page explains exactly how the PTO accrual calculator turns a policy into a balance, so anyone can reproduce a result by hand. All examples are synthetic.
Formula
balance = starting balance + accruals + adjustments − time off used
Units and rounding
Every amount is stored and added as a whole number of minutes. Hours shown with two decimals are only a display format; the exact value is also shown in hours and minutes. When an amount must be rounded, it is rounded to the nearest minute, with half a minute rounded up. No binary floating-point arithmetic is used for totals.
Pay period schedules
- Biweekly: a pay period ends every 14 days, counted from the first pay period end date you enter.
- Semimonthly: pay periods end on the 15th and on the last day of each month, including February 29 in leap years.
A pay period accrues on its end date if that date falls within the calculation range. Partial periods are not prorated.
Annual amount spread across periods
When a policy states an annual amount, the calculator counts the pay period end dates in the policy year (24 for semimonthly; 26 or 27 for biweekly). Each period receives the annual minutes divided by that count, rounded down. The final period of the policy year receives the remainder, so the year adds up to the annual amount exactly.
| Annual hours | Schedule | Periods | Per period | Final period | Total |
|---|---|---|---|---|---|
| 80 | Semimonthly | 24 | 3 h 20 min | 3 h 20 min | 80 h |
| 80 | Biweekly | 26 | 3 h 04 min | 3 h 20 min | 80 h |
| 80 | Biweekly | 27 | 2 h 57 min | 3 h 18 min | 80 h |
For example, with 26 periods: 4,800 minutes ÷ 26 = 184 minutes (3 h 04 min), rounded down. Twenty-five periods give 4,600 minutes, so the final period gives 200 minutes (3 h 20 min).
Hours-worked accrual
The rate is multiplied by the minutes worked in each pay period. Example: 80 hours worked × 0.0385 = 184.8 minutes, which rounds to 185 minutes (3 h 05 min).
Accrual cap
A cap limits accruals only. If an accrual would take the balance above the cap, only the part that fits is added and the rest is shown as not accrued. Example: with a balance of 38 hours, a cap of 40 hours, and an accrual of 4 hours, 2 hours are accrued and 2 hours are not. Adjustments are never reduced by the cap, and a starting balance above the cap is kept as entered.
Amounts in days
An amount in days is multiplied by the workday length you enter. Example: 2 days × 7 h 30 min = 15 hours. The calculator does not assume an 8-hour workday.
Order of same-day entries
When entries share a date, accruals are applied first, then adjustments, then time off used. This keeps the result the same no matter what order entries were typed in.
Balance to date and projected balance
If the end date is in the future, the result shows two figures: the balance to date, which counts only entries dated today or earlier, and the projected balance, which also counts future accruals and planned time off. Future rows in the ledger are marked as projected.
Negative balance
If the policy does not allow a negative balance, an entry that would take the balance below zero is reported as an error. If it does, the negative balance is shown and labeled.
What is not covered
- Proration of partial pay periods
- Carryover limits and expiry of unused PTO
- Weekly, monthly, or other pay schedules
- State or local leave laws, statutory sick leave, FMLA, and payout rules
- More than one person per calculation, or ranges longer than 3 years
Formula version
Current version: us-accrual-1.0.0. Every result and CSV export records the version that produced it.
Change log:
- 1.0.0 — initial version
Reviewed by José Luis Pérez on