Table of Contents
Timesheets API v1
Time Entries API v2 endpoints provides you with more information about your Timesheets/Time Entries.
Supported Endpoints and Methods
The endpoint can be found at: https://api.reckon.com/R1/{BOOKID}/timesheets
Methods supported: GET, POST, DELETE
The Book ID represents the unique GUID of the Book the user wants to write data to. For example c1b3da90-e9df-4d57-8cfb-71a1d7bfe401
The customer must have Reckon One Time and Expenses module for this API to be available. If the user does not have access to this module, the response of ‘user does not have access’ with a 401 HTTP response will be returned.
Reckon One Module | Endpoint | Additional Parameter(s) | HTTP Method | Request URL | Description | API Portal | Countries |
Time and Expenses | /entry /timesheetEntryId | GET | Retrieve a specific timesheet by its ID | AU/NZ/UK | |||
Time and Expenses | /summary /employeeId | GET | Retrieve the an employees timesheets by employee ID | AU/NZ/UK | |||
Time and Expenses | /week /employeeId /startDate | GET | Retrieve a timesheet list for a specific employee ID with a specific starting date | AU/NZ/UK | |||
Time and Expenses | /employee | GET | Retrieve a list of the employees who have timesheets | AU/NZ/UK | |||
Time and Expenses | /entry | GET | Retrieve the timesheets list within the book with more details than the summary endpoint | AU/NZ/UK | |||
Time and Expenses | /summary | GET | Retrieve a summary of the timesheets within the book. The intention is to retrieve the ID of the timesheet to then be able to use that to gather further information via the /timesheetId service | AU/NZ/UK | |||
Time and Expenses | Timesheets |
| PUT | Update an existing timesheet entry | AU/NZ/UK | ||
Time and Expenses | Timesheets |
| POST | Create a timesheet for a single day | AU/NZ/UK | ||
Time and Expenses | /week | POST | Create a timesheet for a week | AU/NZ/UK | |||
Time and Expenses | /timesheetID | DELETE | Delete a timesheet using a timesheet ID | AU/NZ/UK |
Sample
Get list of Timesheet Entries
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets
Method: GET
{
"TimesheetEntryId":"1cecf664-33b1-481e-a353-365113b76020",
"Date":"2016-05-16T00:00:00+00:00",
"ProjectId":"2f182003-6031-4c8d-bf52-082cd948ac97",
"CustomerId":"fec28ebc-f916-4544-8257-017649d45211",
"ItemId":"142d973c-8771-45cc-8d61-47a57d517b80",
"Notes":"Gardening",
"Billable":true,
"Status":2,
"EmployeeId":"1da837c2-c03a-446d-b5c2-c0577950b644",
"CashbookId":"0da93f9e-acb7-4bb0-b66d-a124e02dbe39",
"EntryNo":26316,
"ProjectName":"Aportis",
"CustomerName":"Aportis",
"ItemName":"Consulting",
"EmployeeName":"Shaun Locke",
"Time":"01:00"
}Details of each object
Data Field | Description | Data Type |
TimesheetEntryID | The entry id of the timesheet as a GUID | GUID |
Date | The date of the timesheet | Text |
ProjectId | If the timesheet is associated with a project, the GUID of that project within the Book | GUID |
CustomerId | If the timesheet is associated with a customer, the GUID of that customer within the book | GUID |
ItemId | If the timesheet is associated with a Item, the GUID of the item within the book | GUID |
Notes | Any notes associated with the timesheet | Alphanumeric |
Billable | Whether the timesheet is billable. Note – Timesheets without a customer cannot be marked billable | Boolean True/False |
Status | The status of the timesheet | 1 – Non Billable 2 – Unbilled 3 – Billed |
EmployeeId | The GUID of the employee the timesheet is for | GUID |
CashBookId | The Cashbook the timesheet belongs to | GUID |
EntryNo | The entry no of the timesheet | Alphanumeric |
ProjectName
| The name of the project the timesheet is linked to if a project is linked to the timesheet | Alphanumeric |
CustomerName | The name of the customer the timesheet is linked to if the timesheet is linked to a customer | Alphanumeric |
ItemName | The name of the item the timesheet is linked to if the timesheet is linked to a item | Alphanumeric |
EmployeeName | The name of the employee the timesheet is linked to | Alphanumeric |
Time | The time in hours that the timesheet is for | Text Format HH:MM – Note, the maximum a timesheet entry for a day can total is 24:00 ie 24 hours. |
GET Timesheet by ID
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets/entry/{id}
Method: GET
{
"TimesheetEntryId":"1cecf664-33b1-481e-a353-365113b76020",
"Date":"2016-05-16T00:00:00+00:00",
"ProjectId":"2f182003-6031-4c8d-bf52-082cd948ac97",
"CustomerId":"fec28ebc-f916-4544-8257-017649d45211",
"ItemId":"142d973c-8771-45cc-8d61-47a57d517b80",
"Notes":"Gardening",
"Billable":true,
"Status":2,
"EmployeeId":"1da837c2-c03a-446d-b5c2-c0577950b644",
"CashbookId":"0da93f9e-acb7-4bb0-b66d-a124e02dbe39",
"EntryNo":26316,
"ProjectName":"Aportis",
"CustomerName":"Aportis",
"ItemName":"Consulting",
"EmployeeName":"Shaun Locke",
"Time":"01:00"
}
Details of each object
Data Field | Description | Data Type |
TimesheetEntryID | The entry id of the timesheet as a GUID | GUID |
Date | The date of the timesheet | Text |
ProjectId | If the timesheet is associated with a project, the GUID of that project within the Book | GUID |
CustomerId | If the timesheet is associated with a customer, the GUID of that customer within the book | GUID |
ItemId | If the timesheet is associated with a Item, the GUID of the item within the book | GUID |
Notes | Any notes associated with the timesheet | Alphanumeric |
Billable | Whether the timesheet is billable. Note – Timesheets without a customer cannot be marked billable | Boolean True/False |
Status | The status of the timesheet | 1 – Non Billable 2 – Unbilled 3 – Billed |
EmployeeId | The GUID of the employee the timesheet is for | GUID |
CashBookId | The Cashbook the timesheet belongs to | GUID |
Entry No | The entry no of the timesheet | Alphanumeric |
ProjectName | The name of the project the timesheet is linked to if a project is linked to the timesheet | Alphanumeric |
CustomerName | The name of the customer the timesheet is linked to if the timesheet is linked to a customer | Alphanumeric |
ItemName | The name of the item the timesheet is linked to if the timesheet is linked to a item | Alphanumeric |
EmployeeName | The name of the employee the timesheet is linked to | Alphanumeric |
Time | The time in hours that the timesheet is for | Text Format HH:MM |
Get Timesheets Summary
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets/summary
Method: GET
{
"EntryId":"1cecf664-33b1-481e-a353-365113b76020",
"Date":"2016-05-16T00:00:00+00:00",
"EmployeeId":"1da837c2-c03a-446d-b5c2-c0577950b644",
"CustomerName":"Aportis",
"ChargeableItemName":"Consulting",
"ProjectName":"Aportis",
"Note":"Gardening",
"Length":60,
"Status":2,
"Billable":true
}Details of each object
Data Field | Description | Data Type |
EntryId | The entry id for the timesheet in the book | GUID |
EmployeeId | The id of the employee which the timesheet is for | GUID |
CustomerName | The name of the customer the timesheet is linked to | Text |
ChargeableItemName | The name of the item linked to the timesheet | Text |
ProjectName
| The name of the project linked to the timesheet | Text |
Note | Any notes linked to the timesheet | Text |
Status | The status of the timesheet | 1 – Non billable 2 – Unbilled 3 – Billed |
Billable | Whether the timesheet is billable or not | Boolean true/false |
Post a Timesheet (Single Day)
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets
Method: POST
{
"EmployeeId":"61ab8cef-0009-4d41-85b6-dff6d932371e",
"Date":"2019-12-10",
"Entries":[
{"TimesheetEntryId":"00000000-0000-0000-0000-000000000000",
"Date":"2019-12-10T00:00:00",
"ProjectId":"00000000-0000-0000-0000-000000000000",
"CustomerId":"27fe0a78-7a78-447f-bd20-5daa7a2be8d1",
"ItemId":"8cf9cefa-c560-4f39-9a0b-ea4944369798",
"Notes":"peter test api",
"Time":"01:01",
"Billable":false,
"Status":1,
"EmployeeId":"61ab8cef-0009-4d41-85b6-dff6d932371e",
"CashbookId":"624fee50-ba4c-4d5b-a5af-d6d6f995b1d6",
"EntryNo":0,
"ProjectName":"",
"CustomerName":"Customer",
"ItemName":"Service Item 1",
"EmployeeName":"Ifti Chowdhury"
}]
}
Details of each object
Data Field | Description | Data Type |
EmployeeId | The employee id the timesheet is for | GUID |
Date | The date of the timesheet | Date/Time – Format YYYY-MM-DD |
Entries | An array of the entries for the timesheet. Each entry represents one line of the timesheet. The maximum number of hours cannot total more than 24 hours |
|
TimeSheetEntryId | The GUID of the timesheet entry you are editing if using PUT. Can be left out if adding a new entry | GUID |
Date | The date of that entry | Date/Time – Format YYY-MM-DD |
ProjectId | The project being linked to the timesheet. Can be left out if no project is to be linked | GUID |
CustomerId | The id of the customer being linked to the timesheet. Can be left out if no customer is to be linked | GUID |
ItemId | The id of the item being linked to the timesheet | GUID |
Notes | Any notes to include with the timesheet entry | Text |
Time | The time allocated to that entry. Cannot exceed 24 hours | Text – HH:MM |
Billable | Whether the timesheet is billable or not. Billable timesheets must have a customer linked to them | Boolean true/false |
Status | The status of the timesheet entry | 1 – Non billable 2 – Billable 3 – Billed |
EmployeeId | The employee id to be used for this entry | GUID |
CashBookId | The id of the cashbook the entry is for | GUID |
EntryNo | The entry no of the timesheet entry. | Number |
ProjectName | The name of the project being linked to the timesheet. This is optional even if you use a GUID to define the project link. | Text |
CustomerName | The name of the customer being linked to the timesheet. This is optional. | Text |
ItemName | The name of the item being linked to the timesheet entry. This is optional. | Text |
EmployeeName | The name of the employee the timesheet is for. This is optional. | GUID |
Post a Timesheet (Weekly Entry)
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets
Method: POST
{
"EmployeeId":"91b66246-7ca1-410c-b44f-16c77ee8c9e1",
"StartDate":"2016-04-25",
"Timesheets":
[
{
"ProjectId":"6f05c231-40f7-4e33-a065-d2e4e872ba00",
"CustomerId":"3de468aa-becf-47e0-a769-d4300b74d93f",
"ItemId":"3938d51f-e885-4e21-abb3-04cce93f1d3d",
"Billable":false,
"Day1":"01:00",
"Day2":"02:00",
"Day3":"03:00",
"Day4":"04:00",
"Day5":"05:00",
"Day6":null,
"Day7":null
}
]
}
Details of each object
Data Field | Description | Data Type |
EmployeeId | The employee id the timesheet is for | GUID |
StartDate | The start date for the weekly timesheet. Must always be a Monday. | Date/Time – Format YYYY-MM-DD |
Timesheets | An array containing all the timesheet data for the week being posted. | Array |
ProjectId | The GUID of the project being linked to the timesheet entries | GUID |
CustomerId | The customer id being linked to the timesheet entries | GUID |
Billable | Whether the timesheet entry is billable. Billable timesheets must have a customer linked | Boolean true/false |
Day 1 | The first day of the week (Monday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 2 | The second day of the week (Tuesday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 3 | The third day of the week (Wednesday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 4 | The fourth day of the week (Thursday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 5 | The fifth day of the week (Friday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 6 | The sixth day of the week (Saturday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Day 7 | The seventh day of the week (Sunday) hours | Text (HH:MM) – Cannot exceed 24:00. Must be included even if null |
Delete a Timesheet by ID
Endpoint: https://api.reckon.com/R1/{BOOKID}/timesheets/{id}
Method: DELETE
{"106ac0ab-12d1-4557-9e3c-035971eeb3e7"}