Sooner or later a retailer asks for your catalogue. Every product, both barcodes, case pack, weight, ready to load into their system. Reasonable ask, quick turnaround.

Then the afternoon goes. Rebuilding a list of your own products out of supplier threads, an old onboarding form, and a spreadsheet somebody made once and never updated.

It gets sent. Nothing breaks. And that is exactly why it keeps happening.

We have watched this on call after call, and the afternoon in the inbox is never the real problem. It is the symptom of something quieter: nobody ever decided which system names things. It was not a bad decision. It was no decision. Two issues ago we said fix your data where it is born, and gave you three checks a source number has to pass: fresh, defined, owned. This issue is the step before that one, because a number cannot be defined if the thing it describes answers to three different names. So we built the sheet that settles it, and this week we are giving it away.


SKU & UPC Master tab: one row per product. The Check column flags any barcode used twice and any barcode that is the wrong length. Get the count at the top down to zero before you send this file to anyone.

Need help with this? Contact us.


Identity comes before accuracy

Here is what makes this different from a tidy-up job.

Every report you run is an act of addition. Sales by product. Units on hand. Margin by line. All of it assumes the system knows which rows belong together. The moment the same product carries a different name in two places, that assumption quietly fails, and the arithmetic keeps working anyway. Nothing errors. Nothing turns red. You get a number that is precisely correct about something that is not true.

The order matters more than the effort. Identity first, then accuracy. Get the naming settled and your existing reports start telling the truth without anyone rebuilding them.

Who this is for

You are a founder or an ops lead somewhere between launch and roughly ten million in revenue. You sell wholesale, or you are about to. You have five to eighty products once you count sizes and seasonal variants. Your store, your accounting file, and your co-packer do not talk to each other, and you are the integration between them.

You have been asked for a UPC at least once and had to go looking for it. And if someone asked you right now whether any two of your products share a barcode, your honest answer is that you would have to check.

If that is you, this turns a scattered set of names into one reference you can send, and shows you where your systems already disagree.

What’s inside the file

A three-tab Excel workbook. Each tab has one job. If you are handing this article to an AI agent, read this section as the blueprint: it describes every part well enough to rebuild from scratch.

Read Me. The manual lives inside the file. What it does, the one idea, a five-step how-to, the two failure modes, and a prompt you can hand to an AI agent. Pink cells are where you type. You do not have to come back to this email to run it.

SKU & UPC Master. One row per product. SKU code, name, type, the individual barcode that goes on the unit a shopper buys, the case barcode that goes on the box a retailer receives, units per case, weight, status, notes. Two barcodes, because they are different numbers and retailers ask for both. Status is a dropdown: Active, Seasonal, Pending Launch, Discontinued.

Then the column that does the work. Check flags two things you cannot catch by eye. A barcode that appears on more than one product, and a barcode that is the wrong length. The worked example is five products, and three of those rows are wrong on purpose: two active products share a barcode, and one product’s barcode is a digit short. A count at the top of the tab tells you how many rows still need fixing.

Name Map. The tab that answers the question in the title. One row per SKU. The canonical name is pulled straight from the Master, never retyped, so there is exactly one place a product gets named. Next to it, what each of your systems calls that same product: your store, your accounting file, your co-packer, a retailer portal. Anything that disagrees reads MISMATCH. A blank means the product is not set up there yet, which is worth knowing but is not a mismatch. Rename the columns to match the systems you actually run, and add more for a 3PL, a distributor portal, an EDI feed.


Name Map tab: the canonical name comes from the Master. Everything else is what your systems actually say. Two products here are named inconsistently, and each one is a place a report can silently go wrong.


How to run it

  1. Open the SKU & UPC Master tab. Delete the example rows and enter your own products, one row each.
  2. Enter both barcodes for every product. The individual one is twelve digits. The case one is fourteen. If you only have one of them, leave the other blank rather than guessing.
  3. Read the Check column. Fix every duplicate barcode first, then every wrong length. Get the count at the top to zero.
  4. Set the status on each row. Discontinued products stay in the file: you will need them the next time someone asks about an old lot.
  5. Open the Name Map tab. For each SKU, copy and paste what each system calls that product. Do not type what you remember it says. The whole exercise fails if you write down the name you intended instead of the name that is there.
  6. Read the Status column. Every MISMATCH is a product two of your systems think is two products.
  7. Fix each mismatch at the source, in whichever system has it wrong. Not in this file.
  8. Keep the file where the person who answers the retailer can open it. When a name or a pack size changes, change it here first, then push it outward.

Two ways this goes wrong

You keep it somewhere nobody else can reach. A master list on one laptop is a personal note that happens to be accurate. The value only shows up when the person fielding the retailer email can open it without asking you.

You build it once and never touch it again. It goes stale the first time a pack size changes and the change gets made in the store instead of here. There is no fix for this except sequence: this file changes first, everywhere else changes after. A master list that lags its own systems is worse than none, because now people trust it.

Download it

The file is free and ungated. Take it, use it, send it to whoever needs it.

Download the SKU & UPC Master List

Three of the five example rows are wrong on purpose, so you can watch the Check column catch them before you trust it with your own products. The barcodes throughout are illustrative and use a made-up prefix. Real ones come from GS1, one per sellable unit.


Make it yours: hand it to an AI agent

You almost certainly do not have this in one place. It is sitting in supplier emails, retailer onboarding forms, packaging proofs, invoices, and a spreadsheet somebody made once. That is normal, and it is the reason this file exists.

So do not dig it all out by hand. Hand the pile to an AI agent along with the workbook and paste this in:

“I am filling in a SKU and UPC master list. My product information is scattered across supplier emails, retailer onboarding forms, packaging proofs, invoices, and old spreadsheets. I am going to share those with you. For each product, pull out the product name, the individual barcode (12 digits, on the unit a shopper buys), the case or shipper barcode (14 digits, on the box a retailer receives), units per case, and pack weight. Tell me which document each value came from, so I can check it. Where the same product is named differently in different places, list every version you found and where you found it, and do not pick a winner: I will decide which name is the real one. Then flag anything you could not find, any barcode that appears on more than one product, and any barcode that is not 12 or 14 digits.”

Two lines in there are load-bearing. Tell me which document each value came from lets you verify instead of trust. And do not pick a winner matters more than it looks: the agent will happily choose the most common spelling, which is not the same as the correct one. Deciding which name is real is your call. That decision is the deliverable.

One caution, and it is the point of this whole issue. The agent will do exactly what you tell it and nothing you forgot to. If you do not tell it that two spellings are the same supplier, it will treat them as two. Clean inputs are not a nice-to-have when you are working this way. They are the whole job.


A wrong number announces itself eventually. A number that is quietly adding up two different products will agree with you for years.


OPS INTEL

1. FDA is still tracing where recalled sprouts went, a week after the recall. Everything Sprouts alfalfa sprouts distributed between May 27 and August 21 to wholesalers and grocery stores in Minnesota and Wisconsin, with FDA working to determine whether product reached other states. (FDA outbreak investigation) 👀 The recall is the easy part. “We are working to determine if it went further” is what happens when the distribution record has to be reconstructed instead of read.

2. One imported ingredient, 26 states of downstream product. Coast Citrus Distributors recalled jalapeños from Sinaloa on August 5 after traceback tied them to a Salmonella Javiana outbreak; downstream products reached retail distribution centers in 26 states. (FDA recall notice) ↓ Your blast radius is not set by your own size. It is set by how many of your finished goods share one upstream lot, and whether you can name them.

3. Food at home fell 0.1 percent in July, and is up 2.7 percent on the year. Overall food is up 3.0 percent over twelve months. (BLS Consumer Price Index, July 2026, released August 12) ↑ Shelf prices are flattening while input costs are not. That gap gets absorbed in your margin unless you are costing at the SKU level rather than the category level.

4. Standing item, not this week’s news: the 2D barcode deadline is 16 months out. GS1’s Sunrise 2027 initiative calls for retail point of sale to read and process 2D barcodes by December 31, 2027, with brands adding a 2D barcode carrying their GTIN alongside the existing UPC. (GS1 US) 👀 Relevant to this issue for one reason: your GTIN is about to be embedded in more places than the box. A wrong one propagates further and costs more to unwind.

5. Standing item: FSMA 204 enforcement now sits at July 20, 2028. FDA extended the Food Traceability Rule compliance date by 30 months in a Federal Register notice, and Congress subsequently directed FDA not to enforce before that date. (Federal Register) 👀 The deadline moved. The two investigations at the top of this list did not wait for it.

The same problem, four orders of magnitude up

This week’s episode is with Heather Sye, who runs go-to-market at Centrum AI. They sell supply chain AI into automotive and aerospace, so her customers are the companies you would assume have all of this solved.

They do not.

She described buyers who grew by acquisition and ended up running many separate instances of the same system, each one spelling a supplier’s name differently. One vendor in the real world. Several on paper, behaving identically, none of them recognised as the same company.

Here is the industry’s standing assumption, in her words:

“The standard process would be, you have to clean your room before an AI company can come in, or else it’s bad data in, bad data out.”

Her company built around that, harmonising the data before anything clever runs on top of it. The part that transfers to a brand your size is not the software. It is the sequence. Names first, then the tooling.

Watch on Youtube

Listen on Spotify


Vantelira builds operational infrastructure for companies that make and move things. We go in, map what is actually happening, and build the system that makes the fix permanent. If something here sounds like your operation, contact us.