Job Costing Overview

ServiceM8's Job Costing add-on is designed to be super simple. It gives you a quick estimated profit/loss figure on each job, which is based on the purchase costs of each material, the direct costs of labour, and the "hidden cost" of administration time. This enables you to:

  • Helps prevent under-quoting for jobs;
  • Check that you've remembered to charge for all labour recorded against a job;
  • See which types of jobs are good for your business, and which ones are not.

It's important to remember that the numbers produced by the Job Costing add-on are estimates. The Job Costing add-on has been specifically designed to work without any extra administration burden -- it uses all data sources that are available, and will never prompt you to enter data if that data can be estimated from something that ServiceM8 already knows. If you require profit/loss reports that are guaranteed to be 100% accurate, you should perform this task in your accounting package.

Job Costing is an add-on, and only available on certain ServiceM8 plans — if you can't activate it, please check your plan details. 

How to View Profit Information

When the Job Costing add-on is activated, you will see an extra icon on the Quotes & Invoicing tab of the Job Card which shows the 'Estimated Profit' for that job. Move your mouse over the icon to view a simple breakdown of Materials versus Labor profit. Click the icon to view a more detailed breakdown.

How Profit is Calculated

The profit on each job is calculated as follows:

  • Profit = (Invoiced Amount) - (Material Cost + Labor Cost + Admin Cost)
  • Invoiced = the amount that appears on the invoice you send to the customer. The following sections explain how each cost is estimated.
  • GP % = Gross Profit i.e. the percentage of the selling price which is profit. For example, if you buy an item for $100 and sell it for $150, then the total profit is $50 and the GP% is 33% (50/150 = 0.333333 = 33%).

Material Costs

Each material/service in ServiceM8 has a Price (what you sell the item for) and a Purchase Cost (your cost to buy the item). If your ServiceM8 account is integrated with an accounting package, the Purchase Cost from your accounting package will automatically sync to ServiceM8. Otherwise, you can enter the Purchase Cost in Account > Materials & Services.

.

If the Purchase Cost of a material is $0.00, ServiceM8 assumes that the material has not had its correct Purchase Cost set up yet. While calculating profit for a job, ServiceM8 treats these materials as if their Purchase Cost was equal to their sell Price (i.e. zero profit). This prevents ServiceM8 from over-estimating the profit on a job and potentially costing your business money. If you sell materials that actually have no cost (e.g. fees), then set their Purchase Cost to $0.01 to ensure that their sell price is treated as pure profit.

You can adjust the sell price of each item in the Billing tab of the job card, however there is no column for "Cost" in the Items & Services table, so you cannot adjust the purchase cost there, unless you also enable the Markup Billing add-on which will add "Cost" and "Markup" columns to the Job Card. 

NOTE: an item's "purchase cost" used in the calculations with the Job Costing add-on are based on each line item's cost in the relevant job card i.e. if you have the Markup Billing add-on activated, and edit a line item's cost in the job card on a one-off basis, then this edited cost (not the saved Purchase Cost for the item in your Materials & Services database) will be used by the Job Costing add-on, in that specific job card. 

Labor Costs

If a Material/Service has the keyword "labor" or "labour" in its Item Number or Name, then ServiceM8 treats it as a Labour item and its costs/profits will be included in the Labour section of the profit breakdown. The hourly cost of labour items comes from the "Purchase Cost" field of the Material/Service item, and is set up in the same way as for materials. If the Purchase Cost of your labour items is set to $0.00, then the labour will be treated as zero-profit rather than zero-cost, as described above in the Material Costs section.

To calculate labour costs for a job, ServiceM8 needs to determine two things: the number of hours worked on the job, and the hourly rate for labour.

Hours Worked

If Check In data is available, then it will be used as the source for determining the number of hours worked on the job. Otherwise, the total quantity of Labour items billed will be used. In this case, the profit breakdown will show "Estimated" labour time instead of "On Site" labour time.

Hourly Rate

The hourly rate is determined by the Purchase Cost of the labour item, which is synced from your accounting package or manually set up in Account > Materials & Services. In cases where multiple different labour rates are billed on a single job (e.g. Apprentice Labor and Tradesman Labor), the weighted average of the rates is used as the hourly cost for all Check In times on that job. If you want to override this, you can assign a labour rate to each individual Check In item in the Recorded Time window

If there is Check In data recorded, but no labour items have been added to the Billing tab of the job, then ServiceM8 will default to the most frequently used labour rate to calculate the hourly rate.

Admin Costs

Administration costs are a "hidden cost" for many businesses, and the Job Costing add-on helps you to see where your admin time is being spent. It does this by tracking the total amount of time you spend inside ServiceM8 working on the Job Card. This helps to highlight situations where you spend hours preparing a detailed quote for a relatively low-value job. Admin time tracking only counts time spent with the Job Card open and the mouse/keyboard active -- so if you leave the Job Card open while you go to lunch, ServiceM8 will exclude that from the "Admin Time" total.

The hourly rate for admin time defaults to $20/hr. You can change this by editing Purchase Cost of the "Admin Time" Material/Service item that ServiceM8 automatically creates when Job Costing is activated.

How Back Costing Works

With the Job Costing add-on, you can also compare what you estimated a job would cost when you were quoting it, against your actual time and materials used when the job's complete. This makes it easier to see when quotes were off the mark, improve your pricing, and keep jobs profitable.

When you send a quote for a job, ServiceM8 automatically captures the estimated cost of materials, labor, and admin time at that moment:

.

Later, once the job's complete and added time and any additional materials used to the job, you can compare the "estimated" time & materials at the time you sent the quote to the "actual" time and materials used to complete the job:

  1. Actual Time i.e. on site time + Admin time.  
  2. Actual Time Cost
  3. Estimated Time i.e. the amount of time you quoted for e.g. 3 x hours labour.
  4. Estimated Time Cost
  5. The difference between Actual Time Cost vs Estimated Time Cost
  6. Actual Materials Cost
  7. Estimated Materials Cost
  8. The difference between Actual Material Cost vs Estimated Material Cost
  9. Total Actual Cost
  10. Total Estimated Cost
  11. The difference between Total Actual Cost vs total Estimated Cost
14 out of 22 found this helpful