Buyer's Guide

Job Costing Software for Make-to-Order Factories: How to See the Real Cost of Each Job, and Which System to Use

For owners and general managers of Thai factories that build to order, such as switchboards, control panels, busway and cable tray, machine automation or sheet metal work, who price every job but only find out months later which jobs made money: what job costing is, where money leaks between the quote and delivery, how to work out a job's real cost, and whether Excel, accounting software, an ERP or a system built for engineer-to-order work fits your factory.

Short answer

A make-to-order factory sees the real cost of each job by recording every material issue, labour hour, outsourced service and piece of rework against the job number as it happens, then comparing the total with the cost it quoted. Excel, accounting software that splits cost by job, or an ERP manufacturing module can do this when jobs are few or repeat. A system built for engineer-to-order work pays off when every job is different and many run at once.

What is job costing, and why should a make-to-order factory track cost per job rather than per month?

Job costing means collecting cost job by job, instead of as one total for a department or a month. OpenStax's textbook Principles of Managerial Accounting defines job order costing as a system that traces individual costs directly to the job or service they were incurred for, used when goods are made to order or when costs are easy to trace to individual jobs. Manufacturing cost falls into three parts: direct materials, direct labour and manufacturing overhead.

In a make-to-order factory almost no two jobs are alike. Two panels at similar prices can use very different amounts of copper and several times the wiring hours. A monthly profit and loss statement tells you whether the factory made money that month, but not which job, which customer or which kind of panel earned it or lost it, because every job's money sits in one total. A losing job can hide behind the good ones for a year.

Once you know each job's real cost, you can use it three ways: price the next job of the same kind from the hours and material it really took, choose the jobs and customers that actually pay, and see a job running over its quoted cost while it is still on the floor rather than after it has shipped.

Why doesn't a job's profit match the quote, and where does the money leak?

Real profit usually comes in below the quote because many small costs appear along the way and nobody ties them back to the job. The quote is built from estimated material, labour hours and outsourced work; in reality more material is issued, work takes longer, some of it is redone, and the customer asks for extras. If those costs land in the month's general expenses, the job looks as profitable as quoted when it was not.

The table lists where money typically leaks in a make-to-order factory, and what has to be recorded to see each leak as a number. We drew it from how these factories work, not from statistics; how much each factory leaks varies widely.

Where cost leaks between the quote and delivery
LeakCommon exampleIf it is not tied to the jobWhat to record to see it
Material overrunExtra cable and terminals issued mid-job, a sheet scrapped at the press brake, copper up in price after the quote went outMaterial leaves the store as part of the month's usage, and nobody knows which job took itA job number on every issue slip, and the material's cost at the time of issue
Unrecorded labour hoursWiring takes longer than estimated; rush jobs cut in and fitters switch back and forthThe month's labour is averaged across all jobs, so a job that ate hours looks like any otherStart and finish times for each job at each station, times the labour rate
ReworkA failed QC check, a CT wired to the wrong phase, a panel taken apart and rebuiltRework hours vanish into the week, and the same mistake happens againHours and material used for rework, recorded as rework on that job, with the cause
Outsourced workPlating, painting, transport and lifting done by subcontractorsThe invoice arrives weeks later and is booked to the monthA subcontract order tied to the job, and the actual amount on the subcontractor's invoice
Customer change ordersExtra circuits, a different brand of breaker, a moved door cutout, all during productionCost goes up while the price stays the same, because nobody issues a revised quoteA new, customer-approved version of the quoted cost, kept separate from the first
Idle stockMaterial bought for a job whose specification then changed, left sitting in the storeMoney is tied up in the store and no job carries the costWhat was bought or reserved for each job, and what was returned to the store
Site installationFitters sent to install and commission at the customer's plantSite hours are nobody's costSite hours booked to the job like work in the factory

How do you calculate a job's real cost and margin?

A job's real cost is the material issued to it at actual cost, plus the labour hours actually worked times the labour rate, plus outsourced work at the invoiced amount, compared category by category with the cost used in the quote. Real profit is the selling price minus real cost, and the margin is profit divided by the selling price.

This example is hypothetical, not a customer's job. One MDB panel job sells for 1,000,000 baht excluding VAT. The quote estimated material at 550,000 baht, 480 labour hours at an assumed rate of 300 baht an hour, and 56,000 baht of outsourced work: 750,000 baht of cost and a quoted margin of 25%.

During the job, copper went up after the quote was sent, one sheet was scrapped at bending, wiring ran 80 hours over the estimate, a failed QC check took 40 hours to fix, and one extra transport trip was needed. None of these is large, but together they put cost 75,000 baht, or 10%, over the quote. The margin fell from 25% to 17.5%, which is 30% of the quoted profit gone.

The example leaves out factory overhead such as electricity, rent, machine depreciation and supervisors' salaries. Many factories add it as a rate per labour hour or a percentage of cost. Either method works, as long as the same rule is used in the quote and in the actual cost; otherwise the two numbers cannot be compared.

Hypothetical job: an MDB panel sold for 1,000,000 baht excluding VAT (baht, excluding factory overhead)
CategoryQuotedActualDifferenceWhere the difference came from
Material550,000581,000+31,000Copper price rise, one scrapped sheet, extra terminals and cable
Labour144,000 (480 h)180,000 (600 h)+36,000Wiring 80 h over, and 40 h of rework after a failed QC check, at 300 baht an hour
Outsourced work56,00064,000+8,000One extra transport trip
Total cost750,000825,000+75,000Cost 10% over the quote
Profit250,000 (25.0%)175,000 (17.5%)-75,000The price did not change, so every baht of overrun came out of profit

How much margin do a few percent of cost overrun take?

More than most people expect, because every baht of overrun comes straight out of profit while the price stays put. On a job quoted at a 25% margin, a 10% cost overrun takes away 30% of the profit, and a job quoted at 20% breaks even exactly when cost runs 25% over.

The chart works from 10 million baht of sales quoted at margins of 30%, 25% and 20%. The horizontal axis is how far actual cost ran over the quoted cost; the vertical axis is the profit left, in million baht, assuming the selling price does not change. It is plain arithmetic, not data from any factory; put in your own margins.

What it shows is that thin quoted margins tolerate far less overrun. If your factory competes on price and quotes with little margin to spare, seeing real cost while the job is still running matters all the more.

Profit left on 10 million baht of sales when actual cost runs over the quote, in million baht (calculated)
  • Quoted at a 30% margin
  • Quoted at a 25% margin
  • Quoted at a 20% margin
Profit left on 10 million baht of sales, in million baht, as actual cost runs 0 to 25% over the quoted cost. Jobs quoted at a 30% margin fall from 3.0 to 1.25 million baht. Jobs quoted at 25% fall from 2.5 to 0.63 million baht. Jobs quoted at 20% fall from 2.0 to zero.01230%5%10%15%20%25%Actual cost over quoted costQuoted at a 30% margin · Overrun 0%: 3.00 M bahtQuoted at a 30% margin · Overrun 5%: 2.65 M bahtQuoted at a 30% margin · Overrun 10%: 2.30 M bahtQuoted at a 30% margin · Overrun 15%: 1.95 M bahtQuoted at a 30% margin · Overrun 20%: 1.60 M bahtQuoted at a 30% margin · Overrun 25%: 1.25 M bahtQuoted 30%1.3Quoted at a 25% margin · Overrun 0%: 2.50 M bahtQuoted at a 25% margin · Overrun 5%: 2.13 M bahtQuoted at a 25% margin · Overrun 10%: 1.75 M bahtQuoted at a 25% margin · Overrun 15%: 1.38 M bahtQuoted at a 25% margin · Overrun 20%: 1.00 M bahtQuoted at a 25% margin · Overrun 25%: 0.63 M bahtQuoted 25%0.6Quoted at a 20% margin · Overrun 0%: 2.00 M bahtQuoted at a 20% margin · Overrun 5%: 1.60 M bahtQuoted at a 20% margin · Overrun 10%: 1.20 M bahtQuoted at a 20% margin · Overrun 15%: 0.80 M bahtQuoted at a 20% margin · Overrun 20%: 0.40 M bahtQuoted at a 20% margin · Overrun 25%: 0.00 M bahtQuoted 20%0.001230%5%10%15%20%25%Actual cost over quoted costQuoted at a 30% margin · Overrun 0%: 3.00 M bahtQuoted at a 30% margin · Overrun 5%: 2.65 M bahtQuoted at a 30% margin · Overrun 10%: 2.30 M bahtQuoted at a 30% margin · Overrun 15%: 1.95 M bahtQuoted at a 30% margin · Overrun 20%: 1.60 M bahtQuoted at a 30% margin · Overrun 25%: 1.25 M bahtQuoted at a 25% margin · Overrun 0%: 2.50 M bahtQuoted at a 25% margin · Overrun 5%: 2.13 M bahtQuoted at a 25% margin · Overrun 10%: 1.75 M bahtQuoted at a 25% margin · Overrun 15%: 1.38 M bahtQuoted at a 25% margin · Overrun 20%: 1.00 M bahtQuoted at a 25% margin · Overrun 25%: 0.63 M bahtQuoted at a 20% margin · Overrun 0%: 2.00 M bahtQuoted at a 20% margin · Overrun 5%: 1.60 M bahtQuoted at a 20% margin · Overrun 10%: 1.20 M bahtQuoted at a 20% margin · Overrun 15%: 0.80 M bahtQuoted at a 20% margin · Overrun 20%: 0.40 M bahtQuoted at a 20% margin · Overrun 25%: 0.00 M baht
Profit left on 10 million baht of sales, in million baht, margin in brackets (calculated assuming the selling price does not change)
Cost overrunQuoted at 30%Quoted at 25%Quoted at 20%
0%3.00 (30.0%)2.50 (25.0%)2.00 (20.0%)
5%2.65 (26.5%)2.13 (21.3%)1.60 (16.0%)
10%2.30 (23.0%)1.75 (17.5%)1.20 (12.0%)
15%1.95 (19.5%)1.38 (13.8%)0.80 (8.0%)
20%1.60 (16.0%)1.00 (10.0%)0.40 (4.0%)
25%1.25 (12.5%)0.63 (6.3%)0.00 (0.0%)

What must the shop floor record to get the real cost of each job?

Five things, and every one of them must carry the job number. Without the job number, the figure falls back into the month's general expenses. The principle is the same whether you record on paper, in Excel or in software.

  • The quoted cost at the moment the job is won, split into material, labour and outsourced work, kept as a version nobody edits. If the customer adds work, create a new version the customer approves instead of changing the first.
  • A job number on every material issue slip, with material priced at its store cost at the time of issue; anything returned to the store is credited back to the same job.
  • Start and finish times for each job at each station, such as laser cutting, bending, welding, painting, assembly, wiring and QC, multiplied by that station's labour rate on that day.
  • Every piece of outsourced work tied to the job, from the subcontract order to the subcontractor's invoice.
  • Rework recorded separately with its cause, so you learn which kinds of job get redone and why.

What is MRP, and does it tell you the cost of each job?

MRP (material requirements planning) plans materials; it does not cost jobs. SAP's course on MRP in SAP Business One describes it as taking demand from sales orders, production orders and defined stock levels, setting it against stock on hand, open orders and lead times, and recommending the purchase orders, purchase requests or production orders needed.

For a make-to-order factory, MRP gets material in on time and stops double buying, for example two jobs claiming the same busbar. But MRP does not say which job made money. Job cost comes from tying issue slips, labour hours and outsourced work to the job, which is a different part of the system. When a vendor says it has MRP, ask next whether it shows quoted against actual cost for each job.

What job costing software is there in Thailand, and what does each kind suit?

There are four main kinds, and many factories use more than one side by side. The vendor details in the table come from vendor or reseller websites and documentation that we checked in September 2026. We sell no one's licences and take no referral fees. SyncEdge MMS is our own product, so read that row knowing it. Before deciding, ask for a demo that runs one of your factory's real jobs, and see whether it produces quoted against actual cost.

Kinds of job costing software (from vendor websites and documentation, checked September 2026)
KindExamples, and what the vendor saysSuitsWhat to check
Excel or Google SheetsA job cost sheet the factory builds itself, one sheet per jobFactories with a few jobs running at once and someone who fills it in every dayFigures are retyped from issue slips and time cards, they are only as good as the person typing, and real cost is visible only as fast as that person keeps up
Accounting software that splits cost by jobExpress records accounts by department, and I.T. Advantage, an Express reseller, advises manufacturers to set up a department per job. Business Plus offers Bplus ERP for Job Cost for businesses that work by project or jobFactories that want profit per job from the accounting figures, and accept seeing them after the books are postedWhere labour hours per job come from, and whether a job in progress shows cost against the quote or only after the period closes
ERP with a manufacturing moduleOdoo Manufacturing compares the MO Cost, calculated from the bill of materials, with the Real Cost of each manufacturing order. SAP Business One says its production order tracks all material transactions and costs in production, with a variance report. Microsoft Dynamics 365 Business Central compares budgeted amounts with actual usage on projectsFactories with repeat products, fairly stable BOMs, and an ERP planned for the whole company anywayOne engineer-to-order job often spans several production orders, outsourced work and installation; ask how all of it rolls up against the quote for the job, and how much configuration or custom work that takes
A system built for engineer-to-order workOur SyncEdge MMS makes the job the spine: it locks the quoted cost when the job is won, then ties issue slips, station hours, subcontract work and rework to the job as they happenFactories where every job is different, many run at once, and work passes through several stationsTime to set up stations, routings, permissions and document numbering for your factory; operators must tap start and finish every time; pricing is quoted after a factory visit

Which kind fits which factory, in four example scenarios?

The examples below are composites of common situations in make-to-order factories, not real factories or our clients. Find the one closest to yours.

Four example scenarios (composites for illustration, not real factories)
SituationWhat usually fitsWhy
A small control panel shopAbout 20 staff, no more than five jobs running at once; the owner quotes every job and walks the floor dailyOne Excel sheet per job, with issue slips and time cards that must carry the job numberFew enough jobs for one person to keep up; what is missing is the habit of writing the job number, not software
A contract sheet metal shopCuts and bends to regular customers' drawings; many parts are reordered every monthAn ERP with a manufacturing module such as Odoo Manufacturing, or accounting software that splits cost by jobParts repeat, so a BOM and routing built once lasts; a system comparing BOM cost with each production order's real cost answers the question
A mid-sized switchboard factoryDozens of jobs at once, every panel designed fresh to a contractor's drawings, passing through cutting, bending, welding, painting, assembly, wiring and FAT; the year is profitable, but nobody knows which jobs lose moneyA system built for engineer-to-order work that locks the quoted cost at the win and captures hours at each stationEvery job is different, so averages mislead, and there are too many jobs to follow in Excel
An automation company working by projectLittle panel building in-house; most cost is engineering hours, programming, outsourced work and installation at the customer's plantAccounting software that splits cost by project, or an ERP with a projects module, plus engineers logging hours per jobThe main costs are people's hours and subcontractors' invoices rather than a multi-station shop floor, so a project system covers more of it

When is Excel or an ERP enough, and when is it not?

Excel is enough when only a few jobs run at once, one person owns the file and fills it in daily, and you can live with figures a day or two behind the floor. Many factories should start here, because if nobody yet writes the job number on issue slips and time cards, no software will help.

An ERP, or accounting software that splits cost by job, is enough when products repeat enough to have standard BOMs and routings, or when you are putting in an ERP across the company anyway and have someone to look after the extra configuration. SyncEdge gives vendor-neutral ERP advice and implements Odoo with our own team; we are not an official Odoo partner and we sell no licences.

What you have starts to fall short when you see these signs:

  • Every job is designed fresh, and one job's BOM is no use for the next.
  • More jobs run at once than one person can keep up with each day.
  • You find out a job lost money only after it closes or the year's books close, too late to act.
  • Nobody captures hours per station, so the next quote is priced on feel.
  • Customers add work mid-job, and nobody knows whether the extra cost has been billed.
  • Sales can see the cost and margin of every job, and you would rather they could not.

What does SyncEdge MMS do?

SyncEdge MMS is a manufacturing management system that SyncEdge builds and owns, made for make-to-order factories, such as electrical panel and control panel builders, where every job is different. The job is its spine. When a quotation is won, the system opens the job from it and locks the quoted cost, split into material, labour and subcontract. If the customer adds work, the system keeps a new version of the quoted cost without changing the first. From then on every baht of actual cost posts to the job as it happens. Posted entries cannot be edited afterwards; a mistake is corrected with a reversing entry.

Every issue slip is tied to a job, with material charged at moving average cost at the time of issue. MRP reads the BOMs of every confirmed job, nets off stock and incoming orders, and suggests what to buy. At each station, operators scan the job traveller's QR code on a tablet and tap start and finish with a PIN; labour is hours times that station's rate on that day. Subcontract work posts to the job with each delivery, and rework after a failed QC check posts separately as rework. The system also has QC checklists with photos, FAT reports as PDF, delivery notes with proof of delivery, and milestone billing with 7% VAT and withholding tax.

The central report is quoted against actual cost for every job, split into material, labour and subcontract, readable while the job is still running rather than only at close. Cost not yet tied to a job shows on its own report, and sales see prices but not costs. MMS is neither a generic ERP nor a one-off system written for a single factory: it is a product configured per factory, including stations, routings, user permissions and document numbering. It runs in a web browser, in Thai.

If you would like to see it working, we can run a demo on sample data, from the quotation to the closed job and its real profit. MMS is priced per factory, quoted after we have visited and seen how your factory works. And if the Excel or ERP you already have can answer the cost-per-job question, we will tell you so.

What to ask a vendor before choosing job costing software

  • Show me quoted against actual cost for one job, split into material, labour and outsourced work, from real data rather than slides.
  • Is the quoted cost locked when the job is won? If the customer adds work, is that a new version or an overwrite of the first?
  • Can material leave the store without a job number, and does a return credit the cost back to the original job?
  • How do labour hours per job get in: operators filling them in at the end of the day, or tapping at the station at start and finish?
  • Can outsourced work, rework and site installation be booked to the job and shown separately?
  • Do I see actual cost while the job is still running, or only after the accounting period closes?
  • Where does cost that is not tied to any job go, and is there a report that shows it?
  • Can I set permissions so that sales see prices but not costs?
  • Can stations, routings and document numbering be set up for my factory, or does each change need paid custom work?
  • How does data reach the accounting software I use, and if I stop using the system, in what format can I export all of it?

Frequently asked questions

What is job costing?

Job costing collects cost job by job, tracing materials, labour and manufacturing overhead to the job they were spent on, instead of totalling them for a department or a month. OpenStax's managerial accounting textbook describes it as the method used when goods are made to order or when costs are easy to trace to individual jobs, which is why it suits factories where every job is different.

How do you calculate the real cost of a job?

Add the material issued to the job at actual cost, the labour hours actually worked times the labour rate, and outsourced work at the invoiced amount. If your factory adds overhead, use the same rule as in the quote. Then compare each category with the cost used in the quote. Real profit is the selling price minus real cost.

Why doesn't a job's profit match the quote?

Because many small costs appear while the job is being built: material overruns, extra wiring hours, rework after QC, subcontractor invoices that arrive later, and customer changes that are never billed. Every baht of overrun comes straight out of profit. On a job quoted at a 25% margin, a 10% cost overrun takes away 30% of the profit.

What is the difference between MRP and job costing?

MRP plans materials: it says what to buy or make, and when, from demand, stock and lead times. Job costing says how much each job has actually cost against its quote. Having MRP does not mean a system shows profit per job, so ask the vendor about the two separately.

Can you do job costing in Excel?

Yes, when only a few jobs run at once and someone fills in the sheet every day. The key is a job number on every issue slip and every time card. Excel starts to struggle when there are many jobs, several people need to edit at once, or you need to see an overrun on the day it happens.

What should an ERP for a make-to-order factory have?

It should open a job from the won quotation and keep the quoted cost for comparison, tie issue slips, labour hours, outsourced work and rework to the job, handle a different BOM for every job, include MRP, and report quoted against actual cost while the job is still running. General ERPs can do many of these with configuration or custom work; ask to see it on real data before buying.