A customer calls and asks which raw material lot numbers went into a particular shipment. You pull the delivery notes, the batch records and the goods receipt slips, and half a day disappears reconciling them. That scene is familiar to anyone doing chemical lot management. But the real loss is not the time spent searching. It is that even after searching, you cannot narrow the scope, so you recall every suspect lot together. This article uses a Japanese-owned chemical manufacturer in Rayong, Thailand as a model, identifies the four merge points where traceability actually breaks, and puts numbers on what your records have to capture before the recall scope starts shrinking.
What makes chemical lot management different from component traceability
Traceability for automotive or electronic components can be drawn as a tree branching from one parent to many children. Coil stock becomes blanks, blanks become pressed parts, pressed parts become assemblies, and the flow runs one way from upstream to downstream. Because of that, the design conversation naturally converges on granularity – how finely do we want to track – and once granularity is settled, the rest is a contest over the number of read points and the labour they cost.
In chemicals, that premise does not hold. Multiple raw material lots merge into the same bag, the same IBC, the same tank, the same reactor. The caustic soda tank still holds the remainder of last week’s delivery when today’s tanker arrives. The surfactant IBC has 200 kg left in it and a new lot gets topped up on top. The 25 kg powder drum that was opened last time gets used up first before anyone breaks the seal on a fresh bag. At that moment, the contents of the tank, the contents of the IBC and the contents of the batch you just charged are all mixtures of several lots, not a single lot.
The result is that genealogy is not a tree but a graph. One product lot has N parents, and one raw material lot has M children. N to M. This is the decisive difference from components, and it changes the design, the system selection and the way you write the capital request.
| Dimension | Components and electronics | Chemicals |
|---|---|---|
| Shape of the genealogy | A tree. One parent branches into children | A graph. N parents merge into one child |
| What is tracked | Countable units such as pieces, reels and pallets | Quantities inside containers. They can be split and combined |
| Nature of the quantity | Integers, so additions and subtractions close cleanly | Mass and volume are continuous. Remainders and heels always appear |
| Centre of the design | How finely to track (granularity) | Whether the merge can be recorded (confluence) |
| Why traceability breaks | Missed reads and dropped records | The act of mixing was never recorded at all |
| Reproducibility | Fixed uniquely by drawing and part number | Actual charged weight varies every time with assay, purity and moisture |
| Scope when something is out of spec | Follow the genealogy and downstream is unique | Downstream widens at every merge and the scope grows exponentially |
Designs built around pieces and reels – that is, the direction of pushing granularity finer – are covered in our article on electronics traceability systems. It is tempting to apply the same instinct to chemicals and simply record more finely, but finer granularity does not dissolve a merge. Record at 1 kg resolution and, if that 1 kg is a mixture of two lots, it still has two parents. What needs to get finer is not the unit of the record but the types of events you record. Food manufacturing is the other industry that deals with merging, but the required record types and the regulatory framework are different enough that we treat it separately in our article on food factory traceability systems.
Trace back and trace forward do not expand the same way
There is a second asymmetry worth holding on to. Tracing back from product to raw material and tracing forward from raw material to customer are completely different amounts of work.
Trace back is finite. The raw material lots charged into one product batch, counting minor ingredients, might number a few dozen. You enumerate them. The work is heavy, but the scope is closed from the start.
Trace forward does not close. If one raw material lot went into three batches, and each of those three batches influenced three further batches through heels or rework, you have 9 batches at two levels and 27 at three. The exact numbers depend on the plant, but the property does not change – every merge point you pass multiplies the branches. When a problem surfaces on the raw material side and you have to notify customers without being able to answer which products used it, the only safe move is to draw the scope wide. That is exactly the over-recall we will count in money later.
Traceability breaks at merge points, not at branch points
When you sit down to design chemical lot management, the first thing to do is not to spread out the process flow and count the branch points. It is to count the merge points. And there are only four.

| # | Merge point | What gets mixed | What happens if it is not in the records |
|---|---|---|---|
| 1 | Goods receipt | Several lots of the same item enter the same silo, tank or IBC | Which incoming lot this bag belongs to disappears |
| 2 | Charging | The previous batch heel and part-used raw materials carry over into the next batch | The previous batch raw material lots enter the next batch with no record |
| 3 | Reintroduction | Rework, returns and recovered product go back into the process | The genealogy flows backwards and downstream lots appear upstream |
| 4 | Filling and shipping | One batch splits into N containers, and several batches combine into one pallet or one shipment | You cannot get uniquely from a delivery back to a manufacturing batch |
If you look at those four and think “we have all of them”, the design target is clear. If you think “number two does not apply, we run dedicated lines”, read the sensitivity analysis later in this article. The fewer merges a plant has, the harder this investment is to justify.
What is easy to miss is that these are record problems, not equipment problems. Adding tanks does reduce merging, but the investment moves an order of magnitude. The practical move is to accept that mixing happens and to record the fact of the mixing as a number. The next four sections work through each merge point – what is actually happening on the floor, and what has to go into the records.
Merge point 1 goods receipt – several lots of the same item in one container
Merging at goods receipt happens in two places, the warehouse rack and the tank.
The rack is the simple case. Bags of the same item, 25 kg each, sit side by side from last month’s delivery and this month’s. The labels carry the supplier lot number, but nobody reads it at issue. The inventory system holds stock by item and quantity, so the moment the material is issued, which incoming lot it came from is gone. Ask what raw material lots went into yesterday’s batch and all you can do is infer from the receipt dates and consumption. Inference is an answer, but it is not proof. A customer audit will find that gap.
Tanks and IBCs are worse. Top a partly full container up with a new lot and the contents become a mixture of several lots. What you need at that point is not the single value “the contents are lot X” but a set – “a mixture of lot X and lot Y, roughly in this proportion”. If the master data can only hold a single value, the floor has no choice but to overwrite it, and the previous lot information is lost.
| Receipt format | How the merge happens | What the records need |
|---|---|---|
| 25 kg bags and pails | Several incoming lots of the same item sit on the same rack | Lot labels at container level, and a lot scan at issue |
| Drums and IBCs | New material is topped up into a container with a remainder | Container ID, and the set of lots that container currently holds |
| Tankers and silos | A new lot merges with existing stock and homogenises | Quantity before receipt, quantity received, total after receipt, and an update to the lot set |
| Minor ingredients and additives | Usage is small and drops out of the records easily | Record the charged lot however small. Colourants, fragrances, catalysts, pH adjusters |
| Customer-supplied materials | The supplied lot is only managed in the customer’s records | Copy the lot number from the supply note into your own lot ID at assignment |
The first thing to fix in practice is lot ID assignment at receipt. If you use the supplier lot number directly as your own key, the digit counts and schemes differ by company, and the same number can arrive from two different suppliers. Assign a unique ID of your own for each receipt and keep the supplier lot number as an attribute. That alone lets every downstream process speak in the same key.
Next comes weighing at receipt. Record the weight you actually measured, not the quantity on the delivery note. Actual bag weight, gross drum weight, tank level or weight before and after receipt. Whether you capture actual measurements here decides whether mass balance will close later. Run on delivery note figures and the remainders and adhesion losses vanish somewhere, and the books stop matching the physical stock.
Minor ingredients really do fall out. A catalyst is excluded from the records because the quantity is tiny, and later, when a colour deviation turns out to trace to a difference between colourant lots, there is no record of which lot went into which batch. Decide the principle up front – everything charged is recorded, regardless of quantity. Create an exception and the judgement about that exception passes to whoever is on shift that day.
Merge point 2 charging – the previous batch heel carries over
The heel, meaning what is left of the previous batch, is the element most often missing from the records in chemical lot management. It is also the element whose absence does the most damage.
Heels form in predictable places.
- Liquid left in the bottom of reactors and mixing vessels and around the agitator blades
- Liquid left in transfer piping and pumps. On continuous runs of the same grade it goes to the next batch without cleaning
- Material held up in heat exchangers and filter housings
- Powder clinging to hopper and silo walls
- Part-used raw material in bags and pails opened previously, consumed first in the next batch
- Wash liquid recovered and returned to the next batch of the same grade
- Previous batch material remaining in filling line piping and filler heads
All of these are normal process behaviour, and in fact they are done deliberately to protect yield. The problem is that because they are normal, nobody thinks of them as something to record. The batch record lists the raw materials charged and their weights, but nowhere does it say that the vessel already contained material from the previous batch. The parents of that remainder are every raw material lot the previous batch used. In other words, the parents of the previous batch are also acting as parents of this batch. If that is not recorded, the genealogy will always break one batch upstream.
Three things need to happen.
- Weigh the vessel residue at the start of charging and record it as the heel quantity. If it is zero, record that zero was confirmed
- Record the batch number the heel came from. One number for the previous batch is enough for the genealogy to keep going upstream
- Carry the lot label over to containers of part-used material. If the remainder of an opened bag is transferred to another container, print the original lot ID on the new container too
The weighing part will always decay into a formality if you leave it to people writing notes. Build it so that scale and load cell values flow straight into the records. The THB 520,000 allocated later to charging scale integration exists for this single purpose. A record with an eyeballed “about this much” for the heel is useless in an audit and useless in a root cause investigation.
There is one more thing that attaches here, the actual charged quantity. Because assay and purity differ between raw material lots, formulations are corrected before charging. When the active content differs, the weight you must charge to make the same product changes. So unless you record the weight actually charged in that batch rather than the theoretical recipe value, you cannot reproduce the same product lot. We treat that point separately below.
Merge point 3 reintroduction – rework and returns run the genealogy backwards
The third merge point takes the shape system designers hate most. A lot created downstream in the process appears as an input upstream.
A batch that came out above the viscosity spec is not scrapped but partly charged into the next batch to dilute it. A batch that came out too dark is used as a raw material in the next batch. Product returned unopened by a customer is retested and put back into the process. What is left of retained samples gets recovered and charged. Every one of those is an everyday judgement in a chemical plant, and every one of them is economically sensible. But from the point of view of the genealogy data structure, this is a backflow. A database built on a tree assumption either refuses the entry or accepts it and then fails to return the query because of a circular reference.
The fix is simple. Assign the reintroduced material a new raw material lot number. Not a batch number – a fresh raw material lot, carrying “source batch number” as an attribute. Do that and the genealogy never flows backwards. The roles of product lot and raw material lot stay unmixed, and following the source link still gets you to the original batch. As a data structure it stays a directed acyclic graph.
| Type of reintroduction | Typical situation | How the records handle it |
|---|---|---|
| Rework inside the process | Viscosity or pH adjusted inside the same batch | An additional charge within the same lot. Added to the actual charged quantity |
| Diversion to another batch | Part of an out-of-spec batch charged into the next one | Assigned as a new raw material lot carrying a source batch |
| Customer returns | Unopened goods sent back | A return against a shipped lot. Keep the history of the resale decision |
| Recovered product | Product recalled from the market | As a rule not returned to the process. If it is, isolate it under a separate lot number |
| Retained samples and trial remainders | Leftovers from retained samples or trials | Assign a number however small. Never charge anonymously |
| Recovered wash liquid | Wash liquid of the same grade returned to the next batch | Record the source batch and the recovered quantity. Reuse across grades gets its own record |
This is the section where floor resistance shows up. There is a real psychological reluctance to leave behind a record saying “out-of-spec material was mixed into the next batch”. Management has to take a position first. Put it in writing that rework is a legitimate process step, not misconduct, and that recording it is precisely what allows you to explain yourself to a customer. If people avoid records and the practice goes underground, the register keeps turning with “undocumented exceptions” inside it and fails you when it matters.
One more thing – do not treat container labels on reintroduced material as a detail. Intermediates and rework typically end up in whatever empty pail is nearby with “rework 3/14 line 2” written on masking tape. That container is still there the following week and nobody can state its contents with confidence. Settle on one label format for intermediates and always print the assigned lot ID on it. The THB 240,000 in the investment table covers this container label and the reintroduction entry screen.
Merge point 4 filling and shipping – one batch splits into N containers and several batches combine into one shipment
The last merge point sits at the exit. Here a split and a merge happen back to back, which makes the records one step more complex.
The split comes first. Fill a 3,000 kg batch into 20 kg pails and you get 150 containers. All 150 come from the same batch, so as a genealogy they share a parent. That part is easy.
Then the merge. Of those 150, 80 go to customer A, 40 go to customer B and the remaining 30 stay on the rack as stock. The following week, containers filled from a different batch and those remaining 30 go out to customer C on the same pallet. At that point one shipment contains several manufacturing batches. If the delivery note carries only item name and quantity, then when customer C calls you cannot say whether it was last week’s batch or this week’s.

The records here need three layers.
- Container ID linked to manufacturing batch number. Fixed at filling
- Pallet ID linked to the set of container IDs. Fixed at shipping preparation
- Shipment ID linked to pallet IDs and delivery destination. Fixed at despatch
Only when all three exist can you get uniquely from a delivery back to a manufacturing batch. Miss any one of them and everything beyond it has to be inferred from the stock issue sequence, and a recall scope decided by inference is always drawn wide.
This is also where you decide what goes on the container label. Not the read technology – the design of the printed content.
- Product code and product name. Including whether Thai text is required
- Manufacturing batch number, in both human-readable and machine-readable form
- Container sequence number. Which of the 150 this one is
- Manufacturing date, and expiry or retest date
- Net weight and tare
- GHS pictograms, signal word and hazard statements
- Version number of the applicable SDS
That last item, the SDS version, is missing from most plant labels. But being able to state later which version of the SDS applied at the time of shipment has real practical value. SDSs get revised. When an enquiry arrives about product shipped before a revision and you cannot identify the version in force at the time, your answer gets pulled towards the current version.
We do not cover the choice of identification technology in this article. The three layers and the label content matter before the technology argument does. Once the content is settled, the required information capacity narrows the technology choice on its own.
Holding the genealogy as a graph rather than a tree – the four records you need
How do you hold those four merge points as data? The conclusion first. All you need are four types of event record. This is not a project to design dozens of master tables.
| Event recorded | When it occurs | Minimum fields |
|---|---|---|
| Receipt event | When raw material arrives | Receipt lot ID, item, supplier lot number, measured quantity, container ID, receipt date |
| Charge event | At charging | Batch number, raw material lot ID charged, measured charged quantity, charge time, heel source batch number |
| Output event | At filling and packing | Batch number, container ID produced, net quantity per container, container sequence, output date |
| Shipment event | At despatch | Shipment ID, pallet ID, container ID, delivery destination, shipment date |
With those four, both trace back and trace forward become mechanical queries over the genealogy. Trace back walks the charge events in reverse. Trace forward walks them in order. It is the same table read in a different direction.
What matters is that these four carry quantity. Not just which lot was used but how many kilograms. With quantity present, you can reconcile total charged against total output to confirm mass balance, you can prioritise the recall scope by the proportion in the mixture, and you know the remaining quantity of a raw material lot so you can stop the unused portion the moment a problem surfaces.
You also need one table holding container state – for each container ID, which lots are currently inside it and how much of each. For containers where topping up occurs, such as IBCs and tanks, without this you cannot express the receipt merge at all. Conversely, where one container guarantees one lot, as with disposable bags and pails, it is enough to hang a single lot ID off the container ID. Not designing every container the same way is the key to keeping the implementation small.
How to allocate the budget across the whole build – hardware, software, installation and operation – is covered in traceability system build cost and approach, so refer to that for the overall picture. This article uses a different structure later, allocating cost to the chemical merge points.
Actual charged quantity and expiry dates – lot attributes must not be attached to the item
This is the single point where chemical master data design usually breaks first. Attributes that belong to the lot get attached to the item.
Raw material lots of the same item have different contents. The assay of the active component differs. Purity differs. Moisture content differs. That is why formulations are corrected before charging. If the recipe assumes 90% active content and a lot arrives at 86%, the charged weight goes up to compensate. Unless the corrected actual charged quantity is recorded, you can never reproduce that product lot. When a customer says the viscosity is different from last time and all you have is the theoretical recipe value, there is nothing to compare.
Hold the formulation ratio as the actual value for that batch, not as the recipe value. That one sentence sits at the core of chemical lot management.
| Attribute | What happens if attached to the item | What it solves if attached to the lot |
|---|---|---|
| Assay, purity, moisture | The formulation stays at theoretical values and the product lot cannot be reproduced | The actual formulation can be reproduced from the corrected charged quantities |
| Expiry and retest date | It becomes a shared day count per item and drifts from the real date | Expiry management and allocation work at lot level |
| Expiry after opening | Drops out of management entirely | Managed in parallel as a separate deadline starting from the opening event |
| SDS version and GHS classification | Only the latest version survives and the version at shipment is unknown | The version in force can be linked to the shipped lot |
| Storage conditions and container material | Exceptions live in an individual’s memory | Conditions hang off the container ID and deviations can be detected |
| Certificate of analysis | It becomes a representative value per item and lot variation cannot be explained | Measured values per lot can be presented to the customer |
Expiry dates have the same structure. Expiry and retest dates attach to the lot, not the item. And first in first out alone will not protect you. The reason is the expiry after opening. A lot received in April and opened in May has an after-opening deadline that runs from May. It can expire before an unopened lot received in March. Receipt order and expiry order do not coincide, so allocation sorted by receipt date gets it wrong.
Expiry write-off is where the quality of this design shows up directly in money. The model later in this article puts 0.6% of the THB 210,000,000 raw material spend, that is THB 1,260,000, as expiry write-off. In practice the assumption is that roughly half of that can be squeezed out with two mechanisms – preferential allocation of lots close to expiry, and notifications before expiry.
A framework for keeping actual charge data by design
The international standard for batch manufacturing is ANSI/ISA-88 (IEC 61512 as the international edition). It defines recipes in four levels – general recipe, site recipe, master recipe and control recipe – and, combined with the equipment model, puts material genealogy in a form that can be captured mechanically.
The level that is useful in practice is the lowest of the four, the control recipe concept. The master recipe is the design value saying “this is how this product is made”. The control recipe is the individual execution unit saying “this batch was made on this equipment with these raw material lots in this way”. Actual charged quantities and heel quantities belong in the control recipe as achieved values, not in the master recipe. Settling that location in advance prevents the accident of actual values overwriting recipe values.
To avoid any misunderstanding, ISA-88 does not mandate chemical lot management. It is a standard, not legislation, so not following it does not make you non-compliant. It is useful as a shared design vocabulary. When a vendor says “recipe management” in a meeting, it helps you agree which level is being discussed.
Do not let the regulatory register and the production register grow separately (Thai hazardous substance notification and GHS)
A factory handling chemicals in Thailand keeps a regulatory register alongside the production register. And in most cases, the regulatory register that quality assurance keeps in Excel and the batch register that production keeps are not connected at all. That split bites later.
Start with notification. In Thailand, an operator that manufactures or imports a substance or mixture falling under Annex 5.6 of the hazardous substances list in a quantity exceeding 1 tonne per year must notify the Department of Industrial Works (DIW) of the Ministry of Industry through its online system within 60 days from the date of manufacture or import. The basis is a notification of B.E. 2558 (2015), promulgated on 19 February 2015. Chemicals controlled under other annexes, such as pesticides (Annex 1) and veterinary medicines (Annex 3), are out of scope.
The practical problem here is how you count whether you are over 1 tonne per year. You cannot judge it without accumulating annual manufacture and import volumes per item, and if that is not connected to the production register it becomes manual work. It is not unusual to scramble the totals together at year end and only then discover the threshold was crossed. If annual running totals by item come out of lot-level production records automatically, you notice as the threshold approaches.
Then GHS. Thai GHS rests on the notification on classification and communication of hazard information of hazardous substances, B.E. 2555 (2012). GHS-compliant SDSs and labels have been required for single substances from 13 March 2013 and for mixtures from 13 March 2017. Thai GHS adopts 28 hazard classes, made up of 16 physical hazards, 10 health hazards and 2 environmental hazards.
Language is the part that gets overlooked. SDSs are prepared in Thai. Thinking “we can just translate the English version from head office” is not enough. Translating an SDS written for EU CLP or US HCS into Thai is insufficient – the classification has to be redone in line with the B.E. 2555 notification. Because the state of adoption of the classification criteria differs, the same mixture can end up in a different category. This is a classification question, not a translation question.
For reference, the existing chemical substance inventory published by DIW lists 11,474 substances from 1995 to 2017. Whether a raw material you handle appears there is the first thing to check when adopting a new material.
It is worth watching the regulatory direction as well. As of April 2026 the Thai Ministry of Industry is raising hazardous substance management towards OECD levels, and DIW has initiated a comprehensive review and assessment of the Hazardous Substances Act and its amendments. The stated aims are adapting to social change, resolving overlap and inconsistency in the legislation, and aligning with obligations under international conventions. That said, this is the stage of initiating a review. It is not a case of an amendment having been enacted or a commencement date having been set. Writing “legal amendment requires action” in an internal document at this stage leaves you unable to answer when asked for the basis.
Export market regulation is also moving. In the EU, Regulation (EU) 2025/2439, which postpones some of the application dates of the revised CLP Regulation (EU) 2024/2865, was published in the Official Journal of the EU on 3 December 2025 and entered into force on 23 December 2025. Which provisions were postponed and until when cannot be pinned down provision by provision from primary sources, so this article does not go into individual dates. The practical implication is one thing only – labelling regulation in export markets is in motion, so the SDS and label versions need to be linked to the lot.
Concretely, write the SDS version number and the label version number in force at the time into the shipment event record. When a revision is issued, assign a new version number and record subsequent shipments against it. Do that and, when you revise an SDS, one query tells you which customers already received product under which version. The distribution list for the revision notice falls out of the same query. Connecting the regulatory register and the production register with one key exists for this single purpose.
Baseline assumptions – production profile of the model site
From here the discussion turns to money. First, a quick look at the current environment.
The Manufacturing Production Index (MPI) for April 2026, published by Thailand’s Office of Industrial Economics (OIE) on 28 May 2026, was 92.76, minus 0.36% year on year, with average capacity utilisation of 56.41%. Manufacturing as a whole is flat to slightly down. Basic chemicals, however, grew plus 19.53% year on year, driven mainly by caustic soda, chlorine and ethanol, with capacity expansion at some producers and increased ethanol output for gasohol cited as reasons.
So manufacturing as a whole is not growing, but chemicals are in an expansion phase. And expansion shows up as more batches. The more batches, the more times you pass through a merge point. Run those on the same records and the probability of traceability breaking rises in proportion. If your plant is considering investment in additional capacity, the record design should be reviewed at the same time.
Every figure in the model below is an assumed value. It is not the data of any real company, but a typical scale for a Japanese-owned chemical manufacturer in Rayong, Thailand. Read it substituting your own numbers.
| Item | Value |
|---|---|
| Site | Japanese-owned chemical manufacturer in Rayong, Thailand. Blending and filling of industrial cleaners and resin additives |
| Batches per year | 2,400 batches |
| Average batch size | 3,000 kg |
| Annual output | 7,200,000 kg |
| Product unit price | THB 65 per kg |
| Annual revenue | THB 468,000,000 |
| Annual raw material spend | THB 210,000,000 |
| Raw material lots received | 1,800 lots per year |
| Product lots | 2,400 lots per year |
| Quality enquiry and complaint investigations | 14 per year |
| Tracing effort per case (current) | 22 hours |
| Events equivalent to a voluntary recall | 2 per year |
| Engineer hourly rate | THB 350 per hour |
| Product cost at recall | THB 50 per kg (manufacturing cost 42 plus recall logistics and reprocessing 8) |
Annual output is 2,400 batches times 3,000 kg, giving 7,200,000 kg, and annual revenue is 7,200,000 kg times THB 65 per kg, giving THB 468,000,000. The recall cost of THB 50 per kg is set on the basis of manufacturing cost, not on the product unit price of THB 65 per kg. What a recall loses is not revenue but the manufacturing cost already put in, plus the actual extra spend that goes out on recall logistics and reprocessing.
Counting what you are losing today in three lines
Current losses are counted in three lines. Every component is written out so the arithmetic can be checked.
| Item | Basis | Annual amount |
|---|---|---|
| Over-recall | Genuinely non-conforming product lots are 5 lots per event. With no merge points in the records the scope cannot be narrowed and the recall covers 17 lots. The difference of 12 lots times 3,000 kg times 50 THB = 1,800,000. Two events a year | 3,600,000 |
| Expired raw material write-off | 0.6% of the 210,000,000 raw material spend | 1,260,000 |
| Tracing effort | 14 cases times 22 hours times 350 | 107,800 |
| Total | 4,967,800 |
Amounts are in THB. The check is 3,600,000 + 1,260,000 + 107,800 = 4,967,800.
What to look at in this table is not the size of the amounts but the composition. Over-recall at THB 3,600,000 accounts for the great majority, while tracing effort is only THB 107,800. The felt experience on the floor – half a day of digging back through Excel – is genuine, but in money it is small. The size of the pain and the size of the number do not line up, and that is what makes this area difficult.
And here is the most important number in this article. The recall scope multiplier, 17 divided by 5, is 3.4 times. A recall that should have covered 5 lots swells to 17 because the merges are not recorded. That 3.4 times is the entire reason to design the records.
The THB 3,600,000 of over-recall is 0.77% of the THB 468,000,000 annual revenue. Measured against margin the ratio is considerably larger. That one line is enough to show this is beyond what a plant manager can absorb at their own discretion.
Why does it swell to 17 lots? Because without merge point records, the scope has to be widened for reasons like these.
- With no receipt records, batches that might have used the suspect raw material lot can only be bracketed by date range
- With no heel records, you cannot rule out carryover into the batches before and after
- With no reintroduction records, you cannot rule out material reaching another product line through rework
- With no container-level shipping records, where the goods actually went can only be inferred from the stock issue sequence
Every one of those is a “cannot rule out”. The decision to err on the safe side is itself correct. The scope widens as a result of a correct decision, so the answer is not to change the decision but to put the material for ruling things out into the records.
Building the cost up by merge point
Now the investment. Rather than the common approach of decomposing cost into layers, we build it up as what gets fixed at each merge point. That makes it easier to carve out the part your own plant actually needs.
| Measure | Merge point addressed | Initial cost |
|---|---|---|
| Receipt weighing and lot label printing (2 label printers, 2 receipt terminals, software) | Merge point 1 | 380,000 |
| Charging scale integration (4 interfaces. Heels and part quantities captured as measured values) | Merge point 2 | 520,000 |
| Container labels for intermediates and rework, plus a reintroduction entry screen | Merge point 3 | 240,000 |
| Filling line print integration (2 lines. Numbering from one batch to N containers) | Merge point 4 | 460,000 |
| Genealogy database and N to M enquiry screens (trace back and trace forward) | Whole system | 780,000 |
| Reconciliation with the regulatory register (SDS versions, item master for notification scope) | Whole system | 320,000 |
| Implementation support and training (Thai and Japanese) | Whole system | 300,000 |
| Total initial cost | 3,000,000 |
The check is 380,000 + 520,000 + 240,000 + 460,000 + 780,000 + 320,000 + 300,000 = 3,000,000. Amounts are in THB.
The interesting part of this table is the split. The genealogy database is THB 780,000, only 26.0% of the total. The four merge point measures together come to 380,000 + 520,000 + 240,000 + 460,000 = THB 1,600,000, which is 53.3% of the total. In other words, more than half of this investment goes into capturing the fact of mixing as a number on the shop floor.
One conclusion follows. This is not a problem you solve by buying a database. Software that holds genealogy is available off the shelf and in the cloud, but the values fed into it – heel quantities, actual charged quantities, container IDs – do not come into existence unless you change something on the floor. Install the software alone and keep manual entry, and accuracy stays where it was while operating effort goes up.
Annual running costs are worth seeing too.
| Annual running cost | Basis | Annual amount |
|---|---|---|
| Maintenance and licences | 360,000 | |
| Labels and consumables | 96,000 | |
| Additional effort to operate the records | 480 hours per year times 350 | 168,000 |
| Total annual running cost | 624,000 |
Amounts are in THB. The check is 360,000 + 96,000 + 168,000 = 624,000.
The third line is written out rather than hidden. Additional effort to operate the records, 480 hours a year. That is not effort saved, it is effort added. Weighing and recording heels, labelling intermediates, scanning container IDs – none of that is done today, so the time is new. Per working day it is just under two hours. Whether the investment still pays back after subtracting that increase from the benefits is the correct way to frame the question.
Payback calculation – what is working is the recall scope, not the labour
Now the savings.
| Target of reduction | Current amount | After implementation | Reduction |
|---|---|---|---|
| Over-recall | 3,600,000 | 0 | 3,600,000 |
| Expired raw material write-off | 1,260,000 | 630,000 | 630,000 |
| Tracing effort | 107,800 | 14,700 (14 cases times 3 hours times 350) | 93,100 |
| Total annual benefit | 4,323,100 |
Amounts are in THB. The check is 3,600,000 + 630,000 + 93,100 = 4,323,100.

The annual net is the total benefit less running cost, 4,323,100 minus 624,000 = THB 3,699,100. Against the initial cost of THB 3,000,000, the payback period is 3,000,000 divided by 3,699,100 times 12 = 9.7 months.
Here is the real point. Look at what is inside that calculation.
83.3% of the benefit (3,600,000 divided by 4,323,100) is the reduction in over-recall. Labour saving is only 2.2%.
That fact decides how the capital request should be written. A capital request saying “half a day of digging through Excel becomes three hours” will not be approved. In money it is THB 93,100, which does not even cover the THB 624,000 of annual running cost. Anyone in finance looking at the numbers will point at exactly that.
What you should write is one line. “The recall scope goes from 3.4 times to 1.0 times.” Meaning you can now recall only the 5 lots that are genuinely non-conforming. That one line is what justifies the THB 3,600,000.
And one more thing should be stated rather than hidden. Headcount does not go down. If anything, data entry effort rises by 480 hours a year. Present this as a labour reduction investment and you will be told after go-live that the promised benefit did not appear. Write it as paying back in 9.7 months even after subtracting the added effort from the benefit. That makes the conversation after go-live much easier.
Expiry write-off is halved rather than eliminated because that is the range the two mechanisms – preferential allocation of lots close to expiry and pre-expiry notification – can realistically reach. It does not go to zero. Small quantities bought for trials, and material stranded when a customer postpones production, will always remain. Put an optimistic figure here and the credibility of the whole calculation drops.
What happens when the assumptions break – three sensitivity cases
The figure of 9.7 months assumes every premise above holds. Let us break them one at a time. The important discipline here is to move only the items the broken premise actually touches. Apply a blanket factor to everything and you cut benefits that do not depend on that factor, which changes the conclusion.
| Premise broken | Items moved | Annual net | Payback |
|---|---|---|---|
| The customer demands a wide scope and 45% of the over-recall could not be eliminated (55% was) | Over-recall reduction moved from 3,600,000 to 1,980,000. Expiry write-off and tracing effort are decided by whether the records exist, so they do not move | 2,079,100 | 17.3 months |
| Voluntary recalls happen once every three years instead of twice a year | Over-recall reduction moved from 3,600,000 to 600,000 (1,800,000 divided by 3). Nothing else moves | 699,100 | 51.5 months |
| Merging occurs only at receipt, with dedicated lines and no heels at charging | Merge point 2 measure of 520,000 removed from the investment, giving 2,480,000. Over-recall difference goes from 17 lots to 9 lots and the reduction from 12 lots to 4 lots (4 times 3,000 times 50 times 2 = 1,200,000). Nothing else moves | 1,299,100 | 22.9 months |
All the arithmetic, written out. Case one is 1,980,000 + 630,000 + 93,100 minus 624,000 = 2,079,100, and payback is 3,000,000 divided by 2,079,100 times 12 = 17.3 months. Case two is 600,000 + 630,000 + 93,100 minus 624,000 = 699,100, and payback is 3,000,000 divided by 699,100 times 12 = 51.5 months. Case three is 1,200,000 + 630,000 + 93,100 minus 624,000 = 1,299,100, and because the investment drops to 2,480,000, payback is 2,480,000 divided by 1,299,100 times 12 = 22.9 months. Amounts are in THB.
Case one is where the customer does not trust your records, or demands a wider recall scope than your own judgement would set. Even with the records in place, the recall scope is ultimately settled in negotiation with the customer. The records are a negotiating position, not a decision right. That is worth being honest about. Even so, 17.3 months still stands up as an investment decision.
Case two is a plant where voluntary recalls are genuinely rare. Replace two a year with one every three years and payback stretches to 51.5 months. Explaining this investment to that plant in terms of payback period does not work. The axis of the argument has to change. If recalls are rare but a single event would shake the business, this is a risk management investment and not something measured in payback months. The capital request needs to be written differently.
Case three is the part of this article that most deserves honesty. At a plant with dedicated lines, no heels, single raw materials and merging only at receipt, payback stretches to 22.9 months – even though the investment falls by THB 520,000. The reason is straightforward. With fewer merges, the swelling of the over-recall is smaller to begin with. A plant that gets away with 9 lots rather than 17 is losing less money in the first place.
In other words, the fewer merges a plant has, the slower the payback. Put differently, this investment is justified only at plants that have processes where things mix. It is not something to sell to a plant running dedicated lines on a single raw material. For that plant, it is more sensible to address only receipt lot labels and shipping container IDs first, and leave charging and reintroduction as they are.
Ten things to settle on paper before you order
There are things to settle internally before you request quotations. Without them, vendor quotes come back in forms you cannot compare.
| # | What to decide | What happens if it is undecided |
|---|---|---|
| 1 | Lot ID numbering rules. Digit count, whether it carries meaning, whether numbers are reused across years | The supplier lot number gets used as the key and duplicates or digit overflow force a rebuild |
| 2 | How many of the four merge points your plant has, and which ones it does not | You pay for functions you never use, or the measure you actually need is missing |
| 3 | The heel quantity from which recording starts, and how zero confirmation is captured | Thresholds differ by area and undocumented residues creep into the records |
| 4 | Whether minor ingredients and additives are in scope, and if not, on what criteria | Exception judgements vary by operator and the scope cannot be fixed after the fact |
| 5 | Numbering rules for reintroduced material and which types may go back into the process | Rework records get skipped at the operator’s discretion and the genealogy breaks |
| 6 | How container IDs are assigned, and whether disposable and reusable containers are treated separately | Every container gets the same design and implementation and operating load jump |
| 7 | What is printed on container labels, including whether the SDS version is included | Every label revision triggers additional development |
| 8 | The granularity of shipping records, whether container, pallet or shipment | You cannot get from a delivery back to a batch and scope narrowing stops working |
| 9 | The scope of reconciliation with the regulatory register, and whether notification screening is automated | Annual totals by item stay manual and threshold breaches are noticed late |
| 10 | Where legacy data is migrated from and how many years back | Migration scope grows after quotation and cost and duration become unpredictable |
Items 3 and 4 are the ones that cause the most internal argument. Both are lines drawn around how much gets recorded, and tightening them raises accuracy while adding load on the floor. These two are for the plant manager to decide, not something to consult a vendor about. Write the decisions into the specification before requesting quotations.
Item 8 also deserves attention. Shipping record granularity feeds straight into cost. Going to container level requires filling line print integration, while pallet level needs only a terminal at shipping preparation. Confirm first whether your customers actually require container-level information.
How to roll it out – a 90 day roadmap for one product line
We recommend running one product line end to end rather than going plant-wide at once. The recall scope only shrinks when all the merge points are connected, so slicing the process horizontally and doing receipt first stretches the time before any benefit appears.
| Period | What to do | Completion test |
|---|---|---|
| Day 1 to day 15 | Choose one target product line. Count its merge points on the floor and photograph the actual containers and labels | A list of merge points, plus copies of the records currently kept at each one |
| Day 16 to day 35 | Settle the ten pre-order items internally. Fix the lot ID numbering rules | Numbering rules and record scope are documented and approved by the plant manager |
| Day 36 to day 55 | Put receipt and charging weighing integration in first. Trial label printing on the floor | Heel quantities reach the records as measured values, with zero handwritten entries |
| Day 56 to day 75 | Add reintroduction entry and filling print integration. Connect container ID through to shipping | Pick one shipment and get from container ID back to manufacturing batch on screen |
| Day 76 to day 90 | Pick one past complaint case and demonstrate trace back and trace forward on the new records | The number of lots in scope can be fixed at fewer than the number recalled at the time |
That last test is the crucial one. Reproduce a past case and show that the scope can now be fixed more narrowly than it was. If you can do that, you can explain the system internally and to customers. If you can only narrow it to the same scope as before, some merge point is still under-recorded. That is the moment to decide on additional investment.
Second and subsequent product lines are horizontal rollout and take less time, but the shape of the merging can differ by line. Contract manufacturing lines in particular handle customer-supplied materials differently from purchased materials, which can require a revision of the numbering rules.
Issues specific to Thailand and ASEAN
Chemical plants operating in Thailand face a few issues that a parent plant in Japan does not.
Build the shortness of the 60 day deadline into your schedule. You have only 60 days counted from the date of manufacture or importation. Unless you have decided who does the applicability screening, who prepares the paperwork and who files it online, and by when, the deadline arrives before the work does.
Put the SDS reclassification into the project schedule. Translating the head office English version or the CLP version is not enough – classification has to be redone in line with the B.E. 2555 notification. That work takes time, so allow for it in advance when adopting new raw materials or launching new products.
In contract manufacturing, the supplied material lot may exist only in the customer’s records. With customer-supplied materials, the lot number is sometimes written only on the supply note. Unless you assign your own receipt lot ID and hold the note number as an attribute, you cannot follow a supplied material problem through your own genealogy. Ideally, agree at contract stage on a means of receiving supplied lot information electronically.
Decide the operating language on the floor first. Whether entry screens and container labels are in Thai, English or bilingual with Japanese is decided before implementation. Adding languages later means rebuilding label layouts and print software settings. Given that the SDS itself has to be written in Thai, it is safer to design the label artwork on the assumption that Thai will be required on the label as well.
Frequently asked questions
What is chemical lot management?
It means recording, at every stage from raw material receipt through charging, filling and shipping, which raw material lot became which product lot and where it was shipped, in a form that can be followed in both directions. What makes it different from component traceability is that several raw material lots merge into the same container or tank, so the genealogy is a graph rather than a tree. One product lot has N parents and one raw material lot has M children. The design focus therefore sits not on granularity but on the record of the merge – whether you can capture where things mixed.
How should chemical lot numbers be assigned?
Do not use the supplier lot number directly as your own key. Schemes and digit counts differ by company, and the same number can arrive from two different suppliers. Assign a unique ID of your own for each receipt and hold the supplier lot number as an attribute. Whether the number carries meaning such as a date or item code is an internal choice, but if it does, leave generous room in the digit count. When the number of receipt lots grows, digits overflow and the whole scheme has to be rebuilt. Intermediates and rework are numbered in the same scheme, carrying the source batch number as an attribute.
How much of the previous batch heel should be recorded?
Record it regardless of quantity, and where it is zero, record that zero was confirmed. The heel carries over every raw material lot the previous batch used, so if it is missing the genealogy will always break one batch upstream. What matters is capturing a measured value rather than an eyeballed one. Measure the residue before charging with a scale or load cell and feed that value straight into the records. Setting a threshold so that quantities below a certain level are not recorded is not recommended, because the judgement varies between operators.
How granular should the link between raw material lots and product lots be?
Raising granularity does not dissolve a merge. Record at 1 kg resolution and, if that 1 kg is a mixture of two lots, it still has two parents. What should be raised is not the fineness of the record but the types of event recorded. If receipt, charge, output and shipment events are all captured with measured quantities, the linkage falls out of a query. If any of the four is missing, no amount of granularity will do more than fill the gap with inference. Get the events in place first, and decide whether to go to container level based on customer requirements.
How much does a chemical lot management system cost?
For the model site in this article – a plant blending and filling 2,400 batches a year at an average of 3,000 kg – we put initial cost at THB 3,000,000 and annual running cost at THB 624,000. The breakdown is THB 1,600,000 for the four merge point measures, 53.3% of the total, THB 780,000 for the genealogy database at 26.0%, THB 320,000 for reconciliation with the regulatory register, and THB 300,000 for implementation support and training. More than half going into shop floor measures is close to reality, because buying the database alone produces no values to put into it. Against an annual benefit of THB 4,323,100, net of running cost at THB 3,699,100, payback is 9.7 months. Payback stretches at plants with fewer merges.
What notifications are required for a factory handling chemicals in Thailand?
If you manufacture or import a substance or mixture falling under Annex 5.6 of the hazardous substances list in a quantity exceeding 1 tonne per year, you notify the Department of Industrial Works (DIW) of the Ministry of Industry through its online system within 60 days from the date of manufacture or import. The basis is a notification of B.E. 2558 (2015), promulgated on 19 February 2015. Chemicals controlled under other annexes, such as pesticides (Annex 1) and veterinary medicines (Annex 3), are out of scope. Alongside that, GHS-compliant SDSs and labels are required under the notification of B.E. 2555 (2012), applying to single substances from 13 March 2013 and to mixtures from 13 March 2017. SDSs are prepared in Thai. Because individual applicability differs by substance, confirm the final position with the competent authority or a specialist.
Conclusion
What needs designing in chemical lot management is the merge, not the granularity. Traceability breaks at merge points rather than branch points, and there are only four of them – receipt, charging, reintroduction, and filling and shipping. The genealogy is a graph rather than a tree, with N parents for one product lot and M children for one raw material lot. Trace back is finite, but trace forward multiplies its branches at every merge.
What the records need are four event types – receipt, charge, output and shipment – plus the set of lots held in each container. With measured quantities inside them, the genealogy resolves as a query. Actual charged quantity and expiry dates are lot attributes and must not be attached to the item. The regulatory register and the production register are joined with the same key, and the SDS version is linked to the shipped lot.
In money, the model site is losing THB 4,967,800 a year, most of it the THB 3,600,000 of over-recall. Against a THB 3,000,000 investment and THB 624,000 of annual running cost, the annual benefit is THB 4,323,100, the net is THB 3,699,100 and payback is 9.7 months. But 83.3% of the benefit is the reduction in over-recall and only 2.2% is labour saving. What belongs in the capital request is not “half a day becomes three hours” but “the recall scope goes from 3.4 times to 1.0 times”. Headcount does not fall, and data entry effort rises by 480 hours a year. Write it as paying back even after subtracting that. And the fewer merges a plant has, the slower the payback. For a plant with no processes where things mix, this investment is not something we would recommend.
Even just counting how many of the four merge points your own plant has is often quicker with an outside pair of eyes. TOMAS TECH works on this kind of record design in Thai factories together with the shop floor side – weighing, labelling and print integration – so if you bring your current batch records and delivery notes, we can start from a read on where your traceability is breaking. Get in touch through our contact page.
References
- Manufacturing Production Index for April 2026 – Office of Industrial Economics (news report)
- Thailand Hazardous Substances Notification (B.E. 2558) – ChemSafetyPro
- GHS in Thailand (B.E. 2555) – CIRS Group
- Thailand published new online inventory of existing chemicals – knoell
- Thailand Initiates Review and Assessment of the Hazardous Substances Act – CIRS Group
- Regulation (EU) 2025/2439 – EUR-Lex
- Hazardous Substances Act and Regulations Issued under the Hazardous Substances Act – JETRO Thailand