v51

latestOpenAPI 3.0.0MITraw.githubusercontent.com2026-07-213287185.4 KB
PayrollAu

Creates a timesheet

post/Timesheets

Headers

Idempotency-Keystring

This allows you to safely retry requests without the risk of duplicate processing. 128 character max.

Request body

EmployeeIDstring uuid required

The Xero identifier for an employee

StartDatestring required

Period start date (YYYY-MM-DD)

EndDatestring required

Period end date (YYYY-MM-DD)

Status'DRAFT' | 'PROCESSED' | 'APPROVED' | 'REJECTED' | 'REQUESTED'
Hoursnumber double

Timesheet total hours

TimesheetIDstring uuid

The Xero identifier for a Payroll Timesheet

UpdatedDateUTCstring

Last modified timestamp

Example request

[
  {
    "EmployeeID": "72a0d0c2-0cf8-4f0b-ade1-33231f47b41b",
    "StartDate": "/Date(322560000000+0000)/",
    "EndDate": "/Date(322560000000+0000)/",
    "Hours": 31,
    "TimesheetID": "049765fc-4506-48fb-bf88-3578dec0ec47",
    "TimesheetLines": [
      {
        "EarningsRateID": "966c5c77-2ef0-4320-b6a9-6c27b080ecc5",
        "TrackingItemID": "ae777a87-5ef3-4fa0-a4f0-d10e1f13073a",
        "NumberOfUnits": [
          3
        ],
        "UpdatedDateUTC": "/Date(1583967733054+0000)/"
      }
    ],
    "UpdatedDateUTC": "/Date(1583967733054+0000)/"
  }
]

Response

A successful request

Example response

{
  "Timesheets": [
    {
      "EmployeeID": "72a0d0c2-0cf8-4f0b-ade1-33231f47b41b",
      "StartDate": "/Date(322560000000+0000)/",
      "EndDate": "/Date(322560000000+0000)/",
      "Hours": 31,
      "TimesheetID": "049765fc-4506-48fb-bf88-3578dec0ec47",
      "TimesheetLines": [
        {
          "EarningsRateID": "966c5c77-2ef0-4320-b6a9-6c27b080ecc5",
          "TrackingItemID": "ae777a87-5ef3-4fa0-a4f0-d10e1f13073a",
          "NumberOfUnits": [
            3
          ],
          "UpdatedDateUTC": "/Date(1583967733054+0000)/"
        }
      ],
      "UpdatedDateUTC": "/Date(1583967733054+0000)/"
    }
  ]
}