Overview
Job Costing shows you how profitable each job really is, in real time. It compares the revenue you've collected against what the job is costing you in labor and materials, then shows your gross profit and profit margin.
The numbers update live as your team logs hours, as you record material use, and as payments come in. Labor costs are based on what you actually pay each team member, set through their compensation rate. Job Costing is available in the Web App.
When to Use This Feature
You want to know whether a job is making money before it's finished.
You want labor costs that reflect what you truly pay your team, including taxes and benefits.
You're checking collected revenue against total cost to see your margin.
You need to track material costs, and any material returns, against a job.
You want to confirm a team member's hours and pay rate are being costed correctly.
How It Works
Job Costing combines three live inputs on each job: revenue collected, labor cost, and material cost.
The top of the panel shows four Actual Costs figures:
Collected Revenue — payments actually received on the job's invoices.
Total Job Cost — labor cost plus material cost for the job.
Gross Profit — collected revenue minus total job cost.
Profit Margin — gross profit as a percentage of collected revenue.
Below that, Total Revenue Overview breaks down collected revenue against total job cost, and Total Cost Overview splits your total cost into labor and materials.
How labor cost is calculated
Each team member has a compensation rate with a fully loaded hourly rate — their base pay plus additional employer costs like taxes and benefits.
For job costing, the system takes the fully loaded rate that is active for a given period and multiplies it by the hours that team member logged in that period. If a person's rate changes over time, hours are costed at whichever rate was active when they were worked.
Why profit can show as negative
Revenue is based on payments you've collected, not on what you've invoiced. Because of this, Gross Profit and Profit Margin will be negative until the first payment is collected on the job. They update as soon as a payment posts.
Turning On Job Costing
Job Costing only appears once cost tracking is enabled for your company.
Once tracking is on, the Job Costing panel appears on jobs for users who have permission to see it. Permissions can be configured on each individual role. Limited users never have the option to see these details.
Setting a Team Member's Compensation Rate
Compensation is set per team member and drives the labor cost in job costing.
Open the team member and go to their compensation settings.
Under Base Pay, choose Hourly Rate, Salary, or No Base Pay.
Use Hourly Rate for hourly employees, Salary for salaried employees, and No Base Pay when the person has no base compensation.
Enter the pay amount. For Hourly Rate, enter the Hourly Pay Rate. For Salary, enter the annual salary amount.
Under Additional Costs, enter the extra costs of employing this person — such as taxes, insurance, benefits, and other employer paid contributions. You can enter an Additional Hourly Cost, an Additional Cost Markup percentage, or both.
If you're not sure how to figure these out, click Use Calculator.
Review the Full Loaded Hourly Rate. This is your base pay plus additional costs, and it's calculated for you. It's the rate used to track actual labor costs in job costing.
Set the Select Active Date for when this rate takes effect. Leave No End Date off if the rate should apply until you change it, or set an end date if it's temporary.
Click Update to save.
The new rate applies to hours logged within its active period.
Team Members on a Job
The Job Costing area includes a team members table. It shows each person assigned to the job, their compensation details, and their total logged hours for that job. Those hours and rates are what drive the job's labor cost.
Overriding compensation for one job
You can manually override a team member's compensation for a single job. This changes only the rate used for that job's costing — it does not change their standard compensation and does not affect any other job.
Unassigning vs. removing a team member
There are two ways to take someone off a job, and they behave differently:
Unassign from Job - Keeps the time they've already logged and the job costing recorded so far, but takes them off the job going forward.
Remove from Job - Takes them off the job going forward and also removes their contribution to the job's costing.
Material Costs
Material costs are included in the job's total cost and appear in the Total Cost Overview. If materials are returned, the return amount is deducted from the material cost, so the job reflects what you actually spent.
Tips & Best Practices
Keep rates loaded and current — Enter each team member's full employer cost, not just base pay, so labor costs match what you really spend.
Use the calculator — If additional employer costs are hard to estimate, use Use Calculator in the Compensation Rate window.
Set accurate active dates — Compensation applies by date range, so set the Select Active Date to match when the rate actually takes effect.
Override only when needed — Use a per-job override for one-off situations, since it affects that single job only.
Read margin after invoicing — Gross profit and margin stay negative until a payment is collected, so check them once payments start coming in.
Things to Know
Job Costing is only visible to users with the right permission.
Job Costing only appears when cost tracking is turned on in your business settings.
Collected Revenue reflects payments received on the job's invoices — not invoiced or estimated amounts.
Gross Profit and Profit Margin are negative until the first payment is collected on the job.
Labor cost uses each team member's fully loaded rate for the active period, multiplied by the hours they logged in that period.
A per-job compensation override affects only the current job.
Unassigning keeps logged time and costing so far; removing clears the team member's costing impact. Both stop future work on the job.
Material returns are deducted from material costs.
Troubleshooting
I don't see Job Costing on a job.
You need the right permission, and cost tracking must be turned on in your business settings. If both are set and it's still missing, contact support.
Gross Profit and Profit Margin are negative.
This is expected until the first payment is collected on the job. The numbers update as soon as a payment posts.
A team member's labor cost looks wrong.
Check their compensation rate and its active date. The rate active for the period covering their logged hours is the one used. If a per-job override is set, it takes priority for that job.
Labor cost didn't change after I updated a rate.
Make sure the active date covers the period the hours were logged in. Rates apply by date range, so hours worked before the new active date still use the earlier rate.
Materials show $0.00.
No material costs have been recorded on the job yet.
Have questions? Reach out via the support chat or email support@motionops.com.







