Timesheet Batches
Overview
Create a Timesheet Batch after shifts have been reviewed. Use the batch to check interpreted pay, then export CSV or Excel files or send timesheets to Xero or Employment Hero.
Accessing Timesheet Batches
Timesheet Batches can be found in Scheduling within the Process section of the menu.
The list shows each batch's date range, Payroll Calendar, number of exported shifts, and export date. On accounts using the On-Call Roster, it also shows Standby Claims and Activations. A manually dated batch has a dash instead of a Payroll Calendar. Filter by Payroll Calendar when needed, or select Create Batch.

Creating Timesheet Batches
Open Scheduling > Timesheet Batches, then select Create Batch.

Choosing How the Batch Is Generated
If your payroll platform is Xero and at least one payroll calendar has been synced from Xero, the form asks How do you want to generate this batch? and offers two options:
| Option | What it does |
|---|---|
| By Xero payroll calendar | Includes only staff on the selected calendar, with dates set automatically to its next pay period. |
| Manual date range | Includes all staff, using any date range you choose. |
You need to pick one before Create Batch becomes available.
By Xero payroll calendar
Choose the Payroll calendar you're paying. If only one calendar has been synced, it is selected for you.
Astalty reads that calendar's next pay period from Xero and applies those dates for you. They appear as Pay period, along with the length in days, and can't be edited by hand - switch to Manual date range if you need a different period.
Only staff who are assigned to the selected calendar in Xero are included in the batch. Anyone with shifts in the period who isn't on a payroll calendar is flagged in the warnings and left out.

Manual date range
Select the From and To dates of when the shifts occurred. The length of the period is shown beneath the To field, and the From date picker carries shortcuts for This week, Last week, Last Fortnight, Last month and Last quarter.
Every staff member with eligible shifts in the range is included, whether or not they're on a payroll calendar.

How Overnight Shifts Are Assigned to a Period
However the dates are set, a shift belongs to the period its start falls in. A support running 4:00 PM Sunday to 9:00 AM Monday is picked up by a batch ending on the Sunday, and the same rule decides the warning counts below. See Date Ranges and Overnight Supports.
Warnings Before You Create the Batch
Once the dates are settled, Astalty checks the period and lists anything that could affect the batch in one alert, headed with the number of things to check. These are warnings rather than blockers - you can still create the batch - but it's worth clearing them first.
On-call is the exception. Astalty pays on-call only through a weekly or fortnightly batch, so on a Manual date range that holds on-call and is not exactly 7 or 14 days, a red alert explains this and Create Batch stays disabled until you choose a 7 or 14 day range. A batch made By Xero payroll calendar from a calendar whose pay period is neither, such as monthly, is still created but leaves its on-call out, to be paid in Xero by hand.
| Warning | What it means | What to do |
|---|---|---|
| n shifts are awaiting approval and n are missing a clock in or out | Shifts in the period are unapproved - missing an hours, travel or active overnight approval - or have open shift alerts | Use View approvals or View alerts to open Shift Approvals or Shift Alerts in a new tab, already filtered to these dates |
| n shifts are still in progress | Those shifts hadn't ended when the check ran, so they're excluded from the batch until they have | Wait until they've ended and create the batch then, or pick them up in a later period |
| n on-call activations have not been approved, or n have no end time | Unapproved activations are never paid, and an activation with no end time cannot be approved | Select View on-call roster to approve them or set an end time - see Recording and Approving Activations on the Web |
| n on-call records cannot be paid | The worker has no employment contract for those dates, so batches leave their on-call out | Select View records, add the missing contracts, then create a weekly or fortnightly batch over these dates |
| On-call in these dates is left out of this batch | Shown on an existing batch that is not 7 or 14 days long, which pays none of the on-call in its dates. The create form blocks such a batch instead | Create a 7 or 14 day batch over these dates to pay it |
| On-call in this pay period is left out of the batch | The payroll calendar's pay period is neither weekly nor fortnightly | Pay that on-call in Xero by hand |
| n on-call activations are held back from timesheet batches, or n approved on-call activations are in no timesheet batch | An approved shift that overlaps the activation is not batched yet, or a batch already covered the date without it | Select View activations, resolve them, then create a batch for these dates again - see Timesheet Batch Warnings |
| n staff members with shifts or on-call have no payroll calendar in Xero | Those staff aren't linked to a Xero employee, or aren't assigned a payroll calendar in Xero, so their shifts and on-call are excluded | Select View staff to open the Staff without a payroll calendar drawer and resolve them - see Staff Without a Payroll Calendar |
| n shifts have custom allowances that are not sent to your payroll platform yet | Your payroll platform doesn't receive custom allowances | Add those allowances in payroll by hand |
| n shifts have custom allowances that are still exported | Custom allowances were switched off for your account after they were added to these shifts | Remove the allowances from any shift where they should not be paid |
Select Create Batch to confirm. The button reads Validating... while these checks run.
Your newly created batch will now appear in the Timesheets Batches. You can view the batch by selecting it.

Once inside the Timesheet Batch, you can access the Actions menu. Which options appear depends on the payroll platform set for your account:
| Action | When it appears |
|---|---|
| Export Timesheet as Excel | Always - opens the three file-based export options |
| Export Employment Hero Timesheet (CSV) | Your payroll platform is Employment Hero (or PayCat / QuickBooks Payroll) |
| Send to Employment Hero and Replace in Employment Hero | The Employment Hero integration is connected and a business has been selected |
| Export Xero Timesheet (API) | Your payroll platform is Xero |
| Delete | Always |
Export Timesheet as Excel
Selecting Export Timesheet as Excel opens a page with three export options. Choose the one that matches what you need to do with the file.

| Option | What you get |
|---|---|
| Raw shift data | Shift start/end times and durations as recorded, without any award interpretation applied. |
| SCHADS interpreted timesheet | One row per earning rate per day, with hours broken down by pay classification (ordinary, overtime, penalties, and allowances). |
| Xero-formatted timesheet | Interpreted data in a pivot-table layout with days as columns, grouped by Support Worker and earning rate. Compatible with Xero payroll import. |
All three run in the background. Once the file is ready it appears on the Exports page, where you can select Download to save it to your device.
Raw shift data
A generic CSV of the batch that you can tailor for importing into your preferred staff payment software. Nothing is interpreted - the times are exactly as approved on the shift.
The file contains one row per line of shift activity, with these columns:
- Date, Day Of Week, Start Time, End Time
- Paid Break Start Time, Paid Break End Time
- Units, Hours
- Pay Item -
hours,kilometres,travel,unpaid_breakorcustom_allowance - Cost Code - only when your account uses cost codes
- User Name, User External ID, Comments
Hours has any unpaid breaks added to the shift taken off, floored at 0 - it's not the full approved start-to-end span. Comments names the deduction, for example Unpaid break 30 mins; a paid cancellation reads Paid cancellation. Unpaid break 30 mins. Paid breaks are never subtracted. A sleepover row's own hours are unchanged - an unpaid break inside the sleepover window is called out on that row instead, as Unpaid break 30 mins not deducted from sleepover.

Each custom allowance on a shift adds a custom_allowance row with its Units, a blank Hours, and the allowance name in Comments.
There is no validation step on this export. Select Create Export and the file is queued straight away.
SCHADS interpreted timesheet
An Excel (.xlsx) file of interpreted shifts and quantities, named Award Timesheet Export followed by the batch's start and end dates. It has one row per Support Worker, per day, per earning rate, with these columns:
- Support Worker, Date, Pay Group
- Cost Code - only when your account uses cost codes
- Earning Rate, Units
Award allowances appear as their own rows alongside the pay lines, and any line that works out to zero units is left out. Custom allowances are not included. Rows are ordered by Support Worker, then date, then earning rate.
Select Validate & Export to run the interpreted timesheet validation checks and then queue the file.
Xero-formatted timesheet
The same interpreted data as above, but laid out as a pivot table ready for Xero's payroll import. It is an Excel (.xlsx) file named Xero Timesheet Export followed by the batch's start and end dates, with these columns:
- Support Worker
- Earning Rate
- One column per day in the batch, headed with the day and date (for example, Mon 04 May)
Each Support Worker's rows are grouped together with a blank row between workers, and earning rates with no units anywhere in the period are left out entirely. Units from a shift that runs past midnight on the final day of the batch are counted in the last date column. Each custom allowance adds a row under its own name, with its units on each day.
Select Validate & Export to run the interpreted timesheet validation checks and then queue the file.
Export Employment Hero Timesheet (CSV)
This produces a CSV of the Timesheet batch that is ready for importing into Employment Hero. If the integration is connected, the Actions menu also offers Send to Employment Hero and Replace in Employment Hero, which push the timesheets across without a file. See Employment Hero.
Export Xero Timesheet (API)
This opens the Export for Xero panel, where you can validate the batch and push it directly to Xero via the API. The panel also has an Export as Excel button in its top-right corner, which queues the same Xero-formatted timesheet file described above.
For more on the Xero integration for scheduling, see Xero Integration in Scheduling.
Delete
Within the Actions Menu, you can use the Delete option to remove the Timesheet Batch. You'll be asked to type the number of shifts in the batch to confirm. On accounts using the On-Call Roster, or when the batch holds on-call, type the number of shifts and on-call records the batch releases instead. Use of this function cannot be undone.
Deleting a batch releases its shifts and on-call to the next batch for those dates. A batch cannot be deleted while a later batch's on-call pay depends on it, so delete the later batch first.
Resolving Timesheet Batch Validation Errors
Before a batch can be exported, Astalty validates it. If anything would stop the export, the panel lists each problem against the worker it affects, and most rows include a Fix issue button (wrench icon) that opens the exact screen where you can resolve it - so you don't have to work out which setting is at fault.
Which errors you see depends on how you're exporting:
| Where you validate | Errors you'll see |
|---|---|
| Export Xero Timesheet (API) > Validate - syncs the batch to Xero through the integration | Xero validation errors |
| Export Employment Hero Timesheet (CSV) > Validate, or Send to your platform | Employment Hero validation errors |
| SCHADS interpreted timesheet or Xero-formatted timesheet > Validate & Export - produces a file | Interpreted timesheet validation errors |
The Raw shift data export has no validation step, because nothing is interpreted - it exports the approved shift times as they stand.
When the Fix issue button doesn't appear
Not every row has a Fix issue button. It's absent when:
- The error has to be fixed by editing the shift. Problems such as a zero-length shift, a break that falls outside the approved shift times, or overlapping timesheet lines can only be corrected on the shift itself. Go back to the schedule, open the affected shift, and correct its approved start/end times or breaks - see Shift Approvals.
- The error has to be fixed in your payroll platform. For example, if a worker isn't on the batch's payroll calendar in Xero, or their employee record isn't active in Employment Hero, the change has to be made in Xero or Employment Hero - Astalty can't do it for you.
- You can't make the fix yourself. The Fix issue button for the Shift has no cost code error only appears if you can create cost codes, and every button leads to a settings or HR page you need access to. Ask an Admin to give you access or resolve the error for you.
- The error isn't tied to a specific worker. Some Employment Hero errors need a linked worker on the row before Astalty can build a destination link.
Xero validation errors
| Error | Where Fix issue takes you |
|---|---|
| User is missing a Pay Group | The worker's HR tab, with the Update payroll drawer open |
| User is missing a Xero Employee ID | The worker's HR tab, with the Update payroll platform drawer open |
| User does not have an employment contract within the timesheet batch period | The worker's Employment Details, with the Add Employment Details drawer open |
| No state is set on the organisation's address or on this user's address, so the public holidays in their on-call cannot be priced | The worker's profile, with their address open for editing |
| The worker's pay group is set up for a different award from their employment contract | The worker's HR tab, with the Update payroll drawer open |
| Shifts carry a pay group set up for a different award from the worker's contract | Settings > Scheduling > Pay Groups. Change the pay group on those shifts, or the pay group's award |
| The award on the worker's contract doesn't support sleepovers | The worker's HR tab |
| Pay Group is missing Xero configuration, or is missing a pay item | Xero Pay Groups settings, usually opened ready to edit that pay group's pay item mapping |
| A custom allowance on a shift in the batch has no Xero earnings rate mapped, or its earnings rate has been deleted or archived in Xero, or isn't measured in hours | Xero Custom Allowances settings, listing archived allowances too |
| Cost code is missing a Xero payroll tracking option | Xero Cost Codes settings |
| Shift has no cost code, but your Xero organisation requires a tracking category on timesheets | Settings > Scheduling > Cost Codes, with the Re-evaluate Existing Records drawer open and scoped to this batch's date range |
| Two or more workers share the same Xero employee | The worker's HR tab, with the Update payroll platform drawer open. The message names everyone sharing that employee - each needs their own Xero employee before the batch can be exported |
| Xero already holds a timesheet for this worker for this period | Manage Xero Timesheets, filtered to that worker and pay period - but only if the existing timesheet is a draft. The row also shows its status in Xero, period and hours. Anything already approved, awaiting approval or in a pay run has to be dealt with in Xero; see Timesheet Already Exists |
Which pay items get checked
Validation interprets the batch under the award on each worker's employment contract, then checks that every rate and allowance it pays has a pay item mapped on the worker's pay group. A pay item the batch does not use is not checked. A pay group can pass one week and fail the next, when a worker first works a night, a public holiday or a sleepover. The error names the missing pay item, and its row lists any shifts that needed it.
The same applies to on-call: standby and activations in the batch need the on-call pay items for the worker's award, such as On Call Weekday and Remote Work for SCHADS.
Map every pay item for the worker's award before the first pay run, rather than waiting for validation to name each one. Each award page lists the pay items and suggested multipliers for its own pay group - see SCHADS, Nurses, Aged Care and Health Professionals.
A pay group's mapping encodes one award's rates, so a pay group holding workers on two awards stops the export and names both - see Setup Pay Items and Employee Templates in Xero. On-call has no pay group of its own. When neither the worker's pay group nor their shifts on the same days carry a pay group for the award on the contract covering the on-call, it cannot be exported, and the error asks you to pay that period outside Astalty.
User is not on this timesheet batch's payroll calendar in Xero has no Fix issue button. This can only be fixed in Xero - assign the employee to the batch's payroll calendar there, then re-run the export.
For the two cost code errors, the row also lists the affected shifts as clickable dates and times - selecting one opens the shift viewer on the same page, so you don't lose your place. Six are shown at a time; if there are more, select +2 more (the count varies) to reveal the rest, then Show fewer to collapse them again.
Employment Hero validation errors
Connection and Shift Errors
Employment Hero validation splits results into Errors, which must be fixed before you can export, and Warnings, which don't block the export. If there are warnings and no blocking errors at all, an Export anyway button appears so you can proceed - but Employment Hero may still reject overlapping lines when the pay run is processed.
Each row also shows a plain-English explanation beneath the error, telling you what triggered it.
Fix issue takes you to the worker's HR tab for:
| Error | Drawer opened |
|---|---|
| Not yet linked to an Employment Hero employee | Update payroll platform |
| Linked, but the employee couldn't be found in Employment Hero | Update payroll platform |
| Not assigned to a pay group | Update payroll |
| Their pay group is set up for a different award from their employment contract | Update payroll |
| The award on their contract doesn't support sleepovers | (no drawer - the HR tab itself) |
Fix issue takes you elsewhere on the worker's profile for:
- No employment contract for the batch period, on a worker with a sleepover or on-call in the batch - their Employment Details, with the Add Employment Details drawer open
- No state on the organisation's address or the worker's, so the public holidays in their on-call can't be priced - their profile, with their address open for editing
Fix issue takes you to Employment Hero Pay Groups settings for:
- The pay group has no Employment Hero work type mappings yet
- A required work type isn't mapped - Ordinary Hours, KMs Travel, Paid Meal Break, Unpaid Meal Break, Sleepover, Active Overnight, or Paid Cancellation
- 24-hour Care isn't mapped and a home care worker has a 24-hour care shift in the batch, including one cancelled with pay
- Only one of Pre-Sleepover and Post-Sleepover is mapped (a warning) - map both, or clear both to keep the previous behaviour
- The worker was on call, but their pay group doesn't map the work type for that on-call pay
- A mapped work type can't price what is sent as units: KMs Travel, Sleepover and the on-call allowances need a fixed-rate pay category. The other on-call rows need a custom work type on a pay category of its own, or one of the platform's own work types on a fixed-rate pay category. Weekday remote work and weekday on-call ordinary hours may also use a custom work type on the employee's primary pay category
- A work type mapped in Astalty no longer exists in Employment Hero
Fix issue takes you to Settings > Scheduling > Pay Groups for:
- Shifts carry a pay group set up for a different award from the worker's contract, so their on-call can't be paid. Change the pay group on those shifts, or the pay group's award
Fix issue takes you to Employment Hero Custom Allowances settings for:
- A custom allowance on a shift in the batch has no work type mapped
- A custom allowance is mapped to a work type that no longer exists in Employment Hero
- A custom allowance's work type doesn't pay a pay category of its own, or is one of Employment Hero's own work types without a fixed rate
Fix issue takes you to Employment Hero Cost Codes settings for:
- A shift's cost code hasn't been mapped to an Employment Hero location
- A mapped location no longer exists in Employment Hero
These errors have no Fix issue button:
| Error | What to do |
|---|---|
| The approved start and end times are identical, giving zero hours | Review the shift's approved times |
| A calculated value came out negative (such as travel kilometres or sleepover units) | Review the shift's approved details |
| A paid break starts or ends outside the approved shift times | Review the shift's break times and approved start/end times |
| A shift falls outside the batch's date range (common when a shift crosses midnight near the batch boundary) | Adjust the shift, or the batch date range |
| Timesheet lines overlap (a warning) | Review the approved times on the overlapping shifts |
| The employee exists in Employment Hero but isn't active | Update their status in Employment Hero, or exclude them from the export |
| Astalty couldn't work out the employee's on-call pay for this batch | The message says why. Fix the cause, then validate again |
| On-call is paid at a rate Astalty does not send to your platform, so the export leaves it out (a warning) | Pay it outside Astalty, or select Export anyway to send the rest of the batch |
Interpreted timesheet validation errors
The two interpreted file exports - SCHADS interpreted timesheet and Xero-formatted timesheet - validate against the award interpretation. Here the fix control is a wrench icon rather than a labelled button; hover it to see the Fix issue tooltip.
| Error | Where the wrench takes you |
|---|---|
| User is missing a Pay Group | The worker's HR tab, with the Update payroll drawer open |
| No employment contract for the batch period | The worker's Employment Details, with the Add Employment Details drawer open |
| No state on the organisation's address or the worker's, so the public holidays in their on-call can't be priced | The worker's profile, with their address open for editing |
| Their pay group is set up for a different award from their employment contract | The worker's HR tab, with the Update payroll drawer open |
| Shifts carry a pay group set up for a different award from the worker's contract | Settings > Scheduling > Pay Groups |
| The award on their contract doesn't support sleepovers | The worker's HR tab |
If the batch contains no shifts to export at all, No shifts found to export is shown on its own instead of against a worker, with no wrench icon.
Managing Xero Draft Timesheets
If your account uses Xero for payroll, you can review and bulk delete the draft timesheets currently sitting in Xero. This is handy when you need to clear out drafts before re-exporting a corrected batch. There are two ways to reach this tool.
From the Timesheet Batches page
From Timesheet Batches, select the Actions menu next to Create Batch, then choose Manage Xero Timesheets.

The Bulk delete draft timesheets panel opens, listing the draft timesheets currently in Xero with the Worker, Pay Period and Hours. Select individual timesheets, or use Select all, and then select Delete to remove them.

From Settings
You can also reach the same tool through Settings:
- Go to Settings > Integrations.
- On the Xero card, select View Details.
- In the Xero settings menu, open Manage Timesheets.
- Select Actions > Bulk delete, then choose the draft timesheets to remove and select Delete.
This page also shows a full table of the draft timesheets currently in Xero, so you can review them before deleting.
Deletion runs in the background, so you can keep working while it completes. Once finished, you'll see how many were deleted and any that failed, so you can retry or remove them directly in Xero.
Award Interpretation
Each worker in the batch is interpreted under the award on their employment contract. For supported rules and manual checks, see SCHADS, Nurses, Aged Care and Health Professionals. For the full standalone report documentation, including pay period requirements, stat cards, filtering, and excluded employees, see the Award Pay Report.
Open a Timesheet Batch and select Award Interpretation to review how Astalty interpreted its shifts. On Employment Hero, PayCat and QuickBooks Payroll, the payroll platform calculates award pay from the timesheets Astalty sends, so its result can differ from these figures.
Use a complete pay period. For adjoining work that crosses into it, Astalty carries the previous period's interpretation into the later period's shift, daily, overtime-band, meal, and minimum-engagement calculations without exporting the earlier hours twice. Check Pay Period Settings, resolve missing or unapproved records, and compare the final payroll amounts after export.
Viewing the Interpretations per Support Worker
The table shows Astalty's interpretation of each worker's shifts in the batch. Group the rows by day or view the itemised results.
By Daily Breakdown
If you are viewing by Daily Breakdown you can view the different pay line totals applied per days, and you then group each of the pay lines across the pay cycle to display the total accumulated amounts of that pay line in the pay cycle.

By Itemised Lines
If you are viewing by Itemised Lines you can view it grouped by the Paylines and Allowances, which will then provide you with the date of support, Pay rate or Allowance, and the amount of units.
Exporting to CSV
Select Export CSV to queue a CSV of every employee interpreted for this batch - including anyone hidden by the table's search. If your organisation requires a reason for exports, an Export reason box appears; enter at least 10 characters before selecting Create export.
The file is queued in the background and appears on the Exports page as Award Interpretation Export followed by the batch's start and end dates. Its columns match the Award Pay Report's CSV export.