Technical Blog

Barcodes and SKU Structure for a Polyphosphate Product Range

The short answer: separate product identity from logistics data, then assign both consistently

If you are building or cleaning up a polyphosphate product range — siliphos-type crystal, granular polyphosphate media, or similar water-treatment phosphate glasses — the reliable approach is to define one fixed set of product attributes first, then map those attributes onto two distinct identifier layers: a commercial identifier (SKU and GTIN) and a data carrier layer (barcode symbology plus batch, date, and quantity data). Problems such as duplicate SKUs, unscannable cases, and mismatched pallet labels almost always come from deciding on numbers before deciding on attributes.

This article is written for distributors, importers, private-label buyers, and procurement or supply-chain staff who have to make a polyphosphate range work across warehouses, EDI systems, and retail or industrial scanning environments. It explains how to structure SKUs and barcodes so that a 25 kg pail, a 10 kg carton, and a 1,000 kg bulk bag of the same material never collide — and so that a genuinely different material never hides behind a reused code.

Start with the attribute model, not the number

An SKU is a consequence of product attributes. If the attribute list is incomplete, the SKU list will be wrong in ways that only appear later, usually when a customer’s ERP rejects an ASN or when a warehouse picks the wrong package size.

For a polyphosphate range, the attributes that genuinely change the physical item or its regulatory handling are usually the following.

Attribute Why it forces a new identifier
Product family and chemistry Siliphos-type crystal, granular polyphosphate, and other phosphate glasses are not interchangeable. Buyers must be able to distinguish them from the code alone.
Physical form Crystal, granular, spherical, or powder changes dosing behaviour, feeding equipment, and sometimes dust control. Different form, different item.
Grade or specification Technical grade and food-grade designations are different claims with different documentation. Do not treat them as the same item with a note.
Net weight or fill Any change in declared net content requires its own GTIN. A 20 kg and a 25 kg pail cannot share one.
Packaging type A pail, a fibre drum, a PE bag in a carton, and a bulk bag behave differently in handling and scanning.
Market or labelling variant Language, legal labelling, and destination-market requirements can make two physically similar packs commercially distinct.

Attributes that do not belong in the SKU include customer name, order type, price list, warehouse location, or promotional status. Those belong to the order, the price file, or the warehouse system. Embedding them in the item code creates a code explosion and makes the range impossible to maintain.

Designing the human-readable SKU

A workable SKU string is short, stable, and structured in fixed positions. Ten to fourteen characters is usually enough. The full attribute set should live in the ERP record, not inside the string itself.

An illustrative pattern — not a specification, just a template you can adapt — might look like this:

PP-CR-FG-25-PL

  • PP — product family (polyphosphate range)
  • CR — physical form (crystal)
  • FG — specification flag, used only where the grade claim is verified and documented
  • 25 — declared net weight in kilograms
  • PL — packaging type (pail)

Two rules keep this pattern usable over time:

  1. Fixed width per segment. If weights can reach three digits (for example, 1,000 kg bulk bags), reserve three characters from the start. Variable-width segments break sorting and automated parsing.
  2. Never recycle a retired SKU. Once a code has shipped, it carries history. Reassign it to a different formulation and you will eventually ship against a customer’s old specification sheet.

Mapping packaging levels to GTINs and barcode symbologies

The SKU identifies the item internally. The GTIN identifies it globally at each packaging level. These are different things, and one consumer unit, one case, and one pallet normally each need their own GTIN if they are scanned independently.

Packaging level Typical identifier Common symbol Notes
Consumer or smallest saleable unit GTIN-13 or GTIN-12 EAN-13 / UPC-A Only needed where the unit is scanned at a retail or endpoint. Many industrial polyphosphate packs are not individually scanned.
Case, carton, or pail GTIN-14 ITF-14, or GS1-128 where extra data is required ITF-14 tolerates rougher corrugate surfaces; GS1-128 is chosen when batch or dates must travel with the case.
Pallet or logistic unit SSCC GS1-128 pallet label The SSCC identifies the pallet, not the product. It changes every time a pallet is built.
Small or curved surfaces GTIN plus data GS1 DataMatrix Useful where a linear symbol will not fit or where batch and expiry must be machine-read.

GTINs must be licensed through the national GS1 member organisation in the market where you sell; they are not numbers you can invent. Internal codes with self-assigned prefixes are acceptable for purely internal tracking, but they will not be recognised by a customer’s or retailer’s scanning system.

Check digits are not optional

GTIN-13, GTIN-14, and SSCC values all end in a modulo-10 check digit calculated from the preceding digits. A code with a wrong check digit will fail at the scanner, and the failure often appears only at a customer’s receiving dock. Build the check-digit calculation into whatever system generates your codes rather than typing them by hand.

Print quality matters as much as the number. Symbol size, quiet zones, contrast, and placement all affect whether a symbol reads on the first attempt. Where labels are applied to curved pails or rough fibre drums, verify a printed sample with a verifier rather than assuming it will scan.

Batch, lot, and expiry belong in a separate data layer

A frequent structural error is trying to encode batch numbers into the SKU. Don’t. The SKU describes what the product is; the batch describes which production run it came from. They change at completely different frequencies.

In a GS1-128 or GS1 DataMatrix label, batch and date information is carried by Application Identifiers alongside the GTIN — for example, AI 01 for the GTIN, AI 10 for the batch or lot, AI 17 for the expiry date, and AI 00 for an SSCC. This keeps the item identity stable while allowing full traceability, which is what most industrial buyers and quality auditors actually want.

If a supplier cannot provide batch-level data on the case or pallet, that is a legitimate procurement question, not an administrative detail.

Where polyphosphate products need extra care

Water-treatment phosphate materials have a few characteristics that interact with packaging and coding decisions:

  • Moisture sensitivity and caking. Inner packaging affects how well the product keeps. If you change from a sealed inner liner to an unlined drum, that is arguably a different item for customer approval purposes even if the chemistry is unchanged.
  • Bulk versus packaged supply. A bulk bag or bulk tanker delivery needs a logistic identifier and delivery documentation, not a retail-style GTIN on a bag.
  • Grade claims. A “food grade” description does not by itself establish that a product is suitable for drinking-water contact. Drinking-water suitability depends on the exact product, the application conditions, and the destination market’s rules, and it must be confirmed against product-specific documentation. Do not let a barcode field or SKU segment imply a regulatory status that has not been verified.
  • Dosing equipment interfaces. Where a product is loaded into a feeder or cartridge system, the packaging and particle form matter as much as the chemistry. Keep those attributes visible in the item record so service teams are not guessing from a short code.

Distinguish clearly between what a polyphosphate material does and what it does not do. Phosphate-based water-treatment products are generally used for scale inhibition and, in some formulations, corrosion control — not for softening (ion exchange), not for removing existing scale deposits, not for filtration, and not for disinfection. Barcode and SKU systems do not change this, but product descriptions attached to those codes often blur the terms, which creates disputes later.

Five mistakes that generate duplicate or unusable SKUs

  1. One SKU per package size change without a new GTIN. The internal SKU changes but the printed barcode does not, so the warehouse receives the wrong item.
  2. Customer-specific SKUs for identical products. Use customer-specific GTINs or order data instead of creating a new internal item for every account.
  3. Market variants merged into one code. Different labelling or language requirements usually mean a different GTIN, even when the contents are the same.
  4. Descriptive-only codes. Free-text product names with no structure cannot be sorted, filtered, or validated, and they break the moment a new form or weight is added.
  5. No change-control rule. Without a written rule stating which attribute changes force a new SKU and GTIN, two people will make two different decisions about the same product.

Launch checklist for a new polyphosphate item

  • Confirm the exact product family, physical form, and specification, and confirm that any grade claim is backed by documentation.
  • Confirm declared net weight and packaging type, including the inner liner.
  • Confirm which packaging levels will actually be scanned by the customer.
  • Assign a GTIN per level through the appropriate GS1 member organisation, with correct check digits.
  • Select symbology per level and verify printed samples for scan reliability.
  • Define how batch, production date, and expiry date will be captured on case and pallet labels.
  • Load full attributes into the ERP so the short SKU is not doing all the work.
  • Publish the mapping to distributors and, where required, to EDI partners before the first shipment.

Frequently asked questions

Can two package sizes of the same polyphosphate crystal share one GTIN?

No. Any change in declared net content creates a different trade item and requires its own GTIN. Warehouses, retailers, and automated receiving systems rely on that distinction.

Do I need a barcode on the inner bag as well as the outer case?

Only if the inner unit is scanned independently somewhere in the chain. Many industrial polyphosphate packs are scanned only at case or pallet level. Decide based on the receiving and picking processes of your actual customers rather than adding symbols by default.

Should the batch number be part of the SKU?

No. Batch and lot data change with every production run and belong in the data carrier layer — typically Application Identifier 10 in a GS1-128 or DataMatrix label — not in the item code or the GTIN.

How do we handle a private-label product that is chemically identical to our standard item?

Treat it as a separate trade item with its own GTIN if the labelling, brand, or pack differs, even when the material is the same. The internal SKU can share a family prefix, but the GTIN must be distinct.

What has to be confirmed before we publish the code structure to customers?

The destination market’s labelling and identifier requirements, the customer’s scanning capabilities, and whether GS1-128 data such as batch and expiry will be required on cases and pallets. Confirm these with the receiving party before printing.

Send the details that determine the structure

If you are specifying barcodes and SKUs for a polyphosphate range, the useful information to send is: the product family and physical form (for example, siliphos-type crystal or granular media), the specifications and any grade documentation you require, the packaging types and declared net weights in your range, the packaging levels that will be scanned, the destination market, and any customer or retailer labelling requirements you must meet. Share those and the coding structure can be worked out against your actual range rather than a template.

Contact Us

Contact us to learn more about our industry leading capabilities.

The form was sent successfully!

We will contact you within 1 working day, please pay attention to the email with the suffix  “@envochemical.com”. 

Contact us to start a great collaboration

We are here to help you achieve your business goals. Please leave your details below and our sales director will contact you to arrange your product requirements.