How to Allocate Fabric Dyeing and Finishing Costs in ERP
Accurate cost allocation in dyeing and finishing is critical for fabric margins. Learn how ERP tracks consumables, machine hours, and utilities per batch.
What this covers
- Track consumables, machine hours, and utilities per batch to avoid cost misallocation.
- Use ERP to assign indirect costs like maintenance and labour to specific dyeing/finishing processes.
- Reconcile actual costs with invoices to spot discrepancies before they affect margins.
- Allocate utility costs by production line, not by guesswork, to reveal hidden expenses.
- Adjust for scrap, rework, and machine downtime to reflect real-world production costs.
Dyeing and finishing costs are the hidden margin killers in fabric production
Most fabric plants allocate dyeing and finishing costs by dividing the total invoice by the number of batches or kilos processed. This method hides inefficiencies, overcharges profitable lines, and leaves you guessing which processes are actually losing money. Without batch-level tracking, you cannot tell whether a high-cost dye job was caused by a slow machine, a chemical spill, or an operator error—until the invoice arrives and the damage is done.
The solution is not spreadsheets or manual logs. It is an ERP system that ties every cost driver—consumables, machine hours, utilities—to the specific batch card, then rolls those costs into the final fabric price. The result is not just accuracy, but visibility: you see which dyeing or finishing processes are bleeding money, and which are performing better than expected.
Why spreadsheets and manual logs fail at cost allocation
Spreadsheets and paper logs break down when you try to allocate costs beyond direct materials. For example, a dyeing batch might use 50 litres of water, but how much of that water’s cost should be assigned to the batch? If you split the monthly water bill by production volume, you miss the fact that some machines use more water than others. If you split it by machine hours, you ignore the fact that some dyes require more rinsing than others.
Manual logs add another layer of error. An operator might record 2.5 hours on a jigger machine, but the actual time logged in the ERP system shows 3.2 hours due to setup delays. Without automation, these discrepancies compound over weeks, leading to either overcharged customers or underpriced fabric.
Facteno’s production module captures machine hours, consumables, and utilities at the batch level, then links them directly to the fabric’s cost record. This removes the guesswork from allocation.
Start with consumables: the dye, chemicals, and water that vary by batch
Consumables are the easiest costs to allocate accurately, but only if you track them per batch. A 50-kilo dye job might use 20 kilos of reactive dye, 10 kilos of salt, and 300 litres of water—but another 50-kilo job for a different customer could use 15 kilos of dye, 15 kilos of salt, and 400 litres of water. If you allocate costs by average usage, you either overcharge the first customer or undercharge the second.
In Facteno, each batch card records the exact quantity of dye, chemicals, and water used, pulled from the stores ledger and utility meters. For example:
Illustration: Say your own reactive dye costs $12 per kilo, salt costs $0.50 per kilo, and water is $0.02 per litre. Batch A uses 20 kilos of dye, 10 kilos of salt, and 300 litres of water. Batch B uses 15 kilos of dye, 15 kilos of salt, and 400 litres of water.
Batch A consumable cost = (20 × $12) + (10 × $0.50) + (300 × $0.02) = $240 + $5 + $6 = $251.
Batch B consumable cost = (15 × $12) + (15 × $0.50) + (400 × $0.02) = $180 + $7.50 + $8 = $195.50.
Allocate these figures to each batch in the ERP, and you avoid cross-subsidising one customer with another.
Further complications arise with scrap and rework. If 3 per cent of Batch A’s fabric fails QC and must be redyed, the additional dye and labour should be charged to the original batch—not absorbed as an overhead. Facteno’s quality control module flags defects and links them back to the batch, ensuring the extra cost is captured.
Machine hours: how long the jigger, washer, and dryer actually run
Machine downtime and inefficiencies distort cost allocation more than any other factor. A jigger machine might be rated for 8 hours per shift, but if it runs at 60 per cent efficiency due to setup delays, the actual cost per batch rises by 40 per cent. Most plants allocate machine costs by dividing the total depreciation by the number of batches, ignoring the fact that some machines run longer than others.
Facteno tracks machine hours per batch using time clocks or RFID tags on batch cards. For example:
Illustration: Say your jigger machine depreciates at $500 per month and runs 200 hours in that month. If Batch C runs for 4 hours on the jigger, its share of depreciation is:
($500 ÷ 200 hours) × 4 hours = $10.
If Batch D runs for 6 hours, its share is $15. This method ensures high-volume batches pay their fair share, while long-setup batches reveal where efficiency is dropping.
However, machine hours alone do not tell the full story. A washer might run for 3 hours but use twice the water of a dryer running for the same time. Facteno’s utility allocation guide shows how to split water, electricity, and gas by machine type, not just by hours.
Utilities: water, electricity, and gas per machine, not per month
Utility costs are the most commonly misallocated expense in dyeing and finishing. A plant might divide the monthly electricity bill by production volume, but this ignores that:
- Jigger machines use more electricity than dryers during the same hour.
- Some dyes require hotter water, increasing gas costs.
- Rinsing cycles after dyeing can double water usage for certain fabrics.
Facteno links utility meters to specific machines and records consumption per batch. For example, a batch processed on a high-pressure washer might use 1,200 litres of water, while a batch on a low-pressure washer uses 600 litres. The ERP assigns the actual consumption to each batch, not an average.
| Cost Driver | When It Lands | What Makes It Move |
|---|---|---|
| Water usage | During rinsing and dyeing | Machine type, dye process, fabric weight |
| Electricity | During machine operation | Machine efficiency, load time, power draw |
| Gas | During heating cycles | Water temperature, dye type, batch size |
| Steam | During drying and pressing | Fabric moisture content, dryer settings |
This table shows why splitting utilities by guesswork distorts costs. For instance, a batch dyed with a cold process might use half the gas of a batch dyed with a hot process—but if you allocate gas by average, the cold-process batch subsidises the hot one.
Labour and maintenance: the hidden costs tied to specific machines
Labour and maintenance are often treated as overheads, but they should be allocated to the batches that cause the work. For example:
- An operator spends 30 minutes setting up a jigger machine for a reactive dye job. That time should be charged to the batch, not spread across all fabric.
- A washer breaks down and requires maintenance. The repair cost should be linked to the batches processed on that machine in the past month.
- Overtime pay for a rush dyeing job should be assigned to the specific batch, not buried in indirect costs.
Facteno’s payroll module tracks labour time per batch, while the purchase module links maintenance invoices to machine usage logs. For example:
Illustration: Say your operator earns $15 per hour. If they spend 0.5 hours setting up Batch E, the labour cost is $7.50. If the same operator works overtime for 2 hours on Batch F, that adds $30 to Batch F’s cost.
Maintenance invoices are split by machine usage. If Machine X runs 120 hours in a month and incurs $600 in repairs, each hour of usage costs $5. Batch G, which ran for 8 hours on Machine X, absorbs $40 of that repair cost.
This method reveals which machines are high-maintenance and which operators are efficient. It also ensures rush jobs do not hide their true cost.
Reconcile actual costs with invoices to spot discrepancies early
Even with accurate allocation, invoices from dyehouses and finishing units often do not match the ERP’s calculated costs. This happens because:
- The supplier charges a flat rate per kilo, ignoring your actual consumable usage.
- Your utility provider bills by the month, not by machine or batch.
- Labour costs are lumped into a single overhead, not tied to specific batches.
Facteno’s finance module compares the ERP’s cost per batch with the supplier’s invoice. For example:
Illustration: The ERP calculates Batch H’s dyeing cost at $420, but the supplier’s invoice shows $480. The discrepancy of $60 could be due to:
- Unrecorded consumables (e.g., extra dye used without a batch card update).
- Machine downtime not logged in the ERP.
- A supplier overcharging for a specific dye type.
By reconciling these figures weekly, you catch errors before they affect margins.
This process also highlights where suppliers are overcharging. If multiple batches show a consistent overcharge for the same dye type, you can negotiate better rates—or switch suppliers.
What to do next week: three steps to start allocating costs accurately
You do not need to overhaul your entire system overnight. Start with these three steps:
- Audit one dyeing and one finishing batch. Pull the batch cards, machine logs, and utility records for a recent job. Calculate the cost using the methods above, then compare it to the supplier’s invoice. Note any discrepancies.
- Enable batch-level tracking in your ERP. If you are using Facteno, ensure the production module is recording consumables, machine hours, and utilities per batch. If you are not, contact us for a live demo of how it works.
- Reconcile one invoice against ERP data. Pick a supplier invoice and cross-check it with the ERP’s cost calculation. Adjust your allocation rules if the two do not match.
These steps will not solve every cost allocation issue, but they will reveal where your current method is failing—and where Facteno can help.
Frequently asked
What if our dyehouse uses a flat-rate pricing model?
How do we handle scrap and rework in cost allocation?
Can we allocate costs retroactively if we are not tracking them now?
What if our machines run at different efficiencies?
How do we decide which costs to allocate directly vs. treat as overhead?
Everything above is how Facteno actually behaves
Ask for demo access and we will walk you through a full plant with four months of documents, so you can check the numbers yourself.