Running construction and service on one P&L means both divisions post to the same general ledger: projects as jobs with phases and cost codes, service as work orders and agreements, with shared labour and overhead allocated between them. The result is a divisional income statement where install margins and service margins are finally comparable.
Many mechanical contractors do not get there by design. The service division usually starts as a favour, servicing the systems the company installed, and grows into a second business with its own economics, its own software, and its own set of numbers nobody can reconcile with the first.
Why does mechanical work naturally split into two businesses?
Because the install and the service life of the same equipment run on different economics. The construction division builds the plant: estimated, budgeted by phase and cost code, billed on progress over months, with retainage held. The service division keeps it running: dispatched work orders, agreements, and invoices that go out the same week.
Everything about the two sides differs. Construction revenue is lumpy and earned over time; service revenue is smaller per transaction but recurring and, in a well-run shop, higher margin. Construction labour is crewed and scheduled in weeks; service labour is one or two technicians and a van, scheduled in hours. Consequently, the software industry split the same way: project platforms for one side, field service platforms for the other, and the mechanical contractor who does both ends up owning one of each.
Whether the two sides are structured as divisions of one company or as separate legal entities, the financial question is the same: can you see both halves of the business, accurately, in one place?
❌ What breaks when construction and service run in separate systems?
The margins stop being comparable, and that is the quiet killer. Service margins calculated in a field service platform and project margins calculated in accounting software rest on different labour rates, different overhead treatment, and different timing. Put side by side, they are two currencies without an exchange rate.
Three specific problems follow for a mechanical contractor:
- Warranty work lands in the wrong bucket. The install wraps, the warranty period starts, and the service technicians handle the callbacks. In separate systems, those hours post as service costs, or worse, vanish into “no charge” work orders. The install job closes looking more profitable than it was, and the service division looks worse than it is. Neither margin is real, and the estimator prices the next plant job off the flattering version.
- Technicians cross divisions but their costs do not. A service tech pulled onto a project for two weeks, or an install crew member covering summer service demand, generates labour that has to be re-entered or synced across systems. Every crossing is a chance for hours to land in the wrong place, at the wrong rate, or nowhere.
- The divisional P&L becomes a quarterly craft project. To answer “is service actually making money,” someone exports from the service platform, maps it against the ledger, allocates overhead in a spreadsheet, and produces an answer that is already stale. In other words, the most strategic question in the business gets answered least often.
What does one P&L for both divisions actually look like?
On one ledger, jobs and work orders are both first-class cost objects. Project costs post by phase and cost code; service costs post by work order and agreement; every labour hour, part, and purchase carries a division. The divisional P&L is then a report, not a reconciliation: revenue, cost, and margin by division, on demand.
Getting there requires three mechanisms to work, and they are worth checking in any system evaluation:
- Labour follows the work, not the home division. A technician’s hours post to whatever cost object they actually worked, project or work order, at a consistent burdened rate. Division is an attribute of the transaction, so cross-division labour needs no re-entry.
- Overhead allocates on a defined basis. Shared costs like the shop, fleet, and office allocate between divisions on a consistent method, typically direct labour, so neither division’s margin flatters itself with the other’s overhead.
- Warranty has a home. Whether warranty callbacks cost against the originating job or a warranty account, one ledger means the policy is applied consistently and the cost is visible, rather than dissolving between two systems.
For the full argument on why both divisions belong on one ledger, see the Construction and Service in One System Guide. The construction half of the discipline lives in the Job Costing Guide.
How Jonas runs both divisions on one ledger
Jonas was built as a unified construction and service ERP: job costing, payroll, service management, and dispatch on one database and one general ledger. A job and a work order are both native cost objects, so a mechanical contractor’s install projects and service agreements post to the same books without a sync between platforms.
That is what makes the one-P&L question answerable. Agreement costs and billings accumulate on the same ledger as project costs, so service margins and project margins are calculated on the same labour rates and the same overhead basis, and the divisional P&L compares them directly. When a technician moves between a project and a work order, the hours post where the work happened. There is no month-end reconciliation between the service platform and accounting, because there is no seam between them.
"Jonas helps us make sure everything is allocated properly. It helps us track, it helps us make reports, and it helps us find profits."
Josee Chenier, Head of HR and payroll
See both divisions on one P&L. Book a demo with a Jonas specialist.
Frequently asked questions
How should technicians who work across both divisions be costed?
Post the hours to the cost object actually worked, a project phase or a work order, at the technician’s fully burdened rate, and let the division roll up from the transaction. The alternative, charging everything to a home division and adjusting later, guarantees one division subsidizes the other and nobody can say by how much.
What basis is used to allocate overhead between construction and service?
Direct labour is the most common basis for mechanical contractors, since both divisions are labour-driven, though revenue or headcount can suit specific cost pools. The basis matters less than consistency: an allocation method that changes quarter to quarter makes divisional margins unusable as trend data, which defeats the purpose of splitting them.
Where should warranty callbacks be costed?
The two defensible policies are costing warranty work back against the originating job, which keeps install margins honest, or to a dedicated warranty account funded by an accrual on each job. What is not defensible is letting warranty hours dissolve into no-charge service work orders, where they suppress service margins and hide the true cost of install quality.
Are service margins and project margins even comparable?
Only if they are built the same way: same burdened labour rates, same overhead basis, same ledger. Service typically runs higher gross margins on lower volume, and installs the reverse, so the comparison is less about crowning a winner and more about pricing each side properly and spotting when one drifts.
Does one P&L mean one division ends up subsidizing the other?
The subsidy usually already exists; one P&L is what exposes it. Shared overhead absorbed unevenly, warranty work eaten silently, and technicians lent without cross-charging are all subsidies running today in most two-system shops. A divisional P&L on one ledger does not create the transfer, it prices it, and then the owner gets to decide on purpose.