Square GTIN vs SKU vs vendor code: which to match on
Square keeps a SKU, a GTIN and a vendor code on each variation. Who sets each one, and which to use when you match a supplier price list.
A supplier price list usually has one or two codes per product. Your Square catalog can hold three: SKU, GTIN and vendor code. In a spreadsheet they all look like a column of numbers. They come from different people, though, and only some of them will line up with the supplier's file.
The SKU is your own code
Square describes a SKU as an internal number you assign, so you can find the product in your point of sale and your stock. You can make it up, and Square can generate one for every variation that has none. Some shops copy the supplier's item numbers into the SKU. Others use a scheme of their own, and then the supplier has never seen those codes.
The GTIN comes from the manufacturer
The GTIN is the number under the barcode. In most shops it is a 12 digit UPC or a 13 digit EAN. The manufacturer sets it, which is why Square can generate SKUs but not GTINs. Square calls it the number that identifies a product through the whole supply chain, and it asks for a different GTIN on each variation.
The vendor code is your supplier's code
The vendor code is the number your supplier uses for the product, the one you would write on an order to them. Square keeps it on each variation next to the default vendor, and you can add it when you build a purchase order.
Match on GTIN when both files have one
Neither you nor the supplier picked the barcode, so it is the safest code to match on. It stays the same when you change your SKU scheme, and when you switch to another distributor for the same product. If most of your Square items have a GTIN and the price list has a barcode column, match on that.
Square's own purchase order import leans the same way. It asks whether to identify items by SKU, GTIN or item name, and it recommends SKU or GTIN. Each code has to match exactly one item or variation.
SKU works when your SKUs are the supplier's numbers
If you built your SKUs from the supplier's item numbers, SKU matches as well as a barcode. It also covers products with no barcode, such as things the supplier packs itself. If your SKUs are your own, the supplier's codes will find nothing, or worse, a short number like 1001 can land on one of your products by chance.
How the Square tool matches
The tool tries SKU first, then GTIN, then the name, with capitals, punctuation and extra spaces ignored. Each pass only looks at rows the earlier ones left, so a SKU that finds nothing hands the row on to the GTIN. SKUs are compared without regard to capital letters or extra spaces. Once every exact SKU match is done, a second SKU pass ignores leading zeros. GTINs are compared by their digits alone, so a dash or a lost leading zero does not stop a match, and a 12 digit UPC in Square finds the same code written as a 13 digit EAN.
Check what the Map step picked for each column. A column named Item code or Product code often gets SKU as its guess. If that column holds the supplier's numbers and your SKUs are your own, set it to Vendor code instead. The tool does not match on vendor code, so those numbers can't pull a row onto one of your products by accident.
Open the Square tool to try it with your own file.
One code on two products
If two variations in Square share a SKU or a GTIN, a supplier row can pair with either one. Give each size its own code before you trust a match on it.
Codes also break on the way into a file. A price list opened in Excel can lose the leading zeros from its SKUs. The tool still pairs 417 with your 00417 once every exact SKU match is done, but a file you import into Square yourself would carry the short code.
Related guide: Leading zeros dropped from SKUs and UPCs