Overview
TimeLeaf connects your approved timesheets and leave data to your payroll system. All plans support CSV export. The Professional plan and above add direct integrations with QuickBooks Online and Xero.
CSV export
CSV export is the simplest way to get timesheet data into any payroll system.
Running an export
- Go to Reports > Payroll Export.
- Select the date range (typically your pay period).
- Choose the export format: Standard, QuickBooks, or Xero.
- Click Export CSV. The file downloads to your browser.
Only approved timesheets are included in the export. If a timesheet is still pending approval, it is excluded and a warning is shown.
Export formats
| Format | Description |
|---|---|
| Standard | A general-purpose CSV with employee name, date, regular hours, overtime hours, and leave hours. Compatible with most payroll systems. |
| QuickBooks | Formatted to match QuickBooks Online's time activity import schema. Includes employee display name, service item, and billable status. |
| Xero | Formatted for Xero's timesheet import. Groups entries by employee and pay period with earnings rate codes. |
Summary export
In addition to the detailed line-by-line export, you can generate a summary export that aggregates hours per employee for the pay period. This is useful for salaried payroll where you only need totals.
QuickBooks Online integration
The QuickBooks integration syncs approved timesheets as TimeActivity entries. Available on the Professional plan and above.
How it works
- Connect your QuickBooks account under Settings > Integrations > QuickBooks.
- Map TimeLeaf employees to QuickBooks employee records.
- When a timesheet is approved, TimeLeaf creates a corresponding TimeActivity in QuickBooks.
- The sync runs automatically on approval or can be triggered manually from the payroll export page.
See the QuickBooks integration guide for detailed setup instructions.
Xero integration
The Xero integration syncs approved timesheets as Xero timesheet entries, one per employee per pay period. Available on the Professional plan and above.
How it works
- Connect your Xero account under Settings > Integrations > Xero.
- Configure earnings rate mappings for regular hours, overtime, and leave.
- Approved timesheets sync to Xero as draft timesheets for review before payroll processing.
See the Xero integration guide for detailed setup instructions.
API endpoint
You can also retrieve payroll export data programmatically via the REST API.
GET /api/payroll/export
Query parameters:
| Parameter | Type | Required | Description |
|---|---|---|---|
start_date | string (ISO 8601) | Yes | Start of the pay period |
end_date | string (ISO 8601) | Yes | End of the pay period |
format | string | No | standard, quickbooks, or xero. Defaults to standard. |
summary | boolean | No | If true, returns aggregated totals per employee. Defaults to false. |
team_id | string | No | Filter by team. |
location_id | string | No | Filter by location. |
The endpoint returns JSON by default. Add Accept: text/csv to the request header to receive CSV output.
API access requires the Professional plan or above and an API key with the payroll:read scope. Generate API keys under Settings > API.