Automatic Expiry Date Printing from Production Plans for a Consumer Goods (FMCG) Factory in Thailand
Customer: Multinational consumer goods (FMCG) manufacturer
An automatic expiry date printing system is software that reads product and production plan data from a factory's manufacturing data system (CIM), calculates the expiry date, then sends the print command to the printers on the packing line by itself. We installed this system on 6 pilot packing lines at a consumer goods factory in Thailand in 2023 and closed the project in 2024.
- Industry
- FMCG
- Year
- 2023–2024
- Scope of work
- Software that calculates expiry dates from data in the CIM system and sends print commands automatically when an operator loads a production plan. Supports Videojet 1580 and KGKJET CCS3000L printers. Delivery of 6 sets of equipment, and installation and testing of the system on 6 pilot packing lines.
Summary
- The automatic expiry date printing system reads product and production plan data from the factory's manufacturing data system (CIM), calculates the expiry date, then sends the print command by itself.
- When an operator loads a production plan, the system sends a print command over the network (TCP) to that line's Videojet 1580 or KGKJET CCS3000L printer.
- The software can only control printers that accept commands over TCP. For other printer models, how they receive commands must be checked first.
- We installed the system on all 6 pilot lines for a consumer goods factory in Thailand in 2023 and closed the project in 2024.
The on-site brief
The expiry date (Shelf Life) printed on packaging must change every time the product or production plan changes. If operators calculate the date and set it on each line's printer themselves, there is a chance of printing the wrong date or forgetting to change the setting. The factory wanted the expiry date to be calculated from data in the CIM system (Computer Integrated Manufacturing, the factory's manufacturing data system) and sent to the printers automatically.
What we did
We developed software that reads product and production plan data from the CIM system's database and calculates the expiry date. When an operator loads a production plan, the system sends a print command over the network (TCP) to that line's Videojet 1580 or KGKJET CCS3000L printer.
Results
We installed the system on all 6 pilot lines in 2023 and closed the project in 2024. Line operators load the production plan and the system sends the expiry date to the printer by itself, with no need to calculate and enter the date at the printer by hand.
How the brief came about
The brief in this case was to have the expiry date on packaging come from the same data as the production plan, instead of being calculated and entered at the printer by hand. The expiry date must change every time the product or production plan changes, and the factory prints this date on multiple packing lines. Product and production plan data already existed in the factory's CIM system (manufacturing data system).
The expiry date is information that consumers see directly. In general, if an expiry date is printed incorrectly, that product lot may have to be sorted or corrected before it leaves the factory. Work that relies on entering dates by hand is therefore a point the quality team has to check again.
What are Shelf Life and BBE?
Shelf Life is the period for which a product can be kept, counted from its production date. BBE (Best Before End, or the best before date) is the date printed on packaging to inform consumers. The system in this case calculates this date from data in the CIM system instead of calculating it by hand.
Requirements and constraints
The system had to use the data in the CIM system and the printers the factory already uses on the lines. The main requirements and constraints are as follows.
- Read product and production plan data from the database of the factory's existing CIM system
- Send commands to the Videojet 1580 and KGKJET CCS3000L printers already in use on the lines; the factory does not need to replace its printers
- The software can only control printers that accept commands over the network (TCP)
- The scope of work is 6 pilot packing lines, and every line must have a network connection from the CIM system to the printer
Why have the system calculate the expiry date from the production plan in the CIM system?
We have the system calculate the expiry date from data in the CIM system because the product and production plan data are already in this system and are the same data the factory uses for production planning. When the date comes from the same source as the production plan, operators do not have to recalculate it at the line or enter the value at each printer one by one.
We send commands to the existing printers over the network (TCP) instead of replacing them, because both printer models on the lines can accept commands over TCP. The main work is therefore connecting data to the printers, not replacing equipment on the line. The sequence of operation is as follows.
- 1
The operator loads the production plan
When production starts on a new plan, the line operator loads the production plan from the CIM system, with no need to calculate the expiry date themselves.
- 2
The system calculates the expiry date
The software calculates the expiry date (Shelf Life) of the products in that plan from data in the CIM system.
- 3
Print commands are sent to the line's printer
The system sends a print command over the network (TCP) to that line's Videojet 1580 or KGKJET CCS3000L printer.
Deliverables
What we delivered in this project is as follows.
- Software that calculates expiry dates from data in the CIM system
- Automatic print commands sent over the network (TCP) when an operator loads a production plan, supporting Videojet 1580 and KGKJET CCS3000L
- 6 sets of equipment for the pilot lines
- Installation and testing of the system on 6 pilot lines
Confirmed results from the installation
We installed the automatic expiry date printing system on all 6 pilot lines for a consumer goods factory in Thailand in 2023 and closed the project in 2024. After installation, line operators load the production plan from the CIM system and the system sends the expiry date to that line's printer by itself.
This case has no measured figures, such as the number of misprints before and after installation. We therefore report only the installed scope and the way of working confirmed by documents.
What we learned
This project offers the following principles for connecting production data to printers on packing lines.
- Data printed on packaging should come from the same source as the production plan. When the expiry date is calculated from data in the CIM system, the date on the line changes with the production plan the operator loads, without anyone having to change the setting on the printer.
- The way a printer receives commands defines the scope of work. The TCP constraint in this project determined which printer models the software could control, and the printer models in scope changed between the first and final proposals. The actual printer model on every line should therefore be confirmed before finalising the scope of work.
- Start with pilot lines that can be clearly counted. This project defined its scope as pilot lines with equipment per line, so installation and testing could be checked for completeness line by line before considering expansion to other lines.
How this approach can apply to your factory
If your factory prints expiry dates on packaging on several lines and already holds product and production plan data in a system, you can use the same approach as this case: read the data from that system, calculate the expiry date, then send print commands over the network. What needs adapting is the connection to your data system and printer models.
Reusable parts and parts that need adapting
| System part | Reusable | Needs adapting when |
|---|---|---|
| Data sources | Pulling product and production plan data from the factory's existing system | The factory keeps its production plan in another system: how the data can be pulled must be surveyed first |
| Expiry date calculation | Calculation from product and production plan data | Shelf life data in the source system is incomplete or not up to date: the data must be corrected first |
| Sending print commands | Sending commands over the network (TCP) to Videojet 1580 and KGKJET CCS3000L | The printer is a different model: check first whether it can accept commands over TCP |
| Network | Sending commands over the factory network | Some lines do not yet have a network reaching the printer: the installation points and network routes must be surveyed first |
| Initial scope | Starting from pilot lines | The number of lines differs from this case: you need to define your own pilot lines and system acceptance test criteria |
Prepare this information before we talk
Note the printer brand and model on each line, the system that holds product and production plan data, and the date format to be printed. We use this information to assess how far connection is possible and to propose a more accurate scope of work.
Technology used
Frequently Asked Questions
Which printer models does this system work with?
In this case the system sends commands to Videojet 1580 and KGKJET CCS3000L printers over the network (TCP). Other printer models can be used if they accept commands over TCP. We check how that model receives commands before confirming.
Does the factory need to have a CIM system first?
It does not have to be a CIM system, as long as the product and production plan data are in a system the data can be pulled from. This case used the CIM system the factory already had. If your factory keeps this data in another system, we need to survey first whether and how the data can be pulled to calculate the expiry date.
What do line operators still have to do?
The operator loads the production plan from the CIM system as usual. The system then calculates the expiry date and sends the print command to that line's printer by itself. The operator does not have to enter the date at the printer by hand.
Has this system actually been installed?
Yes, it has been installed. We installed the system on all 6 pilot lines in 2023 and closed the project in 2024.
What are the price and installation time?
There is no fixed price. It depends on the number of lines, the printer models and the data systems to be connected. Contact us to request a quotation and work plan after an on-site survey.



