Case Study
A custom manufacturing ERP for metal fabrication
An Indonesian metal fabrication company needed one system that could follow its factory workflow end to end. We built a custom web-based manufacturing ERP so sales, warehouse, production, purchasing and finance all work from the same data.
- Industry
- Metal fabrication
- Implementation
- Custom Software

- Client: A metal fabrication company (name withheld at the client’s request)
- Development time: 3 months
- Technology: Laravel 11, PHP 8.3, Filament 3, Livewire 3, Tailwind CSS 3, MySQL
The problem to solve
A stock recap took at least one full working day, and the result was often wrong. To keep operations going, the team relied on Excel, paper stock cards in the warehouse and paper production cards on the factory floor.
There was no existing system at all. Work between departments overlapped, procedures varied from person to person, and the company had to run a stocktake every month to correct discrepancies.
Why this approach

We went custom because parts of the process had no good match in a standard ERP. The biggest were finishing subcontracts with five pricing models, sample testing at external laboratories, versioned sales order amendments, and access restricted by warehouse and by action for 36 users.
For the factory team, the value of the new software was a workflow that matches how they actually work: 15 warehouses, 2 plants, stock reservations, and data that posts to the journal automatically as it moves.
What we built
We built one web-based ERP that brings sales, warehouse, production, purchasing and finance into a single workflow.

-
Sales can check stock right from the sales order page, and the system locks the stock already promised so another order can’t take it.
-
Work orders and production batches run from the bill of materials. Output is split into Good, Reject and Remainder, so leftover material goes back into stock.
-
Finishing subcontracts are created from a running batch, so work done outside the factory stays tied to the same production record.

Finishing work outside the factory stays linked to the production number, down to the weight sent out and the weight returned. -
Accounting journal entries are created automatically from operational events, so closing the books doesn’t wait on a manual recap.
-
Historical stock for any date can be exported for audits, so stocktakes no longer have to happen every month.
-
Sample tests at external laboratories are recorded as their own documents, so samples sent out and returned still show up in stock.

Samples sent to an external laboratory are recorded as a separate document, including what hasn't come back yet. -
Warehouse staff scan barcodes with their phones on the floor to check stock without switching devices.
The impact
- Stock levels are visible instantly in the system.
- An average of 120 orders a month go through the system.
- Stocktakes now happen once every 6 months.
- The books can be closed right away, because every operational action already posts to accounting.
- 36 active users across 15 warehouses and 2 plants.
Facing a similar problem?
If you're weighing whether your business is better served by custom software, Odoo ERP or a combination of the two, we can help you map out the approach.