A job is profitable or it is not, and the difference is usually a part somebody ordered without writing down what it cost.
Parts are ordered against the job that needs them. Each line carries the vendor, the cost, the sale price and the resulting margin — visible before the order goes out, not discovered at month end.
Stock on hand is offered first. If the part is on the shelf, the cost comes from inventory automatically rather than being typed in again, which is both faster and harder to get wrong.
Automotive workflows also carry a delivery check: a job is not marked delivered while a part on it has no cost recorded. Delivery is the last moment anyone still knows the answer, and a part that genuinely cost nothing is recorded as a confirmed zero rather than left blank. The shop is told which tickets are short and can fill them in from one filtered list.

Try it on your own work
Two weeks, everything switched on, no card. Put a real job through it and see whether the numbers come out the way you expect.
Start free