---
title: How to Publish Timesheets to Payroll
description: Once your employees are mapped and pay codes are configured, you can publish approved timesheets directly to your payroll provider.
---

[Skip to content](https://help.jointimecloud.com/how-to-publish-timesheets-to-payroll#main-content)

[Contact us](https://help.jointimecloud.com/kb-tickets/new?hsLang=en)

[![Timecloud-Logo-600-2](https://help.jointimecloud.com/hs-fs/hubfs/Timecloud-Logo-600-2.png?width=200&height=40&name=Timecloud-Logo-600-2.png)](https://help.jointimecloud.com/?hsLang=en)

Open main navigation

Close main navigation

- [Contact us](https://help.jointimecloud.com/kb-tickets/new)
- [Go to app.jointimecloud.com](https://app.jointimecloud.com/)

[Go to app.jointimecloud.com](https://app.jointimecloud.com/)

 Got questions? Ask away

- There are no suggestions because the search field is empty.

1. [Service Portal](https://help.jointimecloud.com/?hsLang=en)
2. [Payroll](https://help.jointimecloud.com/payroll?hsLang=en)

# How to Publish Timesheets to Payroll

## Once your employees are mapped and pay codes are configured, you can publish approved timesheets directly to your payroll provider.

#### **Publishing Timesheets**

1. Go to **Payroll** \> select your provider \> **Synchronise Timesheets**.
2. Select a **Date Range** using the date picker. This determines which timesheets will be published.
3. If employee selection is available, choose which employees to include.
4. Click **Publish to \[Provider Name\]**.
5. If your provider supports it, click **Check Progress** to monitor the publish status.

Review any date range warnings (e.g., about overlapping periods) before publishing to avoid duplicate entries.

---

#### **Award and Employment Type in the Employee Selector**

If your company uses Awards, the employee selector table shows two additional columns:

- **Award** - the award assigned to each employee (e.g., "Hospitality Award").
- **Employment Type** - the employment type within that award (e.g., "Full Time").

Use these columns to quickly check whether every employee has an award and employment type assigned before you publish. Employees with blank Award or Employment Type cells need to be configured in their profile first - otherwise, their timesheets cannot be processed.

You can **sort** by Award or Employment Type by clicking the column header, making it easy to group and review employees by award.

---

#### **Understanding Publish Results**

After clicking **Publish**, Timecloud shows one of the following:

- **Success** - all timesheets published without issues. A green confirmation message appears.
- **Not All Timesheets Published** - some timesheets were sent successfully, but one or more had problems. A dialog lists each issue.
- **No Timesheets Published** - nothing was sent to your payroll provider. This can happen when all selected employees have configuration problems (e.g., missing award assignments) or when there are no timesheets for the selected date range.
- **Timesheets Not Published** - an unexpected error prevented the publish from completing. Try again shortly, and contact support if the problem persists.

### **Actionable Error Messages**

Each error message in the dialog tells you exactly what went wrong and what to do:

 

 

| Error | Meaning | What to Do |
| --- | --- | --- |
| **\[Employee Name\] has no award and/or employment type assigned** | The named employee is missing their award or employment type configuration. | Go to the employee's profile, assign an award and employment type, then republish. |
| **Award "\[Award\]", employment type "\[Type\]", rule "\[Rule\]" has no pay code mapped** | A specific award rule (e.g., overtime at 1.5x) does not have a matching pay code in your payroll provider. | Go to **Payroll** \> **Pay Rates** and map the missing rule to the correct pay code. |
| **Award "\[Award\]", employment type "\[Type\]", leave type "\[Leave\]" has no pay code mapped** | A leave type under a specific award and employment type has no pay code mapping. | Go to **Payroll** \> **Pay Rates** and map the missing leave type. |
| **Unworked public holiday has no pay code mapped** | A public holiday rate is not mapped to a pay code for the given award and employment type. | Map the public holiday pay code under **Payroll** \> **Pay Rates**. |
| **There were no timesheets to send** | No timesheet data was generated for the selected employees and date range. | Check that employees have approved attendance records in the selected period. |

 

 

 

After fixing the issue, return to **Synchronise Timesheets** and republish. Employees whose timesheets were already sent successfully do not need to be republished.

---

#### **Provider-Specific Notes**

### **Xero (AU and NZ)**

- If publishing fails for one or more employees, Timecloud shows a dialog listing which employees had issues and what went wrong.
- Each error message names the affected employee and suggests the next step - follow the guidance in the message to resolve and republish.
- If only some employees fail, the rest are published successfully. Re-publish to retry just the ones that didn't go through.

#### **Partial-Day Leave Hours**

- When you publish a single-day leave entry recorded in hours (e.g., 4 hours of Annual Leave), Timecloud sends the **exact hours** to Xero rather than just the date. This ensures your Xero leave balances deduct only the hours taken, not a full day.
- Supported payroll calendar types: **Weekly**, **Fortnightly**, **Four-Weekly**, and **Monthly**.
- If Timecloud cannot determine the correct pay period for a partial-day leave entry, it falls back to syncing just the dates - you may see a warning in the publish results if this occurs. The leave is still created in Xero, but Xero will apply its default hours for the day.

### **iPayroll**

- If you have **Cost Centres** imported via **Job Tracking**, the Cost Centre code is automatically included with each timesheet line that has a mapped job.
- Jobs without a Cost Centre mapping are published normally - no Cost Centre code is sent for those lines.
- Make sure jobs are imported and mapped in the Job Tracking section before publishing for Cost Centre data to flow through.

### **MicrOpay**

- Timecloud supports both **standard leave types** (e.g., Annual Leave, Sick Leave) and **User Defined Leave** types from MicrOpay.
- **User Defined Leave** - if you have custom leave classes set up in MicrOpay, Timecloud will automatically sync them during the leave type import. Each User Defined Leave type is identified by its unique leave code.
- When publishing timesheets, User Defined Leave entries are exported with the correct classification so MicrOpay recognises them without any manual adjustment.
- To use User Defined Leave: 
    - Ensure the leave types are configured in MicrOpay first.
    - Sync leave types in Timecloud under **Payroll** \> **MicrOpay** \> **Sync Leave Types**.
    - Map the synced leave types to the corresponding Timecloud leave categories.
    - Publish timesheets as normal - User Defined Leave is included automatically.
- If a User Defined Leave type is missing its leave code after sync, re-sync leave types to refresh the mapping.

### **Smartly**

- Smartly requires the timesheet date range to match each employee's pay cycle exactly. Ensure the dates correspond to a complete pay period.
- Hours are consolidated per pay rate and department - if an employee works the same rate across multiple shifts, the total is combined automatically.
- Leave rows (e.g., annual leave, sick leave) are exported with their start and end dates.

#### **Public Holidays**

- You can map **Public Holiday Not Worked (PH)** and **Public Holiday Worked (PHW)** pay rates under **Settings \> Payroll \> Pay Rates**.
- When timesheets are published, PH and PHW entries are sent to Smartly as leave rows with the correct leave type codes.
- To use this feature, enable **Holidays** in your company settings and configure a holiday calendar.

#### **Alternative Holiday Earned**

- When **Persist Public Holiday Leave Hours** is enabled (under **Settings \> Time \> Public Holidays**), Timecloud automatically exports an **Alternative Holiday Earned** row for each employee who works on a public holiday.
- This accrues one alternative day per worked public holiday - no manual intervention is needed.
- To use this, ensure: 
    - The **Persist Public Holiday Leave Hours** toggle is on (and **Add To Standard Hours** is off).
    - A **Public Holiday Worked (PHW)** pay rate is mapped if you use Job Tracking.
    - The employee has public holidays enabled on their profile.

#### **Allowances, Deductions and Benefits**

- Award-based **allowances** are exported to Smartly as unit quantities (not dollar amounts). Map each allowance rule to a Smartly pay component code in the pay-rate dropdown.
- **Deductions** and **benefits** are exported as percentage decimals (e.g., 0.03 for 3%). These are identified by their prefixed pay component codes.
- Flat allowances (those without a per-unit amount) are exported as 1 unit - ensure the matching Smartly component has the correct rate configured on the Smartly side.
- If an allowance is linked to a department (via Job Tracking), the department code is included automatically.

---

#### **Troubleshooting Xero Publishing Errors**

If you see an error dialog after publishing to Xero, here is what each error means and how to fix it:

 

 

| Error | Cause | Fix |
| --- | --- | --- |
| **Rate limit reached** | Xero allows a limited number of API calls per minute. | Wait a few minutes and republish. |
| **Xero server issue** | Xero is temporarily unavailable. | Wait a few minutes and try again. |
| **Draft timesheet already exists** | The employee already has an open timesheet in Xero for this period. | Open Xero, delete or close the existing draft, then republish. Alternatively, exclude that employee from the publish. |
| **Job items not synced** | An employee worked job items that haven't been mapped to Xero tracking categories. | Go to **Job Tracking**, re-sync your tracking items to Xero, then republish. |
| **Job no longer exists in Xero** | A tracked job/tracking option was archived or renamed in Xero. | Re-sync your jobs in the **Job Tracking** tab (check for archived or renamed items in Xero), then republish. |
| **Timesheet dates don't match pay period** (NZ) | The publish date range doesn't align with the employee's pay calendar in Xero. | Check the date range matches the employee's pay period in Xero and retry. |
| **Could not resolve pay period for partial-day leave** | Timecloud couldn't match the leave date to a Xero pay period. | Leave is still created with dates only. Verify the employee's payroll calendar is set correctly in Xero. |
| **Unknown error** | An unexpected issue occurred. | Try again shortly. If the problem persists, contact support. |

 

 

 

---

#### **Tips**

- **Check awards before you publish** - if your company uses Awards, scan the Award and Employment Type columns in the employee selector. Blank cells mean that employee's timesheets won't be processed.
- **Check before you publish** - make sure employee mappings and job tracking items are synced before each pay run.
- **Partial failures are OK** - successfully published employees don't need to be republished. Only retry the failed ones.
- **Xero rate limits** - if you have many employees, Timecloud may hit Xero's request limits. Wait a minute and republish; employees that succeeded won't be duplicated.
- **Partial-day leave accuracy** - for the most accurate leave hours in Xero, ensure each employee has a payroll calendar assigned in Xero and that it matches their actual pay cycle.

- [Account & Security](https://help.jointimecloud.com/account-security?hsLang=en)
- [Attendance & Timesheets](https://help.jointimecloud.com/attendance-timesheets?hsLang=en)
- [Award Interpretation](https://help.jointimecloud.com/award-interpretation?hsLang=en)
- [Biometric Scanners](https://help.jointimecloud.com/biometric-scanners?hsLang=en)
- [Employees](https://help.jointimecloud.com/employees?hsLang=en)
- [Forms & Checklists](https://help.jointimecloud.com/forms-checklists?hsLang=en)
- [Geofencing](https://help.jointimecloud.com/geofencing?hsLang=en)
- [Human Resources](https://help.jointimecloud.com/human-resources?hsLang=en#main-content)

    - [Organisation View](https://help.jointimecloud.com/human-resources?hsLang=en#organisation-view)
- [Integrations](https://help.jointimecloud.com/integrations?hsLang=en)
- [Job Tracking](https://help.jointimecloud.com/job-tracking?hsLang=en)
- [Leave Management](https://help.jointimecloud.com/leave-management?hsLang=en)
- [Mobile App](https://help.jointimecloud.com/mobile-app?hsLang=en#main-content)

    - [Kiosk](https://help.jointimecloud.com/mobile-app?hsLang=en#kiosk)
    - [Mobile App](https://help.jointimecloud.com/mobile-app?hsLang=en#mobile-app)
- [Payroll](https://help.jointimecloud.com/payroll?hsLang=en#main-content)

    - [Xero](https://help.jointimecloud.com/payroll?hsLang=en#xero)
    - [iPayroll](https://help.jointimecloud.com/payroll?hsLang=en#ipayroll)
    - [MYOB](https://help.jointimecloud.com/payroll?hsLang=en#myob)
    - [Smartly](https://help.jointimecloud.com/payroll?hsLang=en#smartly)
- [Reporting](https://help.jointimecloud.com/reporting?hsLang=en)
- [Roster](https://help.jointimecloud.com/roster?hsLang=en)
- [Settings](https://help.jointimecloud.com/settings?hsLang=en)
- [Shifts](https://help.jointimecloud.com/shifts?hsLang=en)
- [Time Clock](https://help.jointimecloud.com/time-clock?hsLang=en)
- [Dashboard](https://help.jointimecloud.com/dashboard?hsLang=en)

Service Desk

Copyright © 2025, Timecloud Ltd