Auto-mapping supplier SKUs to your Shopify catalogue
You have a catalogue. Your supplier has a catalogue. Each product in yours has a SKU — "AW-SP-001." Each product in theirs has a SKU — sometimes also "AW-SP-001", sometimes "AW/SP/001", sometimes "ACME-SP-001", sometimes they just call it "Widget Small." The job of an SKU-matching layer is to bridge this gap without asking the merchant to babysit a mapping table.
Exact match first
Start with the boring thing: if the supplier's SKU string is exactly equal to a SKU on one of your Shopify products, match it. This is the simplest possible rule and it catches 70 to 80 percent of rows for well-maintained catalogues.
Do this first because it is the match you can trust the most. Everything downstream is heuristics.
Normalised match catches the rest
Trim whitespace. Drop hyphens, slashes, dots. Upper-case everything. AW-SP-001, aw sp 001, and AW/SP/001 all collapse to AWSP001. A normalised index handles most of the remaining matches without needing a human to intervene.
Reject normalised matches that collide — if two of your SKUs normalise to the same string, you need the exact form. Never guess between ambiguous matches silently.
What to do when a match does not happen
Some rows still will not match. Those need to be logged — one row per unmatched supplier SKU — so a merchant can: add an alias, nudge the supplier to align, or decide the SKU is not something they stock and never will be.
This list is short for a healthy catalogue. Maybe half a dozen new unmatched SKUs per supplier per week. It is a manageable queue.
Aliases, not mappings
A SKU alias is a one-time, additive fact: "this supplier calls it X, you call it Y." Not a column-by-column mapping. Not a spreadsheet the merchant maintains. One alias per supplier-specific edge case, stored once, applied forever.
The distinction matters. Mappings require maintenance because every new file might reveal a new rule. Aliases are add-once — once the alias is in, that specific pair matches forever.
When SKUs drift mid-stream
Suppliers sometimes re-code their entire catalogue — "AW-SP-001" becomes "ACME-WIDGET-S-001" for their new ERP. Your auto-matcher suddenly stops finding matches. The ingest log should show this as a cliff: 98% match rate yesterday, 2% today. Alert on match-rate drops.
The right response is usually a phone call to the supplier, not a panicked rebuilding of your product catalogue.
The only manual workflow is exceptions
Merchants should never be maintaining a full mapping. They should be handling exceptions: unmatched SKUs, sudden drops, ambiguous matches. That is maybe one review per week, ten minutes, one coffee.
Anything more operationally expensive than that and you are paying the integration cost you were trying to avoid.
Stockpost does this end-to-end: supplier email in, live supplier stock on your Shopify products. 14-day free trial, $39/month per store.