{"id":3204,"date":"2026-09-10T18:05:51","date_gmt":"2026-09-10T18:05:51","guid":{"rendered":"https:\/\/onfinity.io\/blog\/?p=3204"},"modified":"2026-09-10T18:33:54","modified_gmt":"2026-09-10T18:33:54","slug":"job-work-cost-disappears-indian-factory","status":"publish","type":"post","link":"https:\/\/onfinity.io\/blog\/business-hacks\/job-work-cost-disappears-indian-factory\/","title":{"rendered":"Five places job work cost disappears in an Indian factory"},"content":{"rendered":"<p>Almost every factory in India sends work out. Fabric goes for dyeing, panels go for<br \/>\n   printing, castings go for machining, and a proportion of what you sell is finished in<br \/>\n   somebody else&#8217;s shed. That part is normal. What is not normal, and is very<br \/>\n   common, is that the money never finds its way back onto the part it was spent<br \/>\n   on.<\/p>\n<p>The symptom is always the same. Turnover is up. The margin report says something<br \/>\n   different from what the plant manager believes. Nobody can say what a particular job<br \/>\n   actually cost, so the next quotation is last year&#8217;s rate plus a percentage.<\/p>\n<p>Here are five places it goes.<\/p>\n<h2>1. The material is written off at the gate<\/h2>\n<p>Fabric leaves for dyeing. In a lot of systems the only way to record that is an issue<br \/>\n   or a delivery, which takes the stock off the books. Three weeks later it comes back and<br \/>\n   gets received as though it were bought.<\/p>\n<p>Two things break. The balance sheet understates stock for those three weeks, sometimes<br \/>\n   by a large number at year end. And the returned material arrives with a fresh cost that<br \/>\n   has no relationship to the cost of the material that left.<\/p>\n<p>What it should do instead: the material stays owned and stays valued while it is at the<br \/>\n   job worker. It is at a different location, not gone.<\/p>\n<h2>2. The processing charge lands in an expense account<\/h2>\n<p>The dyer invoices \u20b940,000 for the month. It gets posted to processing charges, or job<br \/>\n   work expenses, or occasionally to consumables. All correct in the accounts, and useless<br \/>\n   for costing.<\/p>\n<p>That \u20b940,000 covered eleven different styles at different rates. Once it is in a monthly expense bucket, no report can put it back on the<br \/>\n   styles. The cost of any individual garment is now an estimate.<\/p>\n<p>What it should do instead: the outside operation is a step on the production order, so<br \/>\n   the charge attaches to the order it belongs to. The cost of the garment includes the<br \/>\n   dyeing because the dyeing was part of making it.<\/p>\n<h2>3. The waste at the job worker is invisible<\/h2>\n<p>You send 1,000 metres. You get back the equivalent of 940. The 60 went somewhere:<br \/>\n   shrinkage, trial runs, a bad lot, or nowhere anyone will admit to.<\/p>\n<p>If the material was written off at the gate, there is nothing to compare the return<br \/>\n   against, and the loss is simply absorbed. Over a year, on a business sending out most of<br \/>\n   its process, that is not a rounding error.<\/p>\n<p>What it should do instead: what went out and what came back are<br \/>\n   recorded against the same movement. The difference is a number somebody can<br \/>\n   look at, not a feeling.<\/p>\n<h2>4. Nobody is rating the job worker<\/h2>\n<p>Two dyers. One returns in eight days at the agreed rate. The other takes fourteen,<br \/>\n   returns short, and the shortage is discovered when the order is already late.<\/p>\n<p>Most factories know which is which. Almost none can show it. The knowledge sits with<br \/>\n   one person in production, and it leaves when they do.<\/p>\n<p>What it should do instead: a job worker is a vendor. Delivery dates and quantities are<br \/>\n   recorded against them like any other supplier, so the pattern is visible before the<br \/>\n   season closes rather than after.<\/p>\n<h2>5. The tax on the movement is handled separately<\/h2>\n<p>Material moving to a job worker in another state, or between two of your own units, is<br \/>\n   a movement that needs paperwork. When that paperwork is produced outside the system that<br \/>\n   holds the movement, the two drift apart, and the reconciliation is somebody&#8217;s month end.<\/p>\n<p>What it should do instead: the e-way bill is generated from the<br \/>\n   movement that already exists in the system, not typed again somewhere else.<\/p>\n<p><em>A note on scope: Onfinity holds the data these filings are prepared from and<br \/>\n   generates e-way bills and e-invoices against the documents that already exist. It does<br \/>\n   not file GST returns.<\/em><\/p>\n<h2>What this is worth<\/h2>\n<p>None of the five is dramatic on its own. Together they are the difference between a<br \/>\n   costing you quote from and a costing you argue about.<\/p>\n<p>The test is simple, and you can run it this week without buying anything. Take one part<br \/>\n   you sent out last month. Add up what it cost to make. The material at the cost it left at, the<br \/>\n   processing invoice for that job, the freight both ways, and the material that<br \/>\n   did not come back. Then compare that with what your system says the part<br \/>\n   cost.<\/p>\n<p>If the two numbers agree, this article is not about you. If they do not, the gap is what<br \/>\n   you have been quoting into.<\/p>\n<p><a href=\"https:\/\/onfinity.io\/in\/job-work.php\">How job work costing works in Onfinity<\/a><br \/>\n   &middot;<br \/>\n   <a href=\"https:\/\/onfinity.io\/in\/manufacturing.php\">Manufacturing on one system<\/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>Fabric leaves for dyeing, panels leave for printing, and the cost of that trip rarely finds its way back onto the part. Five places it goes, and what it costs you to not know.<\/p>\n","protected":false},"author":1,"featured_media":3216,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[4],"tags":[],"class_list":["post-3204","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\/3204"}],"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=3204"}],"version-history":[{"count":1,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts\/3204\/revisions"}],"predecessor-version":[{"id":3205,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/posts\/3204\/revisions\/3205"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/media\/3216"}],"wp:attachment":[{"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/media?parent=3204"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/categories?post=3204"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/onfinity.io\/blog\/wp-json\/wp\/v2\/tags?post=3204"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}