ChatFin / Insights / Payroll accounting
A finance professional reviewing leave balances and payroll records
Payroll accounting · Use case

The PTO Balance Is a Balance Sheet Number

Most teams treat unused leave as an HR statistic. It is a liability that grows with every pay rise, and its movement is one of the least explained lines on the balance sheet.

Short answer

An accrued paid time off liability is the cost of leave employees have earned but not yet taken, measured at the pay rate expected to apply when it is taken, plus the employer payroll taxes that will be paid with it. It moves for four reasons: leave earned, leave taken, pay rate changes on existing balances, and joiners and leavers. Most accruals are wrong because the third reason is never separately calculated.

Key Takeaways
  • Unused leave is a liability, and it is one of the few that grows without anyone transacting, because a pay rise revalues every hour already banked.
  • Split the movement into four components. Earned, taken, revaluation and headcount change explain the whole balance and nothing else does.
  • The employer payroll tax on the leave belongs in the accrual too, and it is omitted more often than not.
  • Policy detail drives the numbers: carryover caps, expiry, payout on termination and unlimited leave arrangements all change the measurement.
  • ChatFin pulls balances and rates from the HR and payroll systems, calculates the movement by component, and drafts the entry and the explanation together.

Ask a controller why the accrued leave balance moved and you will usually get one of two answers. Headcount went up, or people did not take holiday.

Both may be true and neither is a complete explanation, because the balance also moves every time somebody gets a pay rise. Hours banked at last year's rate are now worth more, and that revaluation happens quietly across the whole workforce without a single leave request being filed. In a year with a meaningful salary review, revaluation can be the largest single component of the movement and it appears nowhere in most workpapers.

This page covers how to measure the liability properly, how to decompose its movement so it explains itself, the policy details that change the answer, and how to stop the calculation being a spreadsheet somebody rebuilds each quarter.

PTO AccrualCompensated AbsencesPayroll LiabilityVacation AccrualBalance SheetClose ProcessPayroll to GL
Reconciliation and schedule automation across ledger accounts in ChatFin
The accrual is a schedule, and schedules are where manual rebuilding costs the most time.
01

What you are actually measuring

The liability is the cost the company would incur if every employee took the leave they have already earned. That means hours banked, valued at the rate expected to apply when the leave is taken, grossed up for the employer payroll taxes that will be paid alongside it.

Three of those elements are routinely mishandled. Hours are often taken from an HR system whose accrual rules differ from the policy actually applied. Rates are often the rate at the time the leave was earned rather than the rate now in force. And the employer tax gross up is frequently left out altogether, which understates the liability by a consistent percentage every period.

HoursEarned and unused as at the reporting date, per the leave policy actually in force, not the system default
RateThe rate expected to apply when the leave is taken, which for most policies is the current rate
Gross upEmployer payroll taxes and any other employment cost that will be incurred when the leave is paid
ScopeWhich categories of leave vest or accumulate under the policy, since not all of them do
CapCarryover limits and expiry rules, which reduce the balance that can ever be taken or paid
02

The four components of the movement

A single opening to closing comparison tells you the balance changed. Splitting it into four components tells you why, and makes the review a conversation rather than an interrogation.

Component one

Leave earned

Hours accrued in the period at current rates. Broadly predictable from headcount and policy, and the component most people assume is the whole story.

Component two

Leave taken

Hours used, valued at the rate they were carried at. Seasonal, and the reason balances usually fall in the months after a holiday period.

Component three

Rate revaluation

The effect of pay changes on hours already banked. Invisible in the leave system entirely, and often the largest component in a review year.

Component four

Joiners and leavers

Opening balances arriving with new hires and balances paid out or forfeited on termination, both at their own rates.

Present the movement this way and the account explains itself. Present it as a single net number and every reviewer will ask the same question, which is what drove it, and nobody will be able to answer without rebuilding the analysis.

A team reviewing leave policy and balances together
Policy detail drives the number more than the arithmetic does. Photo by Kaboompics.com via Pexels
03

Policy detail that changes the number

The arithmetic is simple. The judgement sits in the policy, and policies vary far more than most accrual models assume, particularly across multiple entities and countries.

Carryover caps: hours above the cap will never be taken or paid, so they should not be accrued at all
Expiry and use it or lose it: where enforceable, expiry reduces the liability on a defined date, and where not enforceable locally, it does not
Payout on termination: whether unused leave is paid out drives whether hours above the taking capacity still represent a cash cost
Unlimited leave policies: generally remove the accumulating liability, but any residual payout obligation or local statutory minimum survives
Sick leave and other categories: accrue only where the entitlement vests or accumulates, which differs by policy and jurisdiction

The last three are where multi entity groups produce the largest errors, because one policy assumption gets applied to a population that several different policies actually govern.

04

Why the systems do not give you the answer

Human resources platforms are good at leave. Workday, UKG and BambooHR all track entitlement, accrual rules, requests and balances accurately, and payroll systems hold the pay rates and the tax rates required for the gross up.

The problem is that the liability calculation sits across both, at a point in time, with policy overlays neither system was designed to apply. The HR system reports a balance in hours as at today. It does not value it, does not gross it up, does not apply the carryover cap for accounting purposes, and cannot tell you how much of the movement came from pay rises rather than from behaviour.

HR platforms own hours, entitlement and policy rules, and report balances rather than liabilities
Payroll systems own rates and employer tax percentages, and have no view of unused entitlement
The ERP holds the accrual account and the entry, with no visibility of either input
Spreadsheets bridge all three each quarter, which is why the calculation is fragile and rarely decomposed

That bridging is the actual work, and it repeats every period without changing. It is the same cross system assembly ChatFin performs elsewhere in the close, described in automated close management.

Analytics quantifying the drivers behind a balance movement
Four components explain the whole movement. Anything else is a plug.

The number starts in HR

PTO accrual depends on balances, policies and pay rates held in HR and payroll systems, none of which were built to produce a balance sheet figure.

The AgentCFO podcast noted that data quality remains a problem for almost every CFO, largely because the data starts outside the accounting and finance teams.

Agree a monthly extract from HR and payroll with a named owner, and reconcile it to the liability before close.

05

What a reviewer should be able to see

A leave accrual that passes review quickly has a small number of features, and most workpapers have none of them.

Movement by componentEarned, taken, revaluation and headcount change, each with its own figure
Population reconciliationEmployee count at the start and end, tied to payroll headcount, so nobody is missing
Rate evidenceThe rate source and effective date used, with the revaluation effect shown separately
Policy mappingWhich policy applied to which population, particularly across entities and countries
Cap and expiry effectHours excluded from the accrual because of caps or expiry, stated rather than implied

The population reconciliation is the cheapest control and the most frequently omitted. A leaver whose balance was never removed, or a joiner whose opening balance never arrived, will sit in the account indefinitely and is close to impossible to find once a few periods have passed.

06

How ChatFin builds and explains the accrual

ChatFin reads the leave balance report and the payroll register as documents or exports, so it does not depend on a direct integration with whichever HR platform you run. It matches employees across both, applies the policy rules you configure, and values the balance at the current rate with the employer tax gross up applied.

The analytics agent then produces the movement split into the four components, including the revaluation effect that no source system reports. The conversational finance AI layer lets a controller ask why the balance moved and receive the decomposition rather than a number, and the pattern recognition agent flags employees whose balances behave unusually, which is where leaver and joiner errors surface.

Document processingReads leave balance reports and payroll registers from HR and payroll systems
Reconciliation agentMatches the employee population across HR, payroll and the prior period accrual
Analytics agentSplits the movement into earned, taken, revaluation and headcount change
Pattern recognitionFlags leavers with balances remaining and joiners with no opening balance recorded
Governed write backPrepares the accrual entry with the schedule attached, for a person to approve

The entry is never posted on its own. ChatFin prepares it with the supporting movement schedule and routes it through the approval chain you already use in your ERP, which means the workpaper exists at the moment of posting rather than being reconstructed for the audit.

The accrual is calculated from source data each period, with the revaluation effect isolated rather than buried in a single net movement.
Reviewing payroll and HR records for accrual purposes
Balances come from the HR system, rates from payroll, and they rarely agree on effective dates. Photo by Tima Miroshnichenko via Pexels
07

Rebuilding the accrual once, properly

If the current model is an inherited spreadsheet, rebuild it at a period end rather than trying to correct it in place.

Pin the policy population

List every leave policy in force and which employees each one covers. In multi entity groups this step usually finds a population being accrued under the wrong rules.

Reconcile the population

Tie the employee list in the leave system to payroll headcount. Resolve every difference before valuing anything.

Value at current rates with gross up

Apply current rates and the employer tax percentage, and note the gross up separately so it is visible.

Restate the prior period on the same basis

You need one comparable prior figure to produce a meaningful four component movement in the first period.

The fourth step is worth the extra effort. Without a comparable prior figure the first movement analysis is meaningless, and teams often discover the restatement itself is the finding worth reporting.

"

A pay rise revalues every hour already banked. The liability grows across the whole workforce without a single leave request being filed.

ChatFin
Audit ready workpapers and supporting schedules produced automatically
The workpaper and the entry should be produced at the same moment, not months apart.

Frequently Asked Questions

How do you calculate an accrued PTO liability?

Take the hours each employee has earned and not yet taken as at the reporting date, value them at the pay rate expected to apply when the leave is taken, and add the employer payroll taxes that will be incurred when it is paid. Then apply the policy overlays: exclude hours above a carryover cap that can never be taken or paid, and reflect any enforceable expiry. The result is the liability rather than the leave balance.

Why does the vacation accrual move when nobody takes leave?

Because pay rate changes revalue hours that were already banked. If salaries rise, the cost of the leave already earned rises with them, and the entire workforce is revalued at once without any leave transaction occurring. In a year with a significant salary review this revaluation can be the largest single component of the movement, which is why it should be calculated and presented separately rather than netted into the total.

Should employer payroll taxes be included in the PTO accrual?

Yes, where those taxes will be incurred when the leave is paid. Omitting the gross up understates the liability by a consistent percentage every period, and it is one of the more common findings when a leave accrual is examined for the first time. The gross up should be shown as a separate element of the calculation so a reviewer can see it was applied.

Can ChatFin calculate the accrual without integrating our HR system?

Yes. ChatFin reads leave balance reports and payroll registers as documents or exports, so it works with whichever HR and payroll platforms you use without requiring a direct integration. It matches the employee population across both, applies your policy rules, produces the movement split by component, and prepares the journal entry with the supporting schedule for approval.

This article is general information for finance and accounting teams. It is not accounting, tax or legal advice. Confirm the treatment of your own facts with your auditors and advisers.

Make the accrual explain itself

See ChatFin build your leave accrual with the movement decomposed.

ChatFin reads your leave balance report and payroll register, matches the population, values the balance at current rates with the employer tax gross up, and applies your carryover and expiry rules.

The movement is split into earned, taken, revaluation and headcount change, and the entry is prepared with the schedule attached for a person to approve before posting.

Book a Demo
See it on your own leave data

Bring a leave balance report and a payroll register.

ChatFin will produce the valued liability with the employer tax gross up and show the movement split into its four components, including the revaluation effect.

✓Works from HR and payroll exports without a direct system integration
✓Applies carryover caps, expiry and multiple policies across entities
✓Prepares the journal entry with the movement schedule attached for approval
Schedule a Demo
Confidential & private

Image credits: hero photograph by Alena Darmel, in article photographs by Kaboompics.com, Tima Miroshnichenko, all free to use under the Pexels License (commercial use permitted, attribution not required, shown here as a courtesy). Product diagrams and platform visuals © ChatFin. Third party product names are trademarks of their respective owners and are referenced for identification only.