Do not confuse a retailer SKU with a GTIN
Keep a store's internal product code in its own column and avoid merging food records just because their SKU text matches.
A grocery page may display a SKU, an item number and barcode digits. Saving the first available number under a column called product code can hide a meaningful difference: a retailer's internal reference is not automatically the food's global trade-item identifier.
Label the identifier's role and owner
GS1 US product-field definitions describes a SKU as an internal product identifier for a stock keeping unit. Separately, GS1's GTIN explanation describes the global product identifier and its familiar UPC and EAN formats. A code's appearance alone does not establish which role it serves.
In a shopping notebook, keep the retailer name, displayed field label and copied value together. If a page says item number without defining it, preserve that wording and mark the identifier type unknown. Do not promote it to GTIN because it happens to contain twelve digits.
Try a three-row collision exercise
The following stores, products and codes are invented. The repeated GTIN is an illustrative string, not a verified live product. Assume the first two package observations have separately established the same plain 125 g yogurt:
| Retailer | Internal SKU | Food record | Observed GTIN |
|---|---|---|---|
| Store A | 00042 | Plain yogurt, 125 g | 012345678905 |
| Store B | YOG-P125 | The same yogurt pack | 012345678905 |
| Store B | 00042 | Sliced bread | Not supplied |
A match on SKU text alone would incorrectly join Store A's yogurt to Store B's bread. Requiring the retailer context prevents that particular error. Meanwhile, the yogurt can have different internal references at the two stores even when the same trade-item identifier is observed.
Keep missing identity information visible
The bread row needs no invented GTIN. Leave it unavailable until the package or another matched source supplies it. Adding leading zeroes to 00042 would produce a longer string, not evidence of a valid assignment or the missing product identity.
Before merging retailer records, compare the actual package variant, market, quantity and full identifier. A retailer's listing may describe a bundle or a different sale unit. Do not assume that every retailer's database has a permanent one-to-one relationship between a SKU and a GTIN.
Save identifier columns as text and retain dated page or package references. If a retailer later changes its internal code, preserve the previous mapping rather than rewriting old observations without explanation. The purpose is a readable evidence trail, not a reconstruction of the store's inventory system.
Once the exact food is identified, use Ingredi AI for everyday label reading via the official Apple download page or official Google Play page. Verify captured fields against the package. These links do not promise retailer-SKU lookup, inventory integration or automatic cross-store matching.