Integrations

ServiceMax data into a weekly operations report

ServiceMax holds everything a weekly operations report needs, but it is split across work orders, visit events and work detail lines. This guide maps the ServiceMax Core objects and fields that hold a week of field work, shows how they join, and walks through a weekly report by service team: completed jobs, repeat visits, labour, parts and an ageing backlog.

By Simon DuttonLast reviewed

ServiceMax is good at running the job. Dispatchers schedule, engineers record time and parts on site, and the work order moves from open to complete. Where it tends to fall short is the Monday conversation: how many jobs did each team finish, how many took a second trip, what did we use from stock, and what is sitting in the backlog getting old. Those answers are all in ServiceMax, but they are spread across three objects, and the standard Salesforce report builder makes joining them harder than it should be. This page shows which objects hold what, how they link, and what a weekly operations report built from them looks like.

First, which ServiceMax are you on?

PTC documents ServiceMax Core and Asset 360 separately, and the two store work in different places.

  • ServiceMax Core is a managed package on Salesforce. Its objects carry the SVMXC__ prefix, and the work order is a custom object, SVMXC__Service_Order__c. Most of this page is about Core.
  • Asset 360 is built on Salesforce's standard field service objects. PTC's list of standard objects used in Asset 360 includes WorkOrder, WorkOrderLineItem and ProductConsumed (an item from inventory used to complete a work order), and notes that some of these only apply if you also hold a Salesforce Field Service licence.

The report logic below is the same on both. The object and field names are not, so check which one your org runs before anyone writes a query.

The three objects that hold a week of field work

On ServiceMax Core, a weekly operations report needs work orders, the visits made against them, and the parts and labour recorded on them. Every API name in these tables is taken from PTC's ServiceMax Core data dictionary, linked in each heading.

Work orders: Work Order

Field label API name Used for
Order Status SVMXC__Order_Status__c Open, complete or cancelled at week end
Order Type SVMXC__Order_Type__c Splitting breakdowns from planned work
Completed Date Time SVMXC__Completed_Date_Time__c Deciding which week a job belongs to
Service Team SVMXC__Service_Group__c The team row on the report
Technician SVMXC__Group_Member__c Lookup to Technician/Equipment
Account SVMXC__Company__c Customer
Site SVMXC__Site__c Lookup to Location
Billing Type SVMXC__Billing_Type__c Contract versus chargeable work

Order Status and Order Type are picklists, so the values are whatever your administrator set up. Map them once in the warehouse rather than hard-coding "Completed" in every report.

Visits: ServiceMax Event

PTC describes SVMXC__SVMX_Event__c as holding calendar events for technicians who are not Salesforce users, and for equipment whose calendars are tracked for dispatching. Each event has SVMXC__StartDateTime__c, SVMXC__EndDateTime__c, SVMXC__Technician__c, a SVMXC__WhatId__c pointing at the source record, and a SVMXC__Service_Order__c lookup to the work order. If some of your engineers are licensed Salesforce users, their appointments may sit on the standard Salesforce Event object instead, so a visit count has to read both.

Parts and labour: Work Detail

Work Detail (SVMXC__Service_Order_Line__c) is the line-level record under a work order. SVMXC__Line_Type__c says whether a line is Parts, Labor or Expenses.

Field label API name Used for
Work Order SVMXC__Service_Order__c Master-detail link to the job
Line Type SVMXC__Line_Type__c Parts, Labor or Expenses
Part SVMXC__Product__c Lookup to Product
Line Qty SVMXC__Actual_Quantity2__c Quantity; its meaning depends on Line Type
Line Price Per Unit SVMXC__Actual_Price2__c Unit price
Total Line Price SVMXC__Total_Line_Price__c Formula field
Is Billable SVMXC__Is_Billable__c Chargeable or absorbed
Billable Qty, Billable Line Price SVMXC__Billable_Quantity__c, SVMXC__Billable_Line_Price__c What the customer is charged
Consumed From Location SVMXC__Consumed_From_Location__c Which van or store the part came from
Start / End Date and Time SVMXC__Start_Date_and_Time__c, SVMXC__End_Date_and_Time__c Labour hours

Service teams and engineers live on Technician/Equipment (SVMXC__Service_Group_Members__c), which links to its team through SVMXC__Service_Group__c and carries an SVMXC__Active__c flag.

How the objects join

From To Key Watch for
ServiceMax Event Work Order SVMXC__Service_Order__c If the lookup is blank, SVMXC__WhatId__c holds the source record's ID
Work Detail Work Order SVMXC__Service_Order__c (master-detail) Lines are deleted with their work order
Work Order Service Team SVMXC__Service_Group__c Decide once whether a reassigned job counts for the team that finished it (we do)
Technician/Equipment Service Team SVMXC__Service_Group__c Inactive engineers still own past events

The formulas behind each line

Report line Formula
Completed count of work orders with a complete status and Completed Date Time inside the week
Visits per work order events linked to the week's completed work orders ÷ completed work orders
Multi-visit share completed work orders with two or more events ÷ completed work orders
Labour hours sum of (End − Start) on Labor lines of completed work orders
Parts used sum of Line Qty × Line Price Per Unit on Parts lines of completed work orders
Billable parts the same sum where Is Billable is ticked
Parts with no location Parts lines where Consumed From Location is empty
Open over 14 days open work orders where report date − created date > 14

Two of these need care. Multi-visit share is a rate, so the all-teams figure must come from the summed counts, not from averaging the team percentages. And "parts with no location" is a stock control check: a part logged without a location doesn't say which van or store it came from, so your stock figures may still think it is on the shelf.

IVP.ai / Weekly operations

Week 26 Oct 2026 – 1 Nov 2026

ServiceMax weekly report · Hallowfield Process Equipment (fictional)

36 work orders completed,
10 needed more than one visit.

Built from three ServiceMax objects: Work Order, ServiceMax Event and Work Detail. Completed means Order Status complete with a completed date inside the week.

Completed
36
26 opened in the week
Visits per work order
1.42
51 visits on completed WOs
Parts used
£39,165
£35,000 billable
Open over 14 days
11
of 22 open at week end

By service team

Work orders, visits, labour and parts by service team for the week
TeamOpenedCompletedVisits / WOMulti-visitLabour hParts usedBillable partsOpen > 14 d
North10141.364 · 28.6%136£22,220£20,3904 of 8
Midlands10111.554 · 36.4%63£6,540£5,2254 of 8
South6111.362 · 18.2%86£10,405£9,3853 of 6
All teams26361.4210 · 27.8%285£39,165£35,00011 of 22

Multi-visit share above the all-teams figure is marked for a look. All-teams rates are recalculated from the counts, not averaged across teams.

Open work orders by age

Open work order backlog by age since creation0–7 days: 8; 8–14 days: 3; 15–28 days: 6; Over 28 days: 50–7 days88–14 days315–28 days6Over 28 days5

Completed work by type

  • Breakdown18 done · 5 multi-visit
  • Planned service8 done · 3 multi-visit
  • Installation10 done · 2 multi-visit

Parts used with no stock location

Work Detail lines of type Parts on this week’s completed work orders with Consumed From Location empty: £5,650 of stock that inventory may not have been decremented for.

Parts lines with no consumed-from location, largest value first
Work orderTeam · siteQty × priceValue
WO-00048231NorthFernlow Distillery2 × £535£1,070
WO-00048218NorthWythen Cold Stores4 × £205£820
WO-00048235MidlandsQuarrendon Chemicals4 × £190£760
WO-00048221NorthQuarrendon Chemicals3 × £200£600
WO-00048231NorthFernlow Distillery1 × £595£595
WO-00048222NorthBrackwell Foods1 × £585£585
WO-00048219NorthHatchgate Paper Mill1 × £520£520
WO-00048253MidlandsSallowmere Brewery2 × £220£440
WO-00048222NorthBrackwell Foods2 × £85£170
WO-00048254SouthOakhanger Pharma Unit1 × £90£90

Where each line comes from

  1. Work Order SVMXC__Service_Order__c63 recordsSynced
  2. ServiceMax Event SVMXC__SVMX_Event__c70 eventsSynced
  3. Work Detail (Parts lines) SVMXC__Service_Order_Line__c133 linesSynced

Report run 2 Nov 2026 · visits counted from ServiceMax Events linked to each work order

Illustrative data

Illustrative, fictional data. Company, teams, sites and work orders are invented; not customer results or a live product screenshot.

Worked example (illustrative, fictional)

Hallowfield Process Equipment is an invented pump and process equipment service business with three teams. Its report for the week of Monday 26 October to Sunday 1 November 2026 runs on Monday 2 November. Here is the Midlands row, worked through from the records.

Work orders. Ten Midlands work orders were opened in the week and eleven were completed (status complete, completed date inside the week).

Visits. Those eleven jobs had 17 ServiceMax Events between them. Seven jobs took one visit each (7 events). Four took more: WO-00048236 and WO-00048244 took two each, and WO-00048250 and WO-00048253 took three each (2 + 2 + 3 + 3 = 10 events). So 7 + 10 = 17 visits, and visits per work order is 17 ÷ 11 = 1.55. The multi-visit share is 4 ÷ 11 = 36.4%. Across all three teams it is 10 ÷ 36 = 27.8%, so Midlands is the team to ask about. Two of its four multi-visit jobs were planned services, which is worth a question about whether the engineer arrived with the right kit list.

Labour. Labor lines on the eleven completed jobs add up to 63 hours.

Parts. Parts lines on those jobs total £6,540 at Line Qty × Line Price Per Unit. Of that, £5,225 is billable. The other £1,315 sits on three planned service jobs (£680 + £375 + £260) where parts are covered by the contract, which is expected but should be visible to whoever prices the renewal.

Stock. Two Midlands parts lines have no Consumed From Location: 4 × £190 = £760 on WO-00048235 and 2 × £220 = £440 on WO-00048253. That is £1,200, or 18.3% of the team's parts value, that inventory may not have been decremented for.

Backlog. Eight Midlands work orders were open at week end. Four are more than 14 days old, at 18, 23, 29 and 34 days since creation.

Read across the asset above and the priorities for Monday are clear enough: ask Midlands about its repeat trips, fix the location on ten parts lines (£5,650 across all teams), and go through the eleven work orders that have been open for more than a fortnight.

Getting the data out of Salesforce

ServiceMax Core data lives in your Salesforce org, so the extraction route is Salesforce's, not a separate ServiceMax export. Airbyte's Salesforce source documentation is a useful reference for what to expect from any warehouse sync:

  • It reads custom objects as well as standard ones, so SVMXC__ objects come through like any other, provided the integration user can query them.
  • It uses the Bulk API by default and falls back to REST for some objects, which uses more of the org's daily API allowance. If a sync hits the daily limit it stops early and resumes next time, which only works for incremental streams.
  • Deleted records are marked isDeleted=true on streams that support it, read from the recycle bin. Because Work Detail is a master-detail child, deleting a work order removes its lines too, and the warehouse has to notice.
  • Formula fields such as Total Line Price are a trap. Airbyte notes that if a formula changes and no other field on the record updates, the stream has to be reset and backfilled. Calculating Line Qty × Line Price Per Unit in the warehouse avoids depending on it.

Give the sync its own read-only Salesforce user with access to the ServiceMax objects and nothing it doesn't need.

What makes ServiceMax numbers drift

  • Status changes after the week closes. A job reopened on Tuesday changes last week's completed count. Freeze each week's figures when the report runs and show restatements separately.
  • Events not linked to a work order. Dispatchers sometimes create calendar blocks for travel or training. Leave out events with no work order link rather than counting them as visits.
  • Two calendars. If engineers are split between ServiceMax Events and standard Salesforce Events, a report reading only one undercounts visits.
  • Picklist edits. New Order Type or Line Type values arrive without warning. A warehouse test that fails on an unmapped value catches them on the day.

For which measures belong on a weekly page in the first place, see field service KPIs. If the report is going to a facilities client under a contract, FM contract KPI reporting covers that side. Using a different job system? There are equivalent pages for Uptick and Simpro.

Running the report with IVP.ai

The IVP.ai Data Layer pulls the ServiceMax objects out of Salesforce alongside your finance system and spreadsheets, keeps the joins and formulas above as tested definitions, and runs the weekly operations report as a report or agent before the Monday meeting. Deskless by IVP.ai can then send each team lead their own exceptions, such as parts with no stock location, and by default it flags and waits for a person rather than changing records. See the platform and field service reporting for more.

A national fire safety and security company used the same approach to bring HubSpot, Uptick and finance spreadsheets into one governed view and now saves 10+ hours a week on reporting (case study).

To see your own ServiceMax data in this shape, start a free 48-hour pilot. We connect up to three sources, clean the data and have one report or agent running on your real data within 48 hours of read-only access. You then have 14 days of access to decide whether to choose a plan or walk away.

Questions

Frequently asked questions

Which ServiceMax objects do I need for a weekly operations report?

On ServiceMax Core, three: Work Order (SVMXC__Service_Order__c) for status, type, team and completion date; ServiceMax Event (SVMXC__SVMX_Event__c) for the visits made against each work order; and Work Detail (SVMXC__Service_Order_Line__c) for parts, labour and expense lines. Technician/Equipment (SVMXC__Service_Group_Members__c) supplies the engineer and team. Asset 360 uses Salesforce's standard WorkOrder, WorkOrderLineItem and ProductConsumed objects instead, so check which product your org runs first.

Why can't I build this in the standard Salesforce report builder?

You can build parts of it, but the report needs counts of events per work order, sums of work detail lines and an age calculation on open work orders, all grouped by team and tied to the same week. That means combining several objects with different rules, which is easier to keep consistent as tested definitions in a warehouse than as a set of separate Salesforce reports.

How do I count repeat visits in ServiceMax?

Count the ServiceMax Events linked to each completed work order through the Service Order lookup. A work order with two or more events took more than one visit. Divide the number of those work orders by all completed work orders, using summed counts for the all-teams figure rather than averaging team percentages. Leave out events with no work order link, such as travel or training blocks.

What does a blank Consumed From Location mean on a parts line?

The Work Detail line records a part used on the job but not which van or store it came from. Your stock figures may still show that part as available, so these lines are worth listing for the team lead each week until the location is filled in.

About the author

Simon Dutton

Simon has more than 10 years of experience as a data scientist, working with start-ups, SMEs, Google and the CMA.

Last reviewed 6 November 2026.

Your first report or agent in 48 hours.

Tell us which systems feed it. We connect them, clean the data and set the report running automatically. If it isn’t useful, walk away.