Annual Leave in Xero Payroll

Less admin, more freedom.
Less admin, more freedom.
Annual Leave in Xero Payroll

Annual Leave in Xero Payroll

In New Zealand it is well known that legislation around wages, leave entitlements and in particular annual leave can be complex. Many of us have experienced the fallout of these complexities first hand as well as being aware of well publicised examples of even large organisations getting it wrong. In addition, each payroll system has it's own way of representing the legislation sometimes with very different processes and terminology.

This article is specific to Xero Payroll, the way Xero Payroll operates and it's  terminology. 

I specialise in Xero Payroll. I like it, and find the way it’s designed in many ways more closely matches NZ payroll legislation than other payroll products on the market.   But no payroll system will prevent user errors and so just like others there are potential pitfalls that can have serious consequences. 

I have found annual leave is mostly where businesses experience issues with payroll. Sometimes errors quietly build up over the years and only come to light when an employee questions their annual leave balance, or is ending employment. 

The information in this article is to help businesses understand Xero Payroll and prevent errors. It's a compilation of various ways I have helped businesses to troubleshoot Xero Payroll annual leave issues over the years I do hope it helps you too.  


The difference between annual leave and holiday pay in Xero Payroll

Understanding the difference between annual leave and holiday pay is the most frequently asked question.  They are two different things. 

Annual leave accrues every 12 months as one bulk lot of generally 4 weeks.  By law, the balance of annual leave is to be kept in days or weeks.  There is no annual leave for the first 12 months of employment. The first accrual is after 12 months employment, and then every 12 months after that.  There are some exceptions of course which I am not going into in this article.

Holiday Pay accrues every pay period as a $ value, most commonly 8% of gross wages. If there are no wages, there is no holiday pay accrued.  If there are wages, or additional payments, then holiday pay will generally accrue on those as well, with some exceptions. 

The balance of holiday pay $ increases every time a pay is run until 12 months.  Then, at the same time as the 4 weeks of annual leave is accrued, the holiday pay balance goes back to Nil. Xero Payroll does this automatically.

Read my blog on understanding the difference between annual leave and holiday pay  for more detail.


  • One way to see the accruals of holiday pay, and the reversals every 12 months is by viewing the leave transactions report.  
  • The $ value of holiday pay can be converted into estimated annual leave available to take in advance. 
  • For salaried employees and employees who work the same number of hours every week  the conversion of holiday pay $ into annual leave weeks/days should be pretty accurate.  But if work patterns change or  pay changes the conversion may not be accurate. This is because estimates are based on information available in Xero Payroll at that time and the value of annual leave can only be determined at the time it’s taken. 

Annual leave in advance

If an employee has not yet worked for 12 months, they don’t have annual leave. But they will have holiday pay accruing every pay day usually as 8% $ value of their gross earnings.

So if the employee wants to take some time off after annual leave say 10 months, its helpful to know how many hours can be safely paid without potentially needing to ask the employee to pay money back if they left employment suddenly. There are some circumstances where the Xero Payroll calculation could result in an overpayment.

Xero Payroll has settings to show the value of annual leave available to take in advance. The hours shown are calculated based on time since the last anniversary and current standard hours.    Be aware that for part-time flexible employees, Annual Leave in advance might calculate higher than the value of holiday pay which would be paid out at termination. 

When annual leave has been taken in advance the leave balance for the employee will show as a negative amount - this is normal.  Annual leave taken in advance is recorded exactly the same as any other annual leave, but because it's in advance the leave balance will be negative, which is normal. 

When I discuss showing annual leave and holiday pay balances on payslips, I explain why sometimes the balance shows as negative, and sometimes it doesn't - depending on the settings. 


When annual leave has been taken in advance and an employee finishes employment,  the value of the annual leave in advance paid out will be deducted off the final pay.    

Negative annual leave balances

Negative annual leave balances can be completely normal and correct - in particular  when annual leave in advance has been taken.  The annual leave has been paid out before it has been accrued on a 12 month anniversary date. 

As long as the $ value of the annual leave paid out in advance is less than the $ value of holiday pay, then this is not generally a problem. You can see whether this is the case or not by using the tick box to show annual leave in advance.  

Annual leave cash up has information on the rules and limits for annual leave cash up.  Usually the limit is 1 week per calendar year.

In Xero Payroll, annual leave cash up is tracked separately from annual leave to make it easy to see how much annual leave may have been cashed up in any one year. However, cashed up annual leave hours also need to be deducted from the normal annual leave balance otherwise the cash up would be an extra payment over and above normal annual leave.  

Xero payroll doesn’t do this automatically, so once the initial annual leave cash up has been recorded, the balance needs to be reversed out and the same number of hours deducted off normal annual leave hours. A bit like a manual journal. 

So in the end for each time a cash up happens you have:

  • A record of the annual leave that has been cashed up.
  • A credit to bring the cash up balance back to Nil.
  • A debit to reduce the normal annual leave balance.

Xero Central has instructions on how to do this and here is an example of how it should look on the Leave Transactions report for this employee cashing up 40 hours annual leave in the first week of December 2019.  All three relevant transactions are dated 31 December because that's the last day of the monthly pay calendar being used.  The annual leave cash up balance should always be Nil. 

Annual Leave Cash Up Example

Annual leave days/weeks represented by standard hours

In New Zealand annual leave balances are required to be held in weeks or days.  In Xero Payroll these weeks or days are represented by standard hours, as in the employment tab of the employee. 

It is an important concept that the standard hours in Xero Payroll are a representation of days or weeks.

Here’s an example.  If standard hours in the employment tab show as 4 days x 6 hours, then each week is represented by 24 hours, and each day is represented by 6 hours. The 4 week annual leave accrual will be represented by 96 hours.   In this example, if the employee wanted to take 2 days leave, this would be represented in Xero Payroll by applying for 12 hours - even if the employee had been working to a different pattern than 6 hours a day.  

Keeping track of the balance of leave is entirely different to working out how much should be paid out when annual leave is taken.   So there are always two parts to working with annual leave:

1. Keeping track of the leave balance.

2. Working out the correct $ rate to pay when annual leave is taken.


If the employee works different hours on different days, then record that information in notes as it’s not possible to show this in the standard hours in Xero Payroll.  For example standard hours might show as 4 days x 6 hours, but the employee might work 3 hours on a Wednesday and 7 hours on the other 3 days.   

If the employee has no standard pattern at all, then perhaps use an average - for example if they work 27 hours a week but with no pattern, then record this as 5 days x 5.4 hours.  You will need to manually adjust the number of days paid.

PART 1 - Keeping track of annual leave balances

Keeping track of annual leave ensures the balance of days / weeks is correct. The annual leave balance will increase with annual accruals, decrease when annual leave is taken and paid out, and will also change with any manual adjustments.

If an employee has been working more or less than their standard hours this doesn’t affect how to keep track of their entitlement. Keep the balance according to the standard hours representation.

Example: An employee has standard hours in Xero Payroll of 4 hours a day x 5 days a week, and works anything between 20 and 35 hours a week.

Every year this employee will accrue 20 hours x 4 weeks = 80 hours.

Every time this employee takes annual leave record each day taken as 4 hours and 20 hours taken for every week.  This way it will always be clear how many days/weeks of annual leave the employee has.   This does not change even if the employee has been regularly working different hours.  

However, if the employee has been working more than their standard hours they will be paid out at a higher $ hourly rate for each hour of annual leave taken. This is a completely separate issue from keeping track of their balance.

How does Xero Payroll calculate how much annual leave to accrue?

Standard hours in the employee’s employment tab are used to calculate how much annual leave will accrue every anniversary.  The calculation is the employee’s base salary and wages of days per week x hours per day x (holiday pay % divided by 2).   E.g. for an employee with 5 days per week, 8 hours per day standard hours and 8% holiday pay :  5 x 8 x 8 divided by 2 = 160 hours


If the employee signs a new contract with new standard hours, then a manual adjustment will be needed if there is an annual leave balance at that time I use a simple spreadsheet to do this.  For example

  • a new contract is signed for 40 hours a week, where it was previously 20 hours a week
  • at the time of the change there was a balance of 2.5 weeks annual leave.

The 2.5 weeks will have originally been represented by 50 hours. But with the new standard of 40 hours a week, the balance of 2.5 weeks will now need to be represented by 100 hours. Thus an adjustment of +50 hours is needed using an Unscheduled Payrun.

PART 2 - Calculating annual leave pay out rates

As states, Annual Leave is paid differently from other types of holidays.  And, payment for annual leave must be calculated each time leave is taken, because the rate of payment can change between pay periods. This is because the payment rate is the higher of standard pay versus the average from the previous 52 weeks.  Each time annual leave is being taken, the average for the previous 52 weeks might be different, so the rate calculation might be different.

It is a very common error to pay out annual leave at an employees standard rate where it should have been a higher hourly rate. 

Annual leave is paid at the greater of OWP (Ordinary Weekly Pay) or AWE (52 week average wages).  This means that if an employee has been working more hours on average than the standard hours in the employment tab, when the hours of leave are paid out the $ hourly rate should rise.

 Xero Payroll will calculate OWP and AWE and compare them, and give you the option to choose which rate you want to pay.

Average Weekly Earnings (AWE)
Xero Payroll finds this by adding up earnings from the last 52 weeks, then dividing by 52.  Only earnings that are part of Regular Earnings and Other Gross Earnings are included, some other pay items are not. Xero Central has an explanation of the different type of pay items

Average Weekly Earnings


Ordinary Weekly Pay (OWP)
Xero Payroll uses whatever is in the pay template as the ordinary weekly pay. E.g. 24 hours x $25 = $600.   If you want bonuses or other payments to employees to be included in Ordinary Weekly Pay, they must be loaded into the pay template and appear every pay run automatically. has a complete pdf linking OWP and AWE


Be aware that when an employee has such irregular hours that it’s not possible to determine OWE, then a 4 weekly average might be used.  Xero Payroll does not currently calculate the 4 week average so you will need to do that manually.  The quickest way in my experience is to run a gross pay report for the 4 week period. 


Using Minimum Hours

In Xero Payroll, it’s generally recommended to use minimum hours for employees who work part-time or have flexible or changing work patterns.  These minimum standard hours keep track of the annual leave balance as in the example above.  

 An employee has a contract for a minimum of 5 hours a week. They sometimes work 5 hours a week, sometimes don’t work, and sometimes work up to 30 hours a week.  Their hourly rate is $30.   On average they do work significantly more than the minimum hours.  

The employee could be set up with standard hours of 1 hour a day x 5 days a week = 5 hours a week.  

Xero will accrue 4 weeks annual leave every anniversary, represented by 20 hours.  

When this employee takes annual leave, each day they take will be represented by 1 hour and each week they take will be represented by 5 hours. In this way their balance of annual leave will be kept accurately.

However, if they have been working on average 15 hours a week over the last year, then when annual leave is taken it will be paid out at a higher rate – in this case 3 times the standard rate as they have worked 3 times their standard hours.  The hourly pay our rate will triple to $90 per hour.  

If they have been working on average only 3 hours a week in the last year, then annual leave will still be paid at the standard rate. The pay out rate is never lower than the standard rate. 

It’s important to manually update the number of days paid in payruns.  Although this is not relevant for Annual Leave, Xero uses the number of days paid for working out average daily pay which is sometimes used for public holidays, sick leave and other types of leave. 

Defining a week of annual leave

It’s not always obvious what "a week" is if the employee has flexible hours or is without a regular work pattern.  Check out the NZ government website with assistance on defining what a week is. There is guidance for both predictable and unpredictable work patterns.

However, in Xero Payroll defining a week of annual leave is limited to whatever is entered in the employee’s employment tab as standard hours.  E.g. 8 hours a day x 5 days a week. 

In Xero Payroll’s Employment Tab it’s not possible to specify how many hours are worked on any particular day or which days are regularly worked and which are not.  With irregular work patterns  it’s really helpful to use Xero Payroll timesheets to keep a record of specific work patterns. You may need this information to work out what a week will be at the time annual leave is taken, as well as to work out regular working days and whether to pay an employee on a public holiday, whether time in lieu is earned and also whether a sick leave day should be paid or not.  


In summary, the standard week of annual leave in Xero Payroll may not be the same as the legal definition of a week, and manual adjustments may be needed.  This is not unique to  Xero Payroll, other payroll systems also require manual adjustments from time to time. 

Defining Casual Employees

If an employee works part-time flexible hours this does not mean they are casual and defining an employee as casual when actually they are part-time flexible is a very common mistake. also has a useful explanation of the difference.

One way to decide whether an employee is casual or not is to consider whether if every time they work (a day or a week perhaps) either they or the employer has an expectation they will work again.  If there is no expectation, then they are probably casual.   If there is an expectation they will work again tomorrow, next week, or even next month then they might be better represented as part-time flexible permanent.

One reason businesses say they want employees loaded as casual is because they find it easy to pay out 8% holiday pay with every pay, and not accumulate liability for annual leave.

However, there is a risk that even if 8% is paid out with every pay, the liability to pay annual leave is still there. This risk increases the longer the employee works, in particular if they are continuing more than 12 months. I have seen it happen where 8% has been paid every payrun and then when it comes to an annual close down and the employee is expecting annual leave, the employer still has to pay it – thus paying twice.   Consult an HR professional if you think you may have this situation. 

In Xero Payroll, casual employees have no standard hours.  Their employment tab shows as 0 hours x 0 days and there will be no annual leave accruals.  An employee must have standard hours loaded to accrue annual leave in Xero Payroll.

If you have an employee who is not casual but has very flexible hours then Xero Payroll works best with minimum hours.

Showing annual leave and holiday pay balances on payslips

You may want to control whether or not your employees see their annual leave and/or holiday pay balances on their payslips.  

What to show or not show can be a cause of confusion especially if  employees don’t understand the difference between annual leave and holiday pay.  It is also possible to duplicate holiday pay showing on payslips.  

There are two areas in Xero Payroll to control if and how annual leave and/or holiday pay slow on Xero Payroll payslips. 

For ALL employees as a group, in Payroll Organisation Settings (Pay Items – Leave tab) you can edit which balances to show on every employees payslip: 

  • whether to show an annual leave balance 
  • whether to show a holiday pay balance 

Here’s what it looks like:

For EACH individual employee, in the employee leave settings there is a blue tick box where you can switch on or off to show:

Here’s what it looks like (the blue tick box):

Xero Payroll Tick Box for Annual Leave in Advance


How holiday pay / annual leave in advance can show duplicated 

If you choose to tick the box to include leave available to take in advance in the balance, then you might see a duplication.

Example:  An employee has been working for 10 months (they have no annual leave accrued yet), they have taken 8 hours annual leave in advance and they have accrued holiday pay of $3876.924 (8% of their gross earnings). 

This information can be viewed two ways as per the two screen shots below. Both show a holiday pay balance of $3876.924.   However the annual leave balance shows differently depending on whether that blue tick box has been checked or not. 

In the first figure, the annual leave balance shows as -8 hours due to the employee taking 8 hours annual leave in advance.   To see this view, the blue tick box is unticked and only annual leave accruals (NIL) and annual leave taken (-8) is being shown.  


In the second figure below, the blue tick box was checked.  So now the annual leave balance is showing as 72 hours, and the holiday pay is still the same.  Xero has estimated the number of annual leave hours accrued since the last anniversary. That conversion (80 hours) has been added to the annual leave balance.  So in this view you are seeing the value of the holiday pay duplicated, firstly as holiday pay $, and secondly as part of a combined annual leave balance. 


If you were to show this second version on a payslip an employee might think they were owed 72 hours annual leave as well as $3876.924 in holiday pay.  

However, the conversion  is useful to see how many hours annual leave in advance could be paid to an employee, reducing the risk of overpaying in advance.  In some circumstances the balance of advance leave might be higher than a termination pay. 

Recommendation for what to show on payslips:

Option 1 

  • Show the accrued annual leave only on payslips. 
  • Show the holiday pay $ balance on payslips.  
  • Keep the box unticked for all employees so that the estimated conversion of the holiday pay is not added to the annual leave balance and duplicated. 

Option 2 

  • Show the annual leave balance on the payslips, including annual leave available to take in advance. 
  • Tick the box for all employees so that the estimated conversion of holiday pay is added to the accrued annual leave.
  • Do not show the holiday pay $ balance on payslips.  

Incorrect annual leave balances 

These are the most common errors I come across with annual leave in Xero Payroll and I’ve detailed how to fix them in a blog about troubleshooting annual leave in Xero Payroll.  I've also provided a working spreadsheet for calculating adjustments

1.    Missing annual leave accruals – this can happen if unscheduled pay runs have been used instead of normal pay runs, or if standard hours have been entered as 0 hours x 0 days. Check the Leave Transactions report to confirm that annual leave has accrued every anniversary. 

2.    Annual leave accruing on the wrong date - this can happen if an employee has changed from casual to permanent in the same employee record.   Best to terminate the casual employee and reload as a new employee in Xero Payroll. 

3.    Annual leave balance becoming incorrect after standard hours change -  With new standard hours, the annual leave balance in hours no longer represents the correct number of weeks. If there is an annual leave balance when standard hours change, most likely a manual adjustment is needed. 

4.    Incorrect annual leave accruals due to standard hours being changed for an employee even though the employees contract has not changed. Standard hours in Xero Payroll should not generally be changed unless a new contract has been signed.   If an employee is on part-time flexible hours, or their patterns change regularly then it’s generally best to use minimum hours  Correcting this means changing the standard hours back, or to minimum hours, and adjusting the balance as required. 

5.    Annual leave paid out incorrectly at standard hourly rate instead of a higher 52 week average rate 

6.    Incorrect opening balances when moving from another payroll system in particular if there is difficulty finding the two separate balances for annual leave versus holiday pay. Other payroll systems use different terminology such as "Earned Leave" for Accrued Annual Leave, and "Accrued Leave" for Holiday Pay. 

7.    Annual leave being paid out but processed incorrectly and therefore not showing at all on the leave transactions report. This can happen if the leave approval process is not used and leave is processed as a special or ordinary pay item instead. 

Termination pay annual leave

Before processing a final pay, I recommend thorough checks to prevent any accidental overpayment which may be difficult to recover.  Make a note of the employment start date and then:

1.    Run a Leave Transactions report and review all entries.

  • Are the annual accruals consistent every 12 months?
  • Are all annual leave pay outs showing on the report?
  • Have the pay out rates lifted if the employee has worked more than standard hours?
  • Do entries all look as expected?

2.    Review the employment tab in the employee record.

If standard hours changed any time after 12 months of employment, was a manual adjustment made to the annual leave hours?  

Any adjustments will show on the leave transactions report.  In particular if standard hours have reduced from a change to the contract then the annual leave balance might be too high and result in a termination pay overpayment.   

Each time standard hours have changed, at that point in time convert the annual leave balance to weeks, and then convert back to hours based on the new standard hours.  I use a simple spreadsheet to record this and then run an unscheduled pay run to record the adjustment. 

3.    Check the holiday pay balance is the correct $ value based on a percentage (usually 8%) of gross pay since the last anniversary date.  

  • Use the gross earnings report with dates since the latest anniversary,. You can also compare with the leave liability report.  

There are a number of reasons the holiday pay accrual might not be accurate but in my view as long as you can determine what it should be prior to running the termination pay, then you can adjust it correctly.    

4.    Check that any annual leave cash-up has been correctly reversed and deducted off the annual leave balance. 

  • If the cash-up balance is not transferred to annual leave, the employee will be overpaid.

5.    Any alternative leave accrued will be paid out in the final pay, just like normal annual leave.  

If in doubt, check again before it gets paid out, or ask us for help.