A packaging line runs a batch of 40,000 cartons. The system issued 44,000 serial codes to cover rejects and samples. By the end of the shift, some codes were printed and passed inspection, some were rejected, and thousands were never used. The question an auditor will ask is simple: what happened to each one?
In many plants, nobody can answer that without a spreadsheet and a long afternoon. Nija, the traceability product in PIPRA One, now closes that loop on the line itself. It checks the job before a single code is printed, sends the codes to the coding machine, and reconciles every code the machine reports back.
Where the Risk Hides
Line coding usually sits between two systems that don't check each other. The business system knows the batch. The coding machine knows what it printed. The handover between them is a file, and often a person.
Missing data is found too late: A label goes to print without a licence number or an expiry date. The gap shows up at release, after the run.
Unused codes go missing: Codes are issued with a buffer. Whatever the line didn't use stays in a file on a machine, neither printed nor returned.
Rejects look like passes: If the reject list never comes back, a code that failed inspection can look as valid as one that passed.
Reports aren't checked: A report with a wrong count, or a code that was never issued to that job, is loaded without anyone noticing.
Two markets, two rulebooks: Pharma packs need regulatory data on the pack. Consumer products need GS1 codes a shopper can scan. Plants often run both on the same lines.
How Nija Closes the Loop
Nija treats every print run as a job with a beginning and an end. Codes leave Nija against that job and must all come back to it.
Checked Before It Prints
Compliance profiles: Each job follows a compliance profile, either a domestic pharma profile or the GS1 global profile. The profile lists the data every pack must carry.
Check Compliance: Before any code is issued, Nija checks that each required item has a value and that it actually reaches the machine, either in its own column of the line file or inside the QR data.
Blocked until fixed: If a licence number is missing, the job stops and says what is missing. The team fills it in, runs the check again, and only then can codes be issued.
Codes Issued to the Line
A pool of codes: Nija generates serial numbers into a pool, or takes serial numbers a customer uploads. Bad lines in an upload are kept with the reason they were rejected.
A planned buffer: Each job draws its planned quantity plus a buffer. The buffer and what happens to unused codes are set per business and can be changed on each job.
The machine's own file: Nija writes the line file in the layout each machine expects. Fields, their order and how each value is built are configured per business, not coded.
Every Code Accounted For
Validate first: The machine's batch report can be checked without loading it, so problems show before anything changes.
Passed codes become serials: Codes that printed and passed inspection are commissioned as Nija serials, ready for verification and trace.
Rejects are retired: Codes that failed inspection are decommissioned, so they can never verify as genuine.
Unused codes return: Codes the line never used go back to the pool, depending on the job's setting.
Bad reports are refused whole: A report with a code that was never issued to that job, or a count that doesn't add up, is refused completely. Nothing is half-loaded.
Short reports wait: If a report leaves codes out, the job stays open. An authorised user resolves the missing codes before the job can close.
Closing without a report: For print-only machines that don't report back, the job can be closed by the printed quantity.
One Line, Two Kinds of Code
The same line can code a medicine carton in the morning and a consumer product in the afternoon. Nija picks the right rules from the product.
Regulatory data in the code itself: For pharma packs, the QR can carry the required product and batch details as plain text. Any phone camera can read it, with no app and no network.
GS1 Digital Link for consumer goods: For other products, the QR is a GS1 Digital Link. Scanned, it opens Nija's verification page, which checks that exact pack against the manufacturer's records.
GS1 checks built in: GTINs are validated, check digits included, before a code reaches the line. Bad test data is caught in the setup, not on the shop floor.
Print-and-inspect or print-only: Machines that print, inspect and report get full reconciliation. Print-only machines are closed by quantity.
Control Built In
Admin-only changes: Only the business's administrator can change Line Coding setup or run its processes.
Everyone else can look: Other roles see print jobs, serial numbers and product data read-only. Quality and production can follow a job without being able to change it.
Operational Outcomes
1. Compliance Before Production
Missing pack data is caught at job setup, not at batch release.
No code is issued until the job's compliance profile passes.
2. A Closed Count for Every Batch
Issued codes always equal passed, rejected, sampled and unused codes. A job can't close until they do.
Reconciliation is ready the moment the report is loaded, with no spreadsheet.
3. Only Genuine Codes Verify
Rejected codes are retired, so a failed print can never pass a scan in the market.
Only codes that passed inspection become serial.
4. One Process Across Products and Machines
Pharma and consumer products run under the same job, each with its own rules.
New machine file layouts are configuration, not new code.
Conclusion
Serialisation only works if the count closes. With line coding in Nija, every code issued to a line comes back as printed, rejected or unused, against a job that was checked before it started. When an auditor asks what happened to a code, the answer is already on record.