# ServiceM8 API endpoints for Profit and Timesheets

**URL:** <https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067>\
**Category:** API & SDK\
**Created:** [March 13, 2026, 9:30am UTC](https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067 "2026-03-13T09:30:23Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![ian\_faylona\_elec](https://avatars.discourse-cdn.com/v4/letter/i/dfb087/32.png) [@ian\_faylona\_elec](https://community.servicem8.com/u/ian_faylona_elec)\
**Post date:** [March 13, 2026, 9:30am UTC](https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067/1 "2026-03-13T09:30:23Z")

</div>

Hello Team,

We are currently developing an all-in-one reporting Dashboard and need to include the ‘Profit’ and ‘Timesheets’ information from ServiceM8 - it doesn’t look like there are dedicated endpoints for both.

If anyone could please share some docs or reference links to get this done would be really great. Thanks so much in advance!

---

<div class="post-metadata">

**Author:** ![Cody](https://sea2.discourse-cdn.com/flex002/user_avatar/community.servicem8.com/cody/32/52_2.png) [@Cody](https://community.servicem8.com/u/Cody)\
**Post date:** [March 16, 2026, 9:33am UTC](https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067/2 "2026-03-16T09:33:40Z")

</div>

Hi Ian,

For a custom reporting dashboard, you can pull the underlying job, line item, and time data via our REST API and then calculate your “Profit” and “Timesheet” metrics in your reporting layer.

Timesheets (job-based time)

- “Recorded Time (check in to a job)” maps to JobActivity records where activity\_was\_scheduled == 0.
- The Job Activities endpoint is GET /jobactivity.json and it supports filtering.
- If you also want the scheduled side (planned time), “Scheduled Booking” maps to JobActivity where activity\_was\_scheduled == 1, and you can also use Job Allocations via GET /joballocation.json.

Profit (to align with ServiceM8 Job Costing)

- The Job Costing add-on calculates profit as: Profit = (Invoiced Amount) - (Material Cost + Labor Cost + Admin Cost).
- Job Costing uses “Check In data” (recorded time) to determine hours worked when it’s available, otherwise it uses the total quantity of labour items billed.
- On the API side, you can source the “invoiced amount” from the Job record (e.g. total\_invoice\_amount).
- You can source material and labour line items (including cost fields) from JobMaterial records (e.g. price and cost).
- Keep in mind Job Costing is designed to provide estimates, and for profit/loss that’s guaranteed to be 100% accurate this is best done in your accounting package.

Useful docs / references

- REST API overview (UI-to-API mapping): [Overview](https://developer.servicem8.com/docs/rest-overview)
- Filtering: [Filtering](https://developer.servicem8.com/docs/filtering)
- Job Activities: [List all Job Activities](https://developer.servicem8.com/reference/listjobactivities)
- Job Allocations: [List all Job Allocations](https://developer.servicem8.com/reference/listjoballocations)
- Jobs: [List all Jobs](https://developer.servicem8.com/reference/listjobs)
- Job Materials: [List all Job Materials](https://developer.servicem8.com/reference/listjobmaterials)

Reply here with whether you mean Job Time (per job check-ins) or Shift Time (clock on/off) for “timesheets”, and we’ll point you at the closest matching data model.

Thanks,  
Cody

---

<div class="post-metadata">

**Author:** ![michael\_knight](https://sea2.discourse-cdn.com/flex002/user_avatar/community.servicem8.com/michael_knight/32/54_2.png) [@michael\_knight](https://community.servicem8.com/u/michael_knight)\
**Post date:** [May 7, 2026, 7:04am UTC](https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067/3 "2026-05-07T07:04:42Z")

</div>

> [@Cody](#):
>
> (clock on/off) for "timesheets

It would be great to have an available endpoint for this

---

<div class="post-metadata">

**Author:** ![Cody](https://sea2.discourse-cdn.com/flex002/user_avatar/community.servicem8.com/cody/32/52_2.png) [@Cody](https://community.servicem8.com/u/Cody)\
**Post date:** [May 10, 2026, 7:11am UTC](https://community.servicem8.com/t/servicem8-api-endpoints-for-profit-and-timesheets/1067/4 "2026-05-10T07:11:28Z")

</div>

Hi Michael,

Shift “Clock On/Off” is recorded via the My Shift options in the ServiceM8 app.

For API builds, our REST API time-tracking support is currently focused on job time (check-ins), where “Recorded Time (check in to a job)” maps to JobActivity. If that’s what you need, the endpoint is `GET /jobactivity.json`.

For shift Clock On/Off data specifically, there aren’t currently public REST API endpoints available to retrieve those Clock On/Off times.

What you can use today:

- Reports: Clock On/Off and break times are available in the Activity Timesheet report.
- Reports + CSV: The Team Timesheet report shows weekly Job Time and Shift Time, and you can export that data to a .CSV.
- Accounting export: The Automated Timesheet Sync Add-on can export staff Clock-On/Off times to MYOB, Xero, and QuickBooks Online as employee timesheets.

If an API endpoint for shift Clock On/Off would help your dashboard, you can submit it as a feature idea by emailing [support@servicem8.com](mailto:support@servicem8.com) (or via the Help Center request form).

Thanks,  
Cody
