Apparel and Footwear Invoices: When One Style Code Covers Every Size
A footwear distributor sends you a two-page invoice. Every row starts with the same style code, 2052020200 , and the only thing that changes from line to line is a column headed Variant Code : 37, 38, 41. In Shopify those are three sizes of one boot, each with its own stock count. To a program that matches on the code, the invoice has three lines that all point at the same thing.
Start Free Trial — 14-day free trial on Starter plan, no credit card required.
Why One Style Code Breaks Matching
Most matching starts from the code column. With a single-variant item such as a fuel pump, a hit settles it. With a boot that comes in eleven sizes, the code returns eleven variants that all carry the same style number, and nothing on the line says which one is meant. A careful matcher refuses to pick, which is the correct behavior. The cost is that every row on the invoice lands in your review queue and you choose the size by hand, row after row.
Two variations make it worse. Some suppliers print two codes, for example an item number that is unique to each colorway and a style number shared across all of them, and you cannot tell from the invoice which one you used as your Shopify SKU. Others split the variant across several columns: a width or fit marker next to the size, a color name beside the description. The information you need is on the page. It is just not in the column everyone looks at.
Read the Columns That Separate the Rows
Smart Restock treats headers like Size, Color, Colour, Colorway, Width, Fit, Length, Inseam and Variant Code as variant axes. It also recognizes the shorthand width marker that shoe suppliers print as W/C. Those values are attached to each line, and the matcher uses them to choose among the variants of the product the style code found. The size-9 line lands on your size-9 variant instead of whichever sibling came back first.
A second product code, such as a Style or Item number printed beside your main SKU column, is kept as an alternate. Because the invoice cannot tell us which of the two you used in Shopify, both are tried against your catalog.
The list of recognized headers is deliberately short and explicit. A stray column mistaken for a size would stop a line from matching at all, so a header the matcher does not recognize is simply ignored, and the line behaves exactly as it would have before. If your supplier uses an unusual heading, you can name the columns yourself in that supplier's settings, for example W/C=Width, Size , which tells the app those two columns are your variant axes and what to call them.
Watch invoice lines being matched to Shopify products, from automatic hits to the lines left for review.
065 Is 6.5: Sizes Never Agree
Even with the right column, the invoice and your store rarely write a size the same way. Two mismatches show up again and again on real supplier documents. A running-shoe brand prints half sizes as zero-padded numbers: 065 , 075 , 105 . Your Shopify variants say 6.5, 7.5 and 10.5. A kids' clothing supplier prints AL Adult where your store says adult L .
Smart Restock normalizes both sides before comparing. Case, punctuation and spacing are folded away, fractions such as 7 1/2 become 7.5, and zero-padded half sizes are read as tenths, so 065 and 6.5 are recognized as one size and 08 equals 8 . Word order in adult sizing is handled too. The rule that reads a padded size is conservative on purpose: a plain two-digit number such as 35 is left alone, because it is a European shoe size and not a 3.5.
The practical result is that the number format stops being your problem. You do not need to rename variants in Shopify to match a supplier, and you do not need to ask the supplier to change how their system prints a size.
When It Won't Guess
There are limits, and they are the safe kind. If a line does not mention an option, Smart Restock does not invent one. If two of your variants still tie after the columns are applied, for example because your catalog holds both a 10.5 and a 105 as separate sizes, the matcher steps back and leaves the line for you. A remembered supplier link works the same way: a supplier code identifies a product, so a saved link can settle which product a line belongs to but is never allowed to choose one size over another within it.
Expect to spend time in three places: styles you have not stocked before, suppliers whose size labels do not resemble yours at all (an S/M/L supplier feeding a store that sells numeric sizes), and duplicate SKUs in your own catalog. For the first, you can build the product from the invoice line. It is created as a draft, so nothing goes on sale until you publish it; see creating products from invoice lines . For the last, cleaning up the duplicates once makes every later invoice faster.
A Realistic Apparel Receiving Workflow
Upload the supplier invoice as a PDF, Excel file or CSV, or forward it by email. Check the matched count on the invoice list, then work through the review queue: unmatched lines first, then any line whose size or color looks off. Use the search box on a long invoice to jump to a style by name, SKU or barcode. When you are satisfied, post. Nothing reaches Shopify before that, and a mistake can still be undone after posting .
Posting updates quantity per variant at the location you choose, and cost on each variant using the weighted-average method by default, so a size you restock at a new price blends with what is already on the shelf. The mechanics are covered in our weighted average cost guide and the costing method comparison . If a shipment is split between a warehouse and a shop floor, see receiving into multiple locations .
Supplier quirks only need teaching once. After you confirm a match, the link is remembered for that supplier, so the next delivery of the same styles arrives mostly matched. The broader logic of barcode first, then SKU, then title, is explained in how invoice lines are matched to SKUs , and the apparel overview lives on our apparel inventory page .
What About Shopify's Own Purchase Orders?
Shopify purchase orders have improved a lot. They now create linked transfers, track partial deliveries, accept line items from a CSV, and autofill costs from earlier purchase prices. If you create the purchase order yourself, that workflow is solid. The gap is the document your supplier actually sent. Shopify cannot read a PDF or a scanned invoice, so someone still has to turn it into that CSV, and with sized stock that means one row per variant, typed by hand. Reading the invoice in the first place is the part Smart Restock automates. Our purchase order workflow guide compares the two approaches.
Let the size column do the work
Run a real footwear or apparel invoice through during the 14-day free trial and see which sizes match on their own. Nothing touches Shopify until you post.
One style code, every size
Apparel invoices, sized correctly
Turn wholesale clothing and footwear invoices into accurate Shopify stock and cost, with a review step before anything posts.