FP&A & Financial Modeling3 min readUpdated September 2026

Cube vs. Mosaic for Field Service Contracts and Parts Margin

Cube vs Mosaic for an industrial equipment repair business depends on how well each tool separates predictable contract revenue from unpredictable labor cost. Service contracts are billed on a fixed schedule regardless of call volume, time-and-material work is billed per job, and a heavy repair month eats into the margin a flat fee was meant to cover.

Here's how that plays out in a model, and where Cube and Mosaic each help once the two revenue types are pulling in different directions.

Vendors Covered in this Article

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Walking through a month where contract costs run hot

Imagine a customer on a flat annual service contract who has two equipment failures in the same month, each requiring a technician dispatch and parts that cost more than that month's pro-rata share of the contract fee. On a pure revenue-recognition basis, the contract still recognizes its usual monthly amount; the problem only shows up when you compare that recognized revenue against the actual technician hours and parts consumed against it.

A model that doesn't track contract-level cost against contract-level revenue will show the same healthy margin every month, right up until enough customers have a heavy month at once and the blended margin drops without warning.

Cube for tracking contract cost-to-serve in a spreadsheet

If your team already tracks technician hours and parts cost against each service contract in a spreadsheet, even roughly, Cube's approach of syncing that spreadsheet against dispatch and parts inventory data keeps the cost-to-serve calculation where it's understood, with less manual pulling from a field service management system each month.

Mosaic for a dashboard blending contract and time-and-material revenue

Once you're running a meaningful base of service contracts alongside project-based repair work, a dashboard that shows blended margin, contract margin, and time-and-material margin separately can flag which revenue type is actually driving profitability. Confirm in a demo that Mosaic can split those two revenue types cleanly rather than reporting one blended number, since averaging them together hides whether your contract pricing is actually covering its cost to serve.

Pricing the next contract renewal off real cost-to-serve data

A common mistake is renewing service contracts at the prior year's price plus a flat increase without checking whether that customer's actual technician hours and parts usage justified the original price. Build a per-contract cost-to-serve view into the model so a renewal conversation is grounded in what that specific customer actually costs you to service, not a blanket assumption applied across the whole book.

Where Jirav helps plan technician headcount against contract growth

Jirav's driver-based approach is useful when you're planning to add service contracts and need to know how many additional technicians that growth requires, since technician capacity, not sales volume alone, is usually the real constraint on how many new contracts a field service business can take on without extending response times.

Watching parts inventory as its own forecasting line

Parts inventory for equipment repair sits in an awkward spot between fast-moving consumables and slow-moving specialty components that might sit on a shelf for a year waiting for the right failure. A forecast that treats all parts inventory as one turnover assumption will misjudge cash tied up in the slow-moving specialty stock; separate the two categories so a purchasing decision on a rarely used component doesn't get evaluated against the turnover expectations of a common consumable part.

Forecasting emergency versus scheduled dispatch capacity separately

A technician's day is split between scheduled preventive maintenance visits, which you can plan a route around, and emergency breakdown calls, which can't be scheduled and often mean bumping other work. A forecast that assumes every technician hour is equally plannable will overstate how many contracts your current headcount can actually support, since emergency calls eat capacity that scheduled-visit planning assumed was available. Build a buffer into technician utilization assumptions based on your own historical mix of emergency versus scheduled dispatches, not a generic industry rule of thumb.

What to check before moving cost-to-serve tracking into a new tool

Export a quarter of technician time entries and parts usage tied to specific contracts and see how cleanly that maps into either platform's expected structure, since a field service system that doesn't tag time and parts to a contract number by default will need that fixed before any dashboard or spreadsheet sync can produce a trustworthy cost-to-serve figure. Confirm the export includes travel time as well as on-site time, since travel is a real cost against a contract even though it doesn't show up on an invoice line, and a model that ignores it will understate what a geographically spread-out contract base actually costs to support.

Test these points before moving cost-to-serve tracking:

  • Export a quarter of technician time entries and parts usage tied to specific contracts and test how they map into each platform.
  • Confirm your field service system tags time and parts to a contract number by default, and fix that first if it does not.
  • Check that each tool can split contract margin from time-and-material margin instead of reporting one blended figure.
  • Verify that scheduled and emergency dispatch hours can be forecast as separate capacity lines.
  • Separate fast-moving consumable parts from slow-moving specialty parts before loading inventory data.
Executive Capability Standard

What Good Looks Like

A well-run field service business can show cost-to-serve by individual contract, not just a blended average, and prices renewals off that data rather than a flat annual increase.

Building The Capability (5-Stage Skill Ladder)

1. Learn:Learn how technician hours and parts cost currently get tracked, if at all, against individual service contracts rather than the business as a whole.
2. Do Manually:Build a spreadsheet tracking technician hours and parts cost per contract, updated monthly by hand from dispatch and inventory reports.
3. Delegate:Assign a service manager or controller to own the cost-to-serve tracking and flag contracts trending above their fee ahead of renewal.
4. Automate:Sync dispatch, parts inventory, and payroll data into Cube or Mosaic so contract-level cost-to-serve updates without a manual monthly pull.
5. Buy:Standardize dispatch, inventory, and forecasting on one connected platform so contract pricing decisions are grounded in current cost-to-serve data.

How to Get Started

Disclosure: We may earn a commission if you buy through some links on this page. It doesn't change what we recommend.

Frequently Asked Questions

Should service contract revenue be recognized evenly across the year even if repair volume is uneven?

Yes, for the fixed contract fee itself; recognize it evenly or on the schedule your contract specifies, separate from the cost of servicing it. The cost side, technician hours and parts, should be tracked against the contract to see whether the fee is actually covering it, but that's a margin question, not a revenue recognition one.

How do we know if a service contract is priced too low?

Track technician hours and parts cost against each contract's fee over a full year, since a single heavy month can be misleading. A contract that consistently runs above its cost-to-serve threshold needs a pricing conversation at renewal, not a mid-term adjustment that risks the relationship.

Can Cube or Mosaic pull data from our field service dispatch system?

Both are designed to sync with outside data sources, but which dispatch, parts inventory, or field service systems connect cleanly varies by vendor. Confirm your specific system integrates before assuming the cost-to-serve tracking will be automatic.

About the numbers

This guide doesn't quote a sourced benchmark. Figures in it are estimates or general guidance, so check them against your own numbers.

Related Guides