# Sync Payroll Calendars from Xero

Source: https://docs.astalty.com.au/guide/sync-payroll-calendars-from-xero

> Sync your Xero payroll calendars and employee pay-cycle assignments into Astalty so timesheet batches cover the right staff and dates.

Scheduling add-on - This feature requires the Scheduling add-on, which is available on Astalty Premium. See How to enable Scheduling.

## Overview

**Payroll Calendars** are the pay cycles you've set up in **Xero** (for example weekly, fortnightly, or monthly). Astalty reads these calendars from Xero so that each **Timesheet Batch** covers the right staff and the correct pay-period dates.

Payroll calendar sync reads calendars and employee assignments from Xero. Manage those in **Xero**, then sync them into Astalty; you cannot assign or change an employee's payroll calendar from within Astalty. The separate timesheet export does write timesheets to Xero.

The available Xero calendar types do not expand Astalty's award averaging rules. Check the supported weekly or fortnightly [pay-period settings](https://docs.astalty.com.au/guide/scheduling/setup/scheduling-settings#pay-period) before relying on an interpretation, particularly for a monthly calendar.

> **Direct Xero timesheet export supports 7 or 14 days**
>
> Astalty can sync weekly, fortnightly, four-weekly, monthly, twice-monthly and quarterly Xero calendar records. The direct Xero timesheet export accepts only a batch that covers exactly one week or one fortnight. Other calendar types can still appear in Astalty, but a batch for those periods fails Xero export validation.

> **Where to find this**
>
> You'll find Payroll Calendars under **Settings** > **Integrations** > **Xero** > **Payroll Calendars**. Syncing one staff member with **Sync from Xero** needs access to their HR details. The Xero account used for the connection must have access to the organisation's payroll calendars and employees.

## Syncing Payroll Calendars

On the **Payroll Calendars** page, select **Sync payroll calendars**, then **Sync** to confirm. A single sync does both jobs: it pulls your pay cycles from Xero and updates the payroll calendar assigned to each linked employee. There is no separate step for employee assignments.

Each calendar lists its **Name**, **Calendar Type** (for example Weekly or Fortnightly), and **Start Date**.

The sync runs in the background and can take a few minutes. Astalty notifies you with **Payroll calendars synced** once it's done.

Run it whenever you add or change a payroll calendar in Xero, or change which calendar an employee is assigned to in Xero.

> **Assign the calendar in Xero first**
>
> An employee only picks up a payroll calendar once they've been **assigned to one in Xero** and linked to an Astalty employee. If a staff member is missing from a batch, correct the assignment in Xero, then run **Sync payroll calendars** to bring the change into Astalty.

> **A missing Xero permission stops the sync**
>
> If Astalty doesn't have the Xero permissions needed to read payroll data, the sync fails and notifies you instead. On the [Xero settings page](https://app.astalty.com.au/settings/integrations/xero), select **Actions** then **Refresh Connection**, grant every permission Xero asks for, then run the sync again. You don't need to disconnect Xero first.

## Staff Without a Payroll Calendar

When you create a Timesheet Batch, any staff who have approved shifts ready to be batched but **do not yet have a payroll calendar** are listed in the **Staff without a payroll calendar** drawer. These staff are **excluded** from the batch until each one is both:

1. **Linked to a Xero employee**, and
2. **Assigned a payroll calendar in Xero**.

![The Staff without a payroll calendar drawer, explaining that staff with shifts between 12 Oct 2026 and 25 Oct 2026 are excluded until linked to a Xero employee and assigned a calendar. One staff member, Priya Nair, shows No payroll calendar assigned in Xero and a Sync from Xero button.](https://docs.astalty.com.au/assets/xero-payroll-calendars-staff-warning.png)

To resolve the listed staff:

- **Not linked to Xero** - use **Link employee** to link the Astalty user to their matching Xero employee. See [Setup Pay Groups and Employees in Astalty](https://docs.astalty.com.au/guide/setup-pay-groups-and-employees-in-astalty#link-employees-to-xero) for how linking works.
- **No payroll calendar assigned in Xero** - assign the employee to a payroll calendar in **Xero**, then select **Sync from Xero** next to their name to bring that assignment into Astalty. If two or more linked staff are listed, the drawer also offers **Sync employee payroll calendars**, which runs the same full sync as the Payroll Calendars page.

Once every listed staff member is linked and has a payroll calendar, they'll be included the next time you create the batch.

## Next Steps

With your payroll calendars synced, you're ready to [process your Timesheet Batches for Xero](https://docs.astalty.com.au/guide/process-timesheet-batches-for-xero-payroll-integration).
