Commusoft + Sage + n8n: Automated Profit and Loss by Job Category (Monthly Dashboard) featured image
Integrations

Commusoft + Sage + n8n: Automated Profit and Loss by Job Category (Monthly Dashboard)

2026 UK guide to building an automated monthly P&L dashboard by job category using Commusoft, Sage and n8n. Track profitability across reactive repairs, installations and maintenance contracts without manual data entry.

Ettan Bazil
Written by
Ettan Bazil
Founder & CEO (Tech / PropTech)
About Ettan Early Life and Career Ettan Bazil began his professional journey as a gas engineer and plumber, gaining hands-on experience working directly with households, landlords and property managers. His early trade background shaped his understanding of real-world operational challenges, from emergency repairs to workforce shortages and inefficiencies in the maintenance sector. In 2016, he founded Elite Heating & Plumbing, growing it into a successful business employing multiple engineers and apprentices.
22 hrs ago 17 min read Comments

Quick Answer

Connect Commusoft's job data to Sage's financial reports through n8n, and you get a monthly P&L breakdown by job category without touching a spreadsheet. Reactive repairs, planned maintenance, installations, emergency callouts; each one shows its own revenue, costs and margin. The n8n workflow runs on the 1st of every month, pulls completed-job data from Commusoft, matches it against Sage invoices and expenses, then outputs a clean category-level P&L. Most businesses doing this find that 2 or 3 job types are quietly bleeding money. Fix those, and you are looking at an extra £20,000 to £50,000 a year in recovered margin.

Commusoft logo Commusoft
Sage logo Sage
n8n logo n8n
15-30%
Profitability variance across job types in a typical trades business
£20-50K
Potential annual margin recovery from identifying loss-making job categories
62% → 48%
Typical gross margin erosion from quote to invoice without real-time job costing
600 hrs
Annual time saved by one firm after automating financial workflows with n8n

What this integration does

This is a three-tool pipeline that turns raw job data into a monthly financial report, broken down by the type of work you do. Commusoft captures the job details: what category each job falls under, how many engineer hours went into it, what parts were used. Sage holds the financial reality: invoices raised, payments received, supplier costs, overheads. n8n sits in the middle, pulling data from both systems on a schedule, matching jobs to their financials, and producing a profit and loss statement for each job category.

The output is a spreadsheet or dashboard showing something like this: reactive repairs brought in £42,000 last month at 58% gross margin. Planned maintenance brought in £31,000 at 71% gross margin. Boiler installations brought in £28,000 at 34% gross margin. Emergency callouts brought in £9,200 at 72% gross margin.

Without this, most trades businesses know their total revenue and total costs. They have a rough sense of which jobs "feel" profitable. But they do not have the numbers to prove it, and they definitely do not have them broken down by category. That is the gap this integration fills.

What you will need to follow this guide: A Commusoft account (Customer Journey plan or above for job costing features), Sage Accounting (Standard or Plus plan, from £30/month), and n8n (self-hosted free, or cloud from £20/month). Total additional cost: around £50/month on top of your existing Commusoft subscription.

Why job-category P&L matters for trades businesses

Plumber reviewing financial reports on a tablet in a van between jobs
Reviewing job profitability between site visits helps identify which work types are worth pursuing

I have seen this pattern play out with dozens of businesses. A plumbing and heating company turns over £800,000 a year. The owner knows the business is profitable overall, around 8% net. But when you break it down by job type, the picture changes completely.

Emergency callouts might run at 72% gross margin. Planned maintenance at 65%. Reactive repairs at 55%. But bathroom installations? Those might be coming in at 28% gross, and the owner had no idea because the total P&L hid it.

The research backs this up. HVAC businesses see gross margins ranging from 18% on new construction work to 80% on emergency after-hours calls. Plumbing small works typically run at 60-70% gross, while larger installations drop to 45-55%. The median HVAC company nets just 5-6%, while the top quartile hits 13% or more. That gap between median and top performers is almost entirely down to one thing: knowing which work makes money and doing more of it.

Here is the statistic that should stop you in your tracks. A job estimated at 62% gross margin can arrive at the invoice stage at 48% gross, without anyone noticing, if you do not have real-time job costing in place. Labour overruns, unbilled materials, travel time that nobody tracked; it all adds up.

The maths behind £20-50K in recovered margin. A business turning over £600,000 with a 15% profitability variance across job types has roughly £90,000 sitting in the wrong categories. If you identify and fix even a third of that, through better pricing, dropping unprofitable work, or reducing waste on specific job types, that is £30,000 straight to your bottom line. For a business at 8% net margin, that is nearly doubling your profit.

How the data flows: Commusoft to Sage via n8n

The data flow is straightforward once you understand what each tool contributes.

Commusoft provides: completed job records with category tags, engineer timesheets (actual hours per job), parts and materials used per job, purchase orders linked to jobs, and job-level cost summaries.

Sage provides: sales invoices matched to customers, purchase invoices from suppliers, nominal ledger entries for overheads, bank transactions and reconciliations, and the P&L report structure itself.

n8n does the work: it runs on a schedule (1st of each month), pulls completed jobs from Commusoft's API for the previous month, pulls matching invoices and expenses from Sage's API, groups everything by job category, calculates revenue minus direct costs minus allocated overheads per category, and outputs the results to a Google Sheet, email, or dashboard tool.

Why n8n and not Zapier? Zapier could handle the basic triggers, but it struggles with the data manipulation needed here. n8n lets you write JavaScript in Code nodes to do the grouping, matching and calculations. It also supports looping through paginated API responses, which you will need when pulling a month's worth of job data. And if you self-host, it is free. One n8n community member reported switching from Zapier and saving £320 a month with zero lost functionality.

Setting up Commusoft for job categorisation

Office manager configuring job management software on a desktop computer
Consistent job categorisation in Commusoft is the foundation of accurate P&L reporting

Commusoft's job costing features automatically track labour hours and materials against each job. But for this integration to work properly, you need consistent job categories that map to meaningful P&L lines.

Start with broad categories that reflect distinct cost structures. For a plumbing and heating business, something like this works well:

Reactive repairs (callouts, diagnostics, small fixes). Planned maintenance (service contracts, annual inspections, gas safety checks). Installations (boiler swaps, full heating system installs, bathroom refits). Emergency callouts (out-of-hours, weekend and bank holiday work). Commercial contracts (if applicable, PPM for landlords or facilities managers).

Do not create too many categories. Five to seven is the sweet spot. More than that and you will spend more time categorising than analysing. Fewer than three and you lose the insight.

In Commusoft, set up these categories as job types. Every new job should be tagged with one category at creation. Train your office team to get this right, because the entire dashboard depends on consistent tagging. Commusoft's job costing then automatically pulls in engineers' hours from digital timesheets and parts usage from purchase orders, so your cost data flows without manual input.

Configuring Sage for category-level reporting

Sage Accounting needs a structure that matches your Commusoft job categories. The key is your nominal codes.

Create separate income nominal codes for each job category: 4001 for Reactive Repairs Income, 4002 for Planned Maintenance Income, 4003 for Installations Income, 4004 for Emergency Callouts Income, 4005 for Commercial Contracts Income. Do the same for direct costs: 5001 for Reactive Repairs Materials, 5002 for Planned Maintenance Materials, and so on.

Sage's Plus plan (£59/month) gives you the P&L actual vs budget report, which is ideal for this. The Standard plan (£30/month) covers basic P&L reporting. Both work with the API, but Plus gives you richer reporting out of the box.

A word on Sage API access. Sage Accounting has a REST API that n8n can call via HTTP Request nodes. You will need to register as a developer on the Sage Developer Portal and create an OAuth2 app. The API uses OAuth2 for authentication, which n8n handles natively. Make sure your Sage plan includes API access; all current cloud plans do, but some legacy Sage 50 installations may not.

When Commusoft's native Sage integration syncs invoices, it sends them to Sage with a customer reference and invoice amount. The limitation is that it does not automatically split by job category. That is exactly what the n8n workflow fixes: it intercepts the data, categorises it, and pushes it to the correct nominal codes.

Building the n8n workflow step by step

Laptop showing a visual workflow builder with connected automation nodes on a workbench
The n8n workflow connects Commusoft job data to Sage financial records automatically each month

Here is the workflow, node by node. If you have not used n8n before, the Zapier for Trades guide covers the basics of automation thinking, and you can apply the same logic here.

Node 1: Schedule Trigger. Set this to run at 06:00 on the 1st of every month. This gives Commusoft and Sage time to sync any end-of-month jobs overnight.

Node 2: HTTP Request (Commusoft API). Pull all completed jobs for the previous month. Use the Commusoft API's job endpoint with date filters. You will need to handle pagination if you complete more than 50 jobs a month, which most businesses of 5+ engineers will.

Node 3: Code Node (Group by Category). This is where the magic happens. A JavaScript function groups all jobs by their category tag, totalling hours, materials cost, and subcontractor spend for each category.

Node 4: HTTP Request (Sage API). Pull all sales invoices and purchase invoices for the same period. Match them to Commusoft jobs using customer reference or invoice number as the linking field.

Node 5: Code Node (Calculate P&L). For each category: sum the matched invoice values (revenue), sum the direct costs (materials + labour at your loaded hourly rate + subcontractors), calculate gross profit and gross margin percentage, and allocate a share of overheads based on revenue proportion or hours proportion.

Node 6: Google Sheets Node. Output the results to a Google Sheet with one row per category and columns for Revenue, Direct Costs, Gross Profit, Gross Margin %, Overhead Allocation, and Net Profit.

Node 7: Email Node. Send a summary email to the business owner and accountant with the key numbers and a link to the full sheet.

Start simple, add complexity later. Your first version of this workflow should just group Commusoft jobs by category and sum costs. Do not try to match Sage invoices on day one. Get the job-level data flowing first, verify it against your manual records for one month, then add the Sage integration. This approach catches data quality issues early.

Using AI nodes for smart job categorisation

Here is where this gets interesting. Not every job in Commusoft will be perfectly categorised. Engineers create jobs on site, office staff sometimes skip the category dropdown, and legacy data from before you set up categories will have no tags at all.

n8n's AI nodes can fix this. Add an AI classification step after pulling jobs from Commusoft but before the grouping step. The AI node takes the job description, parts used, and time spent, and assigns a category based on patterns it has learned.

For example: a job with "boiler not firing, checked PCB, replaced fan" and 1.5 hours logged is clearly a reactive repair. A job with "annual gas safety inspection, service boiler, check radiators" is planned maintenance. A job with "remove old boiler, install Vaillant ecoTEC, new flue, 2-day job" is an installation.

Claude 4.5 Sonnet through the n8n AI node handles this classification accurately. Feed it a prompt like: "Categorise this job into one of the following categories based on the description, parts and hours. Categories: Reactive Repair, Planned Maintenance, Installation, Emergency Callout, Commercial Contract." It gets it right about 95% of the time, which is better than relying on engineers to remember to tag every job correctly.

Cost of AI categorisation. Running 200 jobs a month through Claude 4.5 Sonnet via n8n costs roughly £2-3 per month in API calls. That is a small price for clean data. If you prefer to keep everything on your own servers, you can also use a local model through Ollama, though accuracy may be lower for niche trade terminology.

Building your monthly P&L dashboard

Spreadsheet on a monitor showing financial data with bar charts and percentages in a small office
A monthly P&L dashboard broken down by job category shows exactly where your margins sit

The Google Sheet output from n8n becomes your dashboard. Keep it simple. One sheet per month, with a summary sheet that tracks trends over time.

Each monthly sheet should have columns for: Job Category, Number of Jobs, Total Revenue, Materials Cost, Labour Cost (hours x loaded rate), Subcontractor Cost, Total Direct Costs, Gross Profit, Gross Margin %, Overhead Allocation, and Net Profit.

The summary sheet pulls from each monthly sheet and shows margin trends by category. You want to spot patterns: is your installation margin dropping month on month? Are emergency callouts becoming a bigger share of revenue? Is planned maintenance growing or shrinking?

If you want something more visual, connect the Google Sheet to a free dashboarding tool like Looker Studio (formerly Google Data Studio). This gives you bar charts comparing category margins, trend lines over 6-12 months, and pie charts showing revenue mix. All of this updates automatically when n8n pushes new data on the 1st of the month.

What to do when the numbers surprise you

The dashboard will almost certainly show you something unexpected. Every business I have worked with has found at least one job category performing very differently from what they assumed.

Common discoveries include: installations running at half the margin of service work, emergency callouts being far more profitable than anyone realised, planned maintenance contracts being underpriced because they were set years ago and never reviewed, and commercial contracts looking profitable on paper but consuming disproportionate admin time that is not tracked.

Once you have the data, the decisions become clearer. If installations are running at 28% gross while repairs hit 58%, you have three options: raise installation prices, reduce installation costs (negotiate better supplier terms, tighten labour estimates), or do fewer installations and focus on higher-margin work. The point is you can now make that decision with numbers, not gut feel.

If you are already using Payaca for renewables payment pipelines, this dashboard complements it perfectly. You can see exactly how your heat pump and solar installation margins compare to your traditional plumbing and heating work.

Quick win: review your planned maintenance pricing. If your maintenance contracts have not been repriced in 2+ years, they are probably losing money after accounting for wage increases and parts inflation. The P&L dashboard makes this immediately obvious. Even a 5% price increase across maintenance contracts can add thousands to your annual profit.

What tradespeople are saying

Recommended videos

Commusoft review and demo

Commusoft Review: Best Field Service Management Software

Software Reviews

Commusoft job management features

5 Small But Impactful Job Management Features

Commusoft

Job costing lessons for trades

Job Costing Lessons for Trades Business Owners

HVAC Know It All

Three numbers every tradesperson must know

Are You Actually Making Money? 3 Numbers Every Tradesperson Must Know

Trade Business Tips

n8n full course for beginners

N8N Full Course: Build AI Automations in 2026

Wes Roth

HVAC pricing and net profit

How HVAC Owners Can Fix Pricing and Increase Net Profit Per Hour

HVAC Know It All

Frequently asked questions

You need the Customer Journey plan at minimum, which includes job costing features. The basic plan does not track costs against jobs in the way this workflow requires. If you are already on Customer Journey or Field Automation, you are good to go.

Sage 50 is trickier because its API access is more limited than the cloud version. Commusoft does have a native Sage 50cloud integration, so the data will sync. But pulling data via n8n requires Sage's REST API, which is only available on the cloud products. If you are on Sage 50, consider whether the £30/month for Sage Accounting Standard is worth it for the API access alone.

Allow 2-3 hours for the initial Commusoft category setup, 1-2 hours for the Sage nominal codes, and 3-4 hours to build and test the n8n workflow. Call it a weekend project. The ongoing maintenance is minimal; just check the workflow ran each month and review the output.

Start with broad categories. A boiler service that also includes a small repair can go under "Planned Maintenance" if the service was the reason for the visit. The AI categorisation node handles edge cases well. Do not overthink it. The goal is directional accuracy, not accounting precision.

Yes, and it is actually easier. Xero has a well-documented API and n8n has a native Xero node. The same workflow structure applies. If you are already on Xero, check the Tradify + Xero automation guide for the basics of connecting Xero to n8n.

The visual workflow builder is straightforward. Dragging nodes and connecting them takes minutes. The Code nodes with JavaScript are the hard part, but you can use AI assistants to write those for you. If you have used Zapier, n8n will feel familiar. The learning curve is steeper than Zapier but flatter than writing code from scratch.

My verdict

This integration fills a gap that no single tool covers on its own.

Commusoft tracks your jobs brilliantly. Sage handles your accounts. But neither of them gives you a P&L broken down by the type of work you do, and that is the number that changes how you run your business. The n8n workflow in the middle is not complicated; it is 7 nodes that run once a month and take a few hours to set up. The payoff is knowing, with actual numbers, which jobs make you money and which ones quietly eat your margin. I have seen businesses discover that 30% of their work was running below target margin, and they had no idea until they built something like this. For a business running 5 to 50 people, this is the kind of automation that pays for itself in the first month. If you are already tracking jobs in Commusoft and running your books through Sage, you are 80% of the way there. The n8n workflow is the last 20%, and it is the part that turns data into decisions.

Share this article

Ready to Transform Your Business?

Turn every engineer into your best engineer and solve recruitment bottlenecks

Join the TrainAR Waitlist

Stay Updated

Get weekly insights delivered to your inbox.

Recommended Articles

comments powered by Disqus