{"id":3206,"date":"2026-09-11T16:22:03","date_gmt":"2026-09-11T16:22:03","guid":{"rendered":"https:\/\/onfinity.io\/blog\/?p=3206"},"modified":"2026-09-11T16:22:04","modified_gmt":"2026-09-11T16:22:04","slug":"four-ways-factory-costing-drifts","status":"publish","type":"post","link":"https:\/\/onfinity.io\/blog\/business-hacks\/four-ways-factory-costing-drifts\/","title":{"rendered":"Four ways a factory&#8217;s costing quietly drifts"},"content":{"rendered":"<p>Costing rarely breaks in a factory. Nobody sits down and decides to price a job wrongly.<br \/>\n   It drifts, a little at a time, and the drift is invisible because every individual step<br \/>\n   looked reasonable when it was taken.<\/p>\n<p>You notice it late, and always the same way. Turnover is up and the margin is not. A job<br \/>\n   that felt profitable turns out not to have been. The quotation for the next one is last<br \/>\n   year&#8217;s rate plus a percentage, because nobody can defend a better number.<\/p>\n<p>Here are four places the drift comes from.<\/p>\n<h2>1. The rate card is older than anyone admits<\/h2>\n<p>Machine-hour rates, labour rates and overhead recovery get set once, usually properly,<br \/>\n   often by someone who has since left. Then power tariffs move, wages move, a machine is<br \/>\n   replaced with a faster one, and the rates stay.<\/p>\n<p>The rate card does not have to be wrong by much. A recovery rate that is 15% light on a<br \/>\n   business running at a 12% margin is most of the margin.<\/p>\n<p>Worth checking: when was the machine-hour rate last recalculated, and against what<br \/>\n   month&#8217;s electricity bill?<\/p>\n<h2>2. Overhead is spread evenly across things that are not even<\/h2>\n<p>The simplest way to absorb overhead is per unit, or per rupee of material. It is also<br \/>\n   the way that guarantees the wrong answer whenever the product mix is uneven.<\/p>\n<p>A part that sits on an expensive machine for four hours and one<br \/>\n   assembled by hand in ten minutes do not consume the same overhead.<br \/>\n   Spreading it by value says they do. The expensive-machine part looks cheaper than it is. It is usually the one you<br \/>\n   are winning tenders on.<\/p>\n<p>Worth checking: is overhead recovered against a driver that reflects what actually<br \/>\n   consumes it, or against whatever was easiest to get out of the system?<\/p>\n<h2>3. Freight and duty never reach the item<\/h2>\n<p>A consignment of imported components lands with freight, insurance, customs duty and<br \/>\n   clearing charges on it. Posted to a freight account, all of that is correct in the<br \/>\n   accounts and absent from the cost of the part.<\/p>\n<p>The result is a part that appears to cost what the supplier invoiced.<br \/>\n   It actually cost that plus 9% or 14%, or whatever the landing worked out<br \/>\n   at. Margin reports built on<br \/>\n   that number are wrong in a direction that flatters, which is the worst direction.<\/p>\n<p>Worth checking: take one imported item and compare its cost in the system against the<br \/>\n   supplier invoice. If they match exactly, the landing costs are somewhere else.<\/p>\n<h2>4. Standard and actual are never put side by side<\/h2>\n<p>Most factories cost at standard, because you cannot quote from an actual you will not<br \/>\n   know for three weeks. That is fine. The problem is when the standard is never compared<br \/>\n   with what happened.<\/p>\n<p>A standard that is not compared is not a standard. It is a guess that has been written<br \/>\n   down, and it stays comfortable for exactly as long as nobody checks it.<\/p>\n<p>A system can hold both. Onfinity carries cost elements separately, each with its own<br \/>\n   valuation method: standard, average, FIFO, LIFO. A standard cost and an<br \/>\n   actual cost can sit against the same item. The difference is a number on<br \/>\n   a screen rather than a suspicion.<\/p>\n<p>Worth checking: for last month&#8217;s five biggest jobs, what was the variance between what<br \/>\n   you costed and what it cost? If the answer is that nobody produces that report, that is<br \/>\n   the finding.<\/p>\n<h2>The test<\/h2>\n<p>Pick one job you finished last month. A real one, ideally one you thought went well.<\/p>\n<p>Add up the material at what it actually cost, including landing. The<br \/>\n   machine time at a rate calculated this year. The labour, the overhead<br \/>\n   recovered against something that reflects the work, and anything that went<br \/>\n   outside for processing. Compare that with what<br \/>\n   you quoted.<\/p>\n<p>The gap is not a costing problem. It is what you have been bidding into, on every job<br \/>\n   like it, for as long as the drift has been running.<\/p>\n<p><a href=\"https:\/\/onfinity.io\/in\/manufacturing.php\">Costing on one system<\/a><br \/>\n   &middot;<br \/>\n   <a href=\"https:\/\/onfinity.io\/in\/job-work.php\">When the work goes outside<\/a><br \/>\n   &middot;<br \/>\n   <a href=\"https:\/\/onfinity.io\/in\/installation-packages.php\">Download the free edition<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Nobody decides to cost a job wrongly. It drifts, a little at a time, until the quotation is last year&#8217;s rate plus a percentage and nobody can say why.<\/p>\n","protected":false},"author":1,"featured_media":3217,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3206","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-business-hacks"],"_links":{"self":[{"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts\/3206"}],"collection":[{"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/comments?post=3206"}],"version-history":[{"count":1,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts\/3206\/revisions"}],"predecessor-version":[{"id":3210,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts\/3206\/revisions\/3210"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/media\/3217"}],"wp:attachment":[{"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/media?parent=3206"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/categories?post=3206"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/tags?post=3206"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}