Time off

PTO Accrual Liability Calculator

Forecast paid time off for up to 10 employees and 3 leave banks over up to 12 months, event by event from your own policy rules: accrual by hours worked, pay period, calendar month, anniversary year or annual front-load, with service tiers, waiting periods, balance, annual and carryover caps, negative floors, usage, resets with forfeiture and payouts at separation, giving the closing balances in hours and days, the gross leave value and the payout-eligible liability at each month end, and an 11 by 11 grid that scales usage and wages. Estimates for education, not payroll, accounting or legal advice.

Last updated

Calculator overview

Inputs and outputs

This summary comes from the calculator's published input and output contract.

Inputs

Service tiers
When omitted Blank
About this input

Service tiers per bank: from how many months of service each accrual amount applies. The first tier starts at 0 months.

Default 3 rows
ColumnRange or allowed values
B1 Months 0 to 600
B1 Amount 0 to 4000
B2 Months 0 to 600
B2 Amount 0 to 4000
B3 Months 0 to 600
B3 Amount 0 to 4000
Actual usage through
When omitted Blank
About this input

Usage on or before this date counts as already taken and is never scaled. Needed only for the after-actuals assumption.

Unit date Default Not set
Leave banks and policies (required)
About this input

One row per leave bank (up to 3): how it accrues, resets, caps, carries over and pays out. A blank row is an unused bank.

Default 3 rows
ColumnRange or allowed values
Bank Name Not declared
Accrual Method Hours worked, Pay period, Calendar month, Anniversary year, Annual front-load, Imported postings only
Pay Frequency Weekly, Biweekly, Semimonthly
Period Anchor End Not declared
Reset Basis Calendar, Anniversary
Reset Month 1 to 12
Reset Day 1 to 31
Waiting Days 0 to 3660
Balance Cap 0 to 10000
Annual Earning Cap 0 to 10000
Carryover Cap 0 to 10000
Allow Negative Yes, No
Negative Floor -10000 to 0
Payout Eligible Yes, No
Payout Cap 0 to 10000
Scale By FTE Yes, No
FrontLoad First Year Prorated, Full
FrontLoad Regrant Yes, No
Imported Through Not declared
Annual work hours for salaried pay (required)
About this input

Hours in a working year, used to turn an annual salary into an hourly value for leave. 2,080 (40 hours for 52 weeks) is an illustration; use your own policy figure.

Unit hours/year Default 2080 Range 1 to 8784
Wage increase (required)
About this input

Raises every hourly valuation rate from the effective date, for example 3% as 0.03. It changes the value of leave and payouts, never the hours.

Unit % Default 0 Range -0.99 to 1
Wage increase effective
When omitted Blank
About this input

Date from which the wage increase applies. Leave blank to apply it from the forecast start.

Unit date Default Not set
Usage rate (times scheduled usage) (required)
About this input

Multiplies the hours of the usage events chosen by the scheduling assumption. 1 uses them as entered; 1.2 means 20 percent more usage on the same dates.

Unit x Default 1 Range 0 to 5
Usage scheduling assumption (required)
About this input

Which usage the usage rate scales: every scheduled usage event, or only usage dated after the actual-usage date. Dates never move.

Default All scheduled usage Allowed All scheduled usage, Usage after actuals date
Employees (required)
About this input

One row per employee (up to 10), with synthetic IDs only: hire and termination dates, pay, and opening balances per bank.

Default 6 rows
ColumnRange or allowed values
Employee ID Not declared
Hire Date Not declared
Termination Date Not declared
FTE 0 to 1
Hours Per Day 0.01 to 24
Pay Basis Hourly, Salary
Hourly Rate 0 to 10000
Annual Salary 0 to 10000000
Opening Rate 0 to 10000
Open B1 -10000 to 10000
Open B2 -10000 to 10000
Open B3 -10000 to 10000
YTD B1 0 to 10000
YTD B2 0 to 10000
YTD B3 0 to 10000
PTO events
When omitted Blank
About this input

Up to 200 dated events, sorted by date then event ID: hours worked, imported accrual postings, usage, adjustments, rate changes and separations.

Default 90 rows
ColumnRange or allowed values
Event ID Not declared
Employee ID Not declared
Bank 1, 2, 3
Event Date Not declared
Event Type Worked hours, Accrual posting, Usage, Adjustment, Rate change, Separation
Hours -2080 to 2080
Value 0 to 10000000
Calculation (required)
About this input

Calculate runs the employee and bank ledger. Scenario grid also runs 121 combinations of usage rate and wage increase, which takes longer.

Default Calculate Allowed Calculate, Scenario grid
Employer burden on leave value
When omitted Blank
About this input

Employer taxes and benefits added on top of the leave value, as a share of it. Leave blank to report no burden; 0% reports a burden of zero.

Unit % Default Not set Range 0 to 1
Grid step: usage rate (required)
About this input

Distance between the 11 usage rates of the scenario grid, which run 5 steps below and above the usage rate.

Unit x Default 0.1 Range 0.01 to 1
Grid step: wage increase (required)
About this input

Distance between the 11 wage increases of the scenario grid, which run 5 steps below and above the wage increase.

Unit % Default 0.01 Range 0.001 to 0.2
Forecast end (required)
About this input

Last day of the forecast, at most 12 months after the start. Closing balances and the year-end liability are as of the end of this day.

Unit date Default 2026-12-31
Forecast start (required)
About this input

First day of the forecast. Opening balances and earned-this-year figures are as of the end of the day before.

Unit date Default 2026-01-01

Outputs

Payout value (cash)
About this output

Cash paid out at separations during the forecast, in dollars.

Unit $
Paid out at separation
About this output

Hours paid out at separation, up to each bank payout cap.

Unit hours
Opening balance
About this output

Sum of the opening balances, in hours.

Unit hours
Accrued, not yet posted at the end
About this output

Accrual earned in pay periods still open at the forecast end, before caps. It is not in the closing balance.

Unit hours
Value of unpaid hours at separation
About this output

Value of the hours left unpaid at separation, at the rate on the separation date.

Unit $
Unpaid at separation
About this output

Positive hours left at separation that the payout policy does not pay.

Unit hours
Negative closing balances (not netted)
About this output

Sum of the negative closing balances. They never reduce the leave value of other employees.

Unit hours
Earned (accrued and imported)
About this output

Hours accrued during the forecast, including imported accrual postings, after caps.

Unit hours
Closing balance
About this output

Sum of the closing balances at the forecast end; negative balances are included here and shown separately below.

Unit hours
Adjustments
About this output

Net hours added or removed by adjustment events.

Unit hours
Of which imported postings
About this output

Part of the earned hours that came from imported accrual postings.

Unit hours
Front-loaded
About this output

Hours granted up front at resets or at eligibility, after caps.

Unit hours
Forfeited at reset
About this output

Hours lost at resets because they exceeded the carryover cap.

Unit hours
Usage not deducted (below the floor)
About this output

Requested usage that was not deducted because it would have taken a balance below its allowed floor.

Unit hours
Status code
About this output

The short code of the reason shown in the status line, for example EV-4-MAX for an event row whose date is after the forecast end; OK when nothing applies.

No unit declared
Workbook self-check
About this output

PASS when the internal consistency checks of the model agree; FAIL means the result should not be relied on.

No unit declared
Reference data version
About this output

Reference data used: none, because every policy value in this calculator is entered by you.

No unit declared
Warning messages
About this output

The active warnings, each with its code.

No unit declared
Warnings Table
About this output

Every warning code with how many employee-banks or rows it affects, the first one, and its message.

No unit declared
Warnings
About this output

Number of warnings that apply to this result.

No unit declared
Model version
About this output

Version of the calculation model.

No unit declared
Of which from hours
About this output

Part of the change explained by hours, at opening rates.

Unit $
Change in leave value
About this output

Change in leave value from the opening to the closing balance.

Unit $
Used
About this output

Leave hours taken and deducted from balances.

Unit hours
Model Status
About this output

OK, CHECK with the reason a result needs attention, or NOT VALID with the input to fix.

No unit declared
Custom assumptions in use
About this output

Always true here: every accrual, cap and payout rule is your own policy assumption, never a legal rule.

No unit declared
Of which from rates
About this output

Part of the change explained by rate changes and the wage increase.

Unit $
Employee rows used
About this output

Number of employee rows filled in.

No unit declared
Employee rows to fix
About this output

Number of filled employee rows with a problem to fix.

No unit declared
First employee row problem
About this output

The first problem found in the employee rows, with its row and ID; blank when there is none.

No unit declared
First event row problem
About this output

The first problem found in the event rows, with its row and ID; blank when there is none.

No unit declared
CB05 Events Check
About this output

OK, blank for an unused row, or the first problem in that event row.

No unit declared
CB05 Event Ledger
About this output

For each event row that closes a day of usage or adjustments: the balance after that day, credits since the previous step and any usage not deducted.

No unit declared
CB05 Employees Check
About this output

OK, blank for an unused row, or the first problem in that employee row.

No unit declared
Burden applied
About this output

Yes when a burden rate was entered.

No unit declared
Totals by leave bank
About this output

Totals per leave bank.

No unit declared
Calculation evaluated
About this output

The calculation that produced these results.

No unit declared
Burden on payouts
About this output

Employer burden on the cash payouts.

Unit $
Burden on the payout-eligible liability
About this output

Employer burden on the payout-eligible liability.

Unit $
Burden on the gross leave value
About this output

Employer burden on the gross positive leave value.

Unit $
Event rows to fix
About this output

Number of filled event rows with a problem to fix.

No unit declared
Payout-eligible modelled liability at the end
About this output

Value of the closing balances that the payout policy would pay at separation, up to each payout cap.

Unit $
Opening leave value
About this output

Value of the positive opening balances at the opening valuation rates.

Unit $
Liability at each month end
About this output

Gross positive leave value and payout-eligible liability at each month end and at the forecast end.

No unit declared
Scenario grid: reasons for blank cells
About this output

The reason for each blank cell of the scenario grid, in the same layout: usage rates in the first column, wage steps across.

No unit declared
Scenario grid: gross positive leave value at the end (rows: usage rate; columns: wage increase)
About this output

Gross positive leave value at the forecast end: one row per usage rate (the first column) and one column per wage step, from -5 steps to +5 steps (the wage increases are in the wage axis). Blank where the reasons table explains why.

No unit declared
CB05 Policy Check
About this output

Blank, or the first problem in that bank row.

No unit declared
Ledger by employee and bank
About this output

One row per employee and bank: opening, earned, front-loaded, adjusted, used, forfeited, paid out and closing hours, and their values.

No unit declared
Scenario grid center
About this output

Center cell of the scenario grid, which must equal the gross positive leave value of the base case.

Unit $
Grid center equals the base case
About this output

PASS when the grid center equals the base case to the cent.

No unit declared
Event rows used
About this output

Number of event rows filled in.

No unit declared
Gross positive leave value at the end
About this output

Value of every positive closing balance at the closing rate. A modelled estimate, not an accounting certification.

Unit $
CB05 Grid Wage Axis
About this output

The wage increase step, then the 11 wage increases of the scenario grid columns under their step headings (-5 steps to +5 steps); blank outside Scenario grid mode.

No unit declared
CB05 Grid Usage Axis
About this output

The 11 usage rates of the scenario grid rows, under a Usage rate heading; blank outside Scenario grid mode.

No unit declared
This page is provided by LogicCommons for informational purposes only. Results are model outputs computed from the inputs you supply and are not financial, investment, tax, accounting, or legal advice, and no advisory relationship is created. Verify all inputs and results independently before relying on them in any decision. These calculators model the policy arithmetic you enter. They do not certify compliance with payroll, tax, insurance, ERISA, nondiscrimination, or employment law, and they are not a substitute for review of your actual plan documents and policies by a qualified professional.

LogicCommons is in beta. If a result, label, or reference looks wrong, tell us here; we read every message.

Methodology

Purpose and model boundary

This calculator follows paid time off for up to 10 employees and up to three leave banks, such as vacation, sick leave and personal days, through a forecast of up to 12 months. For every employee and bank it starts from the opening balance, applies the bank's accrual, resets, caps, carryover, negative floor and payout rules day by day in a fixed order, and posts the leave events you enter: hours worked, imported accrual postings, usage, adjustments, rate changes and separations. The main results are the closing hours and what the leave on the books is worth at the forecast end, both the value of every positive balance and the part the payout rules would pay at separation, with every hour earned, used, forfeited and paid out on the way.

The Scenario grid choice adds an 11 by 11 table of how the closing leave value moves when employees use more or less leave than scheduled and when wages rise by more or less than assumed.

Every figure on this page is computed by the spreadsheet; the page adds nothing to it. Every accrual, cap, carryover and payout rule is your own policy: the calculator holds no state or federal leave rule and never infers a payout requirement from a location. The leave values are modelled estimates, not an accounting certification. The model is educational and is not payroll, accounting, tax or legal advice.

Inputs and units

  • Forecast start and end: the forecast runs from the start to the end, inclusive, and is at most 12 months long. Opening balances and earned-this-year figures are as of the end of the day before the start; closing balances and the closing liability are as of the end of the last day.
  • Leave banks, one row per bank, up to three, in a fixed position (bank 2 may be unused while bank 3 is used):
    • a name and the accrual method: hours worked, pay period, calendar month, anniversary year, annual front-load, or imported postings only;
    • for the pay period method, the pay frequency (weekly, biweekly or semimonthly) and, for weekly and biweekly, the end date of any one real pay period of that calendar;
    • the reset basis, calendar (with a reset month and day; 29 February is refused) or anniversary of hire;
    • the waiting days before an employee is eligible to accrue (0 for none);
    • an optional balance cap, annual earning cap and carryover cap, in hours (a blank cap is no cap; a carryover cap of 0 is use it or lose it);
    • whether the balance may go negative and, if so, its floor in hours;
    • whether a balance is paid out at separation (required, never assumed) and an optional payout cap in hours;
    • whether accrual is scaled by FTE; for a front-load bank, whether the first-year grant is prorated or full and whether a tier increase is regranted mid-year;
    • optionally, the date through which accrual comes from imported postings, after which the bank generates its own.
  • Service tiers, up to 10 per bank: from how many months of service each accrual amount applies, the first at 0 months. The amount is in hours per hour worked, per pay period, per month, per service year, or per reset year, by the bank's method. A tier applies from the hire date's monthly anniversary that many months on.
  • Employees, up to 10: a synthetic ID (a capital letter, then up to 15 capital letters or digits), hire date, optional termination date (the last day employed), FTE above 0 to 1, scheduled hours per day, pay basis and either an hourly rate or an annual salary, an optional opening valuation rate, the opening balance of each active bank (required, even if 0, for anyone hired before the start) and optional hours earned so far in the current reset year. The rows can be pasted from a spreadsheet and are put in ID order.
  • Annual work hours for salaried pay: turns an annual salary into an hourly value, from 1 to 8,784. 2,080 is an illustration, not a legal figure.
  • Leave events, up to 200, each with a synthetic event ID, the employee, the bank where the type needs one, the date inside the forecast, the type and its hours or value: hours worked (0 to 2,080, one day or a whole pay period reported on that date), an accrual posting, usage, a signed adjustment, a rate change (the new hourly rate or annual salary from that date) or a separation. The rows can be pasted and are put in date order, then event-ID order, which is the order the workbook checks.
  • Wage increase and its effective date: raises every valuation rate from that date (from the start when blank); it changes values, never hours.
  • Employer burden: optional employer taxes and benefits as a share of the leave value. Blank reports no burden; 0% reports a burden of zero.
  • Usage rate and usage scheduling assumption: a multiple of the scheduled usage hours, applied to every usage event or only to usage dated after the actual-usage date you give. Dates never move.
  • Grid steps: the usage rate step and the wage increase step of the scenario grid.

Hours are hours, money is in US dollars, and rates are percentages.

Governing relationships

Daily order. On each day, for each employee and bank, the workbook applies, in this order: the reset, any rate change (which affects value only), credits, usage, adjustments, the negative floor, and finally the separation payout.

Credits and caps. Every credit, whether accrued, worked-hour, imported or front-loaded, is applied as a capped increment:

applied = min(credit, max(0, balance cap − balance), max(0, annual earning cap − earned this reset year))

so a balance at its cap stops accruing until usage reopens room, and the annual cap counts earned and front-loaded hours in the reset year. Because a run of credits with no usage, adjustment or reset between them gives the same result whether applied day by day or at once, the workbook processes the forecast by events rather than by days, with results identical to a daily calculation.

Accrual methods.

  • Hours worked: each hours-worked event earns its hours times the tier rate in force on its date.
  • Pay period, calendar month and anniversary year: each eligible day of a period earns the tier amount for that day divided by the period's length, times FTE when the bank scales by it, and the period's accrual is posted on its last day, or on the termination date for a final partial period. A tier change inside a period is therefore prorated by eligible days. Days of a period before the forecast start still count toward that period's posting; days before eligibility do not.
  • Annual front-load: the tier amount is granted at each reset, at the tier in force on the reset date. A new employee's first grant falls on the eligibility date, prorated to the rest of the reset year or granted in full as the bank says. A mid-year regrant of a tier increase, prorated to the rest of the reset year, happens only when the bank is set to regrant.
  • Imported postings: accrual-posting events credit their hours. A bank either imports through a cutover date, which must be a period end, and generates its own accrual only after it, or uses one source alone, so no accrual is ever counted twice.

Eligibility starts on the hire date plus the waiting days, with no retroactive credit for the waiting period.

Reset. At the start of a reset day (each calendar reset date, or each hire anniversary, which falls on 28 February for a 29 February hire in other years), hours above the carryover cap are forfeited, the earned-this-year counter returns to zero, and then any front-load grant is applied. A negative balance carries over unchanged. With a forecast of at most 12 months, each employee and bank has at most one reset in it.

Negative floor. After the day's usage and adjustments, usage that would take the balance below its floor (0 when negative balances are not allowed) is not deducted and is reported as usage not deducted. An adjustment is applied as entered, and a balance it leaves below the floor is flagged.

Separation. On the termination date, after everything else that day,

paid out = min(max(balance, 0), payout cap) when the bank pays out, otherwise 0

payout value = paid out hours × rate on the termination date

The positive remainder above the payout cap, or the whole positive balance when the bank does not pay out, is recorded separately as unpaid at separation, with its hours and value, and the closing balance becomes 0. A negative balance at separation stays and is flagged; its recovery is not modelled. The effective termination date is the employee's termination date or the date of a single separation event.

Reconciliation. For every employee and bank,

closing = opening + earned + front-loaded + adjustments − used − forfeited − paid out

where forfeited includes both hours lost at a reset and hours unpaid at separation.

Valuation. The valuation rate on a date is the hourly rate, or the salary divided by the annual work hours, replaced by the latest rate change on or before that date, then times 1 plus the wage increase from its effective date. Each employee and bank is valued in cents, rounded half away from zero, and every total is a sum of those posted values:

gross positive leave value = max(closing hours, 0) × closing rate

payout-eligible liability = min(max(closing hours, 0), payout cap) × closing rate, for a bank that pays out

opening value = max(opening hours, 0) × opening valuation rate

hours effect = (max(closing hours, 0) − max(opening hours, 0)) × opening valuation rate

rate effect = (gross positive leave value − opening value) − hours effect

A negative balance is valued at zero and never offsets another employee's leave; the negative closing hours are reported on their own. The burden, when entered, is the burden rate times the gross value, the payout-eligible liability and the payouts.

Scenario grid. Rows set the usage rate from 5 steps below to 5 steps above your usage rate, and columns set the wage increase from 5 steps below to 5 steps above yours. Usage changes hours through the caps, floors and carryover, so each of the 11 usage rates runs its own ledger; wages change only the closing valuation rate. Each cell is the gross positive leave value at the forecast end, and the center cell equals the base case to the cent. A usage rate below 0 or above 5, or a wage increase at or below −100% or above 100%, leaves its cell blank with the reason in the reasons table; nothing is clamped.

Calculation sequence

The spreadsheet first checks the inputs, each bank's policy, the tiers, and each employee and event row, including that the events are in date order, then event-ID order. It then builds each employee and bank's accrual clock, tier dates and reset date, steps through the usage and adjustment days in date order with the credits between them, closes each employee and bank at the forecast end or at separation, values the balances, and takes a snapshot at each month end. In the Scenario grid mode it then runs the 11 usage ledgers and the 121 values. A block of consistency checks confirms that every employee and bank reconciles, that the month-end snapshot at the forecast end equals the closing balance, and that the grid's center equals the base case, before the status is returned.

Outputs and interpretation

The headline shows the hours: the opening balance, hours earned (and the part imported), front-loaded, adjusted, used, usage not deducted, forfeited at a reset, unpaid at separation, paid out and the closing balance, with negative closing balances and accrual still unposted at the end shown separately. It then shows the money: the cash paid out at separations and the value of the hours left unpaid, the opening leave value, the gross positive leave value and the payout-eligible liability at the end, the change in value split into the part from hours and the part from rates, and, when a burden rate is entered, the burden on the gross value, the payout-eligible liability and the payouts.

The ledger by employee and bank gives every flow, the closing balance in hours and in days, the values and the reset date. The event ledger, beside the leave events, shows for each event row that closes a day of usage or adjustments the balance after that day, the credits since the previous such day, any hours forfeited at a reset in between, the hours used and not deducted, and a note on usage that was not deducted. Further tables give the totals by bank, the liability at each month end, and the scenario grid. In the grid, the first column gives each row's usage rate and the column headings count wage steps from −5 to +5, with the wage increase of each step listed beside the grid. A cell without a value is explained in the reasons table, which has the same layout.

Any warnings appear under the results. The model version and the other run details are in the downloaded CSV and JSON files. The Custom assumptions badge is always on, because every policy value is your own. The per-row check tables are returned to the API and MCP, and the first problem they find is named in the status.

Under the default inputs, six employees are followed through 2026 in three banks. Vacation accrues 3.08, 4.62 or 6.15 hours a biweekly pay period by service, scaled by FTE, with a 200-hour cap, 80 hours of carryover at 1 January and payout at separation up to 160 hours. Sick leave accrues 0.0333 hours per hour worked after 90 days, up to 40 hours a year and a 72-hour balance, carries over 40 hours and is not paid out. Personal leave is front-loaded each 1 January, 16 hours or 24 after five years of service, prorated for new hires, may go to −8 hours and is not paid out. Ninety events record monthly hours worked, 20 days of leave, two rate changes and one adjustment. The employees open with 530 hours and close with 827.18: they earn 855.22 hours, receive 117.37 front-loaded, gain 4 by adjustment and use 380. The 1 January reset forfeits 92 hours above the carryover caps. The employee who leaves on 30 September is paid out 127.41 vacation hours, 5,819.21 dollars, while 80 sick and personal hours, worth 3,653.84 dollars, go unpaid at separation. Leave valued at 23,168.15 dollars at the start is worth 30,327.10 dollars at the end, of which 19,995.69 dollars is payout-eligible; of the 7,158.95-dollar change, 6,507.15 comes from hours and 651.80 from rates. Another 7.97 hours have accrued in pay periods still open at the end. The status is OK; the warnings list notes, for information, that accrual stopped at a balance cap, that annual earning caps were reached and that the last periods' accrual is not yet posted. The first chart follows the gross positive leave value and the payout-eligible liability at each month end. The second shows each employee's closing balance in each bank, with negative balances below zero.

Validation and status logic

The workbook returns one status, chosen in this order: NOT VALID, then CHECK, then OK. There is no optimization, so there is no INFEASIBLE state.

  • NOT VALID names the first problem it finds, checked in this order: the calculation mode; the forecast start and end, and a forecast longer than 12 months; the annual work hours; the burden rate; the usage rate and the usage scheduling assumption, with the actual-usage date when only later usage is scaled; the wage increase and its effective date; the grid steps in the Scenario grid mode; no active leave bank; the first bank whose policy or tiers fail a rule (a missing method, pay frequency, anchor or reset date, a cap or floor out of range, a blank payout choice, tiers not starting at 0 months or not increasing, or an imported-through date that is not a period end); no employee; the first failing employee row (ID form and uniqueness, dates, FTE, hours, pay basis and rate, a missing opening balance for a pre-start hire); and the first failing event row (ID form and uniqueness, an unknown employee, a missing or inactive bank, a date outside the forecast, before hire or after separation, hours or value that do not fit the type, an accrual posting that would double-count generated accrual, conflicting separations, more than one rate change on a day, or rows out of date and ID order). NOT VALID is a refusal, not a numeric answer: every figure is withheld.
  • CHECK accompanies a computed result that needs the stated review: the workbook's own self-check failed; usage was more than the floor allowed, so the excess was not deducted; an adjustment left a balance below the floor; a balance was negative at separation; earned-this-year was blank where an annual earning cap applies, so 0 was assumed; in the Scenario grid mode no usage event is scaled, so the usage axis has no effect, or some axis values are out of range; or an opening balance is outside the floor-to-cap range.
  • OK otherwise.

The warnings list gives each warning's count, the first employee, bank or event it affects, and its message. It also reports, without changing the status, accrual stopped at a balance cap, an annual earning cap reached, and accrual for a period still open at the forecast end.

Assumptions and limitations

  • Periodic accrual posts on the last day of its period, or on the termination date for a final partial period; the pay date is not modelled. Accrual for the period still open at the forecast end is not in the closing balance and is reported as unposted hours, before caps.
  • One policy applies to each bank for every employee. FTE, hours per day and pay basis stay the same for each employee through the forecast.
  • An hours-worked event uses the tier in force on its date, so a tier change inside a reported period is resolved at the report date; one event per worked day gives exact proration.
  • Usage beyond the floor is not deducted; an explicit adjustment always is.
  • At separation, positive hours the payout rules do not pay are recorded as unpaid and the balance closes at 0; a negative balance is not recovered.
  • Calendar resets cannot fall on 29 February.
  • Values are posted in cents per employee and bank, half away from zero, and totals are sums of those values. They are a modelled estimate of the leave on the books, not an accounting measurement under any standard.
  • The scenario grid scales scheduled usage hours under one of two named assumptions and never moves a date; the wage axis changes values only.
  • There is no file import; rows are pasted.

Restrictions and non-computing states

The calculator enforces its numeric and choice limits before it accepts a result. An eleventh employee or a 201st event is refused before calculation, and a paste over capacity is refused with the row count, never truncated. A blank payout choice, a missing opening balance for an employee hired before the start, events out of order and imported postings that overlap generated accrual are refused by the workbook. The scenario grid is left blank outside the Scenario grid mode.

Errors and warnings

A request rejected by the page's input limits is not a computed result. A transport or service failure, a timeout or a cancelled run cannot establish a fresh workbook answer, and the last result stays on the page marked as out of date. Review the workbook's References and Disclaimer, your written leave policies and the wage-payment rules that apply to you before using a result for a real decision.

References

Sources and further reading

Every accrual rate, tier, cap, carryover, floor and payout rule on this page comes from your inputs; the calculator holds no statutory leave rule and never infers one from a location. The public sources below explain how federal rules treat paid leave and its payment, and show a public leave system built on the same ideas. They do not endorse this calculator.

  • U.S. Department of Labor, Vacation Leave states that the Fair Labor Standards Act does not require payment for time not worked, such as vacations, and that such benefits are matters of agreement between an employer and an employee, which is why the calculator asks for every bank's rules rather than assuming any (retrieved 2026-10-27).
  • U.S. Department of Labor, Last Paycheck explains that federal law does not require a final paycheck immediately and that some states do have final-pay requirements, so check the rules that apply to a separation payout (retrieved 2026-10-27).
  • IRS Publication 15 (2026), (Circular E), Employer's Tax Guide, section 7, "Supplemental Wages", explains that vacation pay is subject to withholding as if it were a regular wage payment, and lists payments for accumulated sick leave among supplemental wages (retrieved 2026-10-27).
  • U.S. Office of Personnel Management, Fact Sheet: Annual Leave describes a public leave plan that accrues hours each pay period at rates that rise with years of service, with a ceiling on the leave carried into the next year, the same structure as the calculator's service tiers and carryover cap (retrieved 2026-10-27).
  • U.S. Bureau of Labor Statistics, Employee Benefits Survey reports the share of workers with access to paid vacation, paid sick leave, paid holidays and paid family leave (retrieved 2026-10-27).

This is an educational model of the leave policies you enter, not payroll, accounting, tax or legal advice. Leave and final-pay laws differ by state and city, and accounting for compensated absences follows its own standards; check a result against your written policies and a qualified professional.

Results are informational and not professional advice. See our Terms of Use. Powered by SpreadsheetWeb · About · Privacy · Terms