Most Singapore manufacturers know their business is profitable at the aggregate level — revenue is up, the bank account is positive. What they often don't know is which jobs are profitable and which are not. Without job-level cost visibility, a business can grow revenue while margin deteriorates — because the high-volume jobs are priced at thinner margins and the losses on difficult jobs are absorbed by the wins on standard ones.
Job costing is the mechanism that answers the question: 'Did we make money on that job?' It requires capturing all costs that go into a job — not just the invoice value — and comparing them to the quote estimate. The gap between estimated margin and actual margin is the signal that drives pricing, quoting, and operational improvements.
What to track: materials
Material cost is the largest cost component for most manufacturers. Accurate material cost tracking requires knowing: what materials were issued to the job (not estimated from BOM — actually issued), at what unit cost (weighted average or FIFO depending on accounting method), and how much was returned or scrapped.
A system that posts material consumption from the BOM at job creation uses estimated quantities, not actual. Actual job costing requires a goods-issue transaction when materials leave the warehouse for the job, and a goods-return transaction when excess materials come back. The difference is actual consumption. Scrap — material consumed but not in the finished product — should be tracked separately as it signals a process problem.
What to track: labour
Labour cost is often the most undertracked cost component. Manufacturers frequently use a blended labour rate applied to estimated hours — which loses the signal of which operations are running over time and which are efficient. Accurate labour tracking requires: actual hours by operation (cutting, welding, assembly, finishing), labour rate by workstation or skill level, and overtime tracking.
A shop-floor job card — either paper or mobile — captures start and end time per operation. The system calculates actual hours and values them at the correct rate. When a job runs 40% over estimated labour, the variance is visible before invoicing — not after the customer has been billed at the original quoted price.
What to track: subcontractor costs
Subcontracted operations — third-party plating, heat treatment, NDT, specialist machining — are often posted to overhead rather than to the specific job. This understates job cost for jobs with significant subcon content and overstates it for jobs without any. The correct approach is a subcon purchase order linked to the job, with the cost posted to job costing when the PO invoice is received.
What to track: overhead allocation
Overhead — factory rent, utilities, machine depreciation, indirect labour — is absorbed by jobs through an allocation rate. Common methods: machine hours (total overhead ÷ total machine hours = rate per machine hour), labour hours (total overhead ÷ total direct labour hours = rate per hour), or a percentage of direct cost. The choice of method affects job margin but does not change total business profitability — it changes which jobs appear profitable.
Why Excel job costing breaks at scale
Excel job costing requires manual data entry of every cost element after the fact. At 20 jobs per month, a dedicated person can maintain this. At 80 jobs per month, the data entry lag means margin is only known two to three weeks after job completion — too late to correct pricing or flag a problem job before it ships.
A more fundamental problem: Excel job costing cannot provide live WIP visibility. You can calculate last month's average margin but not this week's expected margin on open jobs. Operational decisions — whether to take on a new urgent job, whether to push back on a material surcharge from a supplier — require real-time data, not historical averages.
What a proper system produces
- Actual material consumption per job — goods issued vs. BOM estimate, with variance
- Actual labour hours per operation — from shop-floor cards, compared to estimate
- Subcon cost per job — linked to POs, posted when invoice received
- Overhead absorption per job — applied at standard rate per hour or per machine hour
- Actual margin per job — revenue minus all actual costs, compared to quoted margin
- Variance report — jobs that ran over on material, labour, or subcon, with reason code
- Live WIP margin — expected margin on open jobs based on costs incurred to date
- Cumulative job profitability by product category, customer, or order type
How to start
Job costing is a module in a broader operational system, not a standalone application. It requires that orders, production jobs, material movements, and subcon purchase orders all exist in the same system — so costs can be linked to jobs automatically rather than entered manually. A custom build for a Singapore manufacturer typically includes job costing as part of the standard scope for S$15,000–S$25,000.
