Home / Personal Blog / ERP architecture

Lessons from Implementing ERP at THACO & Loc Phuc Jewelry

Moving from university into THACO's automotive production facilities and Loc Phuc's jewelry workshops taught me a demanding lesson: in production and business operations, data accuracy is a requirement, not an aspiration.

ERP implementation is demanding information systems work. It involves sitting with warehouse managers, chief accountants, maintenance supervisors, and engineers to work through individual documents, transactions, and reconciliation procedures.

1. Handling Large Transaction Volumes at THACO

THACO operates across subsidiaries and branches throughout Vietnam. Its purchasing workflows handle thousands of purchase orders, component receipts, and invoices from international suppliers each day.

There, I learned an important lesson about concurrency. & Database Locks trong Microsoft SQL Server:

“A poorly written stored procedure can bring an expensive server to a standstill and disrupt an entire assembly operation.”

2. Loc Phuc Fine Jewelry: Precision in Every Gram

At THACO, the challenge centered on volume & and velocity. At Loc Phuc Jewelry, the priority was veracity: accurate, trustworthy data..

Gold and gemstones cannot be reconciled using rough estimates. In jewelry manufacturing:

SQL SERVER // Stored Procedure Audit Transaction Check T-SQL
-- FIFO principles & Jewelry material-loss control in BRAVO ERP
SELECT 
    w.WorkOrderId,
    w.ArtisanId,
    w.GoldPurityCode,
    w.IssuedWeight_Grams,
    w.FinishedWeight_Grams,
    w.ScrapRecovered_Grams,
    (w.IssuedWeight_Grams - (w.FinishedWeight_Grams + w.ScrapRecovered_Grams)) AS ActualLoss_Grams,
    m.StandardLossPercentage * w.IssuedWeight_Grams AS PermittedLoss_Grams
FROM dbo.WorkOrderDetails w
INNER JOIN dbo.MaterialStandards m ON w.ProductTypeId = m.ProductTypeId
WHERE (w.IssuedWeight_Grams - (w.FinishedWeight_Grams + w.ScrapRecovered_Grams)) > (m.StandardLossPercentage * w.IssuedWeight_Grams);

3. Three Principles I Took Away

Working with these two enterprises taught me three foundational lessons beyond the university curriculum:

⚖️ Principle 1: Data Reflects Physical Operations
If warehouse staff do not record a shipment when the truck leaves, a real-time dashboard cannot reflect reality. An engineer needs to understand the movement of goods and people before designing the schema.
🛡️ Principle 2: An Audit Trail Protects the System
Never use DELETE or UPDATE to overwrite financial records without an audit trail. Changes should be tracked through append-only logs, deletion flags such as is_deleted, and historical models such as SCD Type 2.
⚡ Principle 3: Separate OLTP from Analytics
Analytical reports should not overload production databases. Change Data Capture can move changes into a cloud warehouse such as Snowflake, allowing analytics workloads to run separately from ERP transactions.

From ERP Thinking to Modern Analytics Engineering

My experience implementing BRAVO ERP on SQL Server made the Modern Data Stack feel like a natural next step. Working with dbt Core, Snowflake, dlt, and Kimball star schemasallows me to carry the same care and reconciliation discipline into the data models I build today.

TRẦN ĐỨC (Dustin)

TRẦN ĐỨC (Dustin)

UFM Management Information Systems valedictorian (GPA 3.7/4.0). Former ERP implementation specialist working with THACO & and Loc Phuc Jewelry. Currently supporting IT infrastructure in the People's Police and pursuing Analytics Engineering.