Skip to content
CatalogRouteCatalogRoute
Sign in
Open the tool

Square duplicate items after an import: why and how to fix

An import can add a second copy of an item you already sell in Square. Why it happens, how to find and clear the copies, and how to import without them.

You import a file to update prices, and afterwards the item library shows two Linen Tea Towels. One has last month's sales and your stock count. The other has the new price and a count of zero. Square did what the file told it to do. Somewhere in that file, a row that should have pointed at the old item didn't.

The Token ties a row to an item

Square gives every variation a Token, a label it creates itself. You can see it in the Token column of any export. When a row comes back with its Token, Square knows which variation to change. That is why Square tells you to leave the Token column exactly as it is.

Square's blank template has no Tokens, and Square has you clear them to copy items into a new account. A row without a Token is made as a new item. A supplier price list never has Tokens. If you paste its rows into the template, or build a file by hand, every one of those rows arrives without one.

Other ways a copy gets in

Square also asks that every item has its own name. Check each new row against the names in your export, and if the product is already there, change its row instead of adding one.

Sizes do the same thing. In Square, a hoodie in three sizes is one item with three variations, and the size goes in Variation Name. A price list that puts Hoodie Small, Hoodie Medium and Hoodie Large in the name column gives you three new items next to the Hoodie you already had.

A filtered export catches people as well. If you choose Items matching applied filters, Square exports only the items you are looking at. Say you export one category, notice an item is missing and add a row for it. If that item sits in another category, you now have two of it.

Find the copies Square already has

Export the whole library with All items, in Excel format, and sort by Item Name. Copies land next to each other. A name with a space at the start or a double space can sort away from its twin, so add a helper column with =LOWER(TRIM(B2)), pointed at your name column, and sort on that instead.

Sort the SKU column too. Two variations with the same SKU are usually a copy. When they really are two products, give one a new code anyway, or your stock counts and sales reports will mix them up.

Clear the copies

Decide which copy stays before you delete anything. Usually that is the older one, because it carries the sales history and most often the stock. Move anything worth keeping onto it first, such as the new price, a barcode or a photo. If the copy has stock counted against it, add that count to the item you keep.

Then remove the copy. In the item library, click the three dots next to its name and choose Delete. For a long list, tick the copies and use Archive or Delete from the bulk actions.

Import so it doesn't happen again

Start every update from a fresh export of your own library with all items in it. Change the cells you mean to change and leave the Token column alone. New products go on new rows at the bottom with the Token blank, and those should be the only rows Square creates.

For a supplier price list, the Square tool does the pairing. Load your export with the price list. The tool matches rows by SKU, then GTIN, then name, and the name match ignores capitals, punctuation and extra spaces. A close name comes up as a suggestion for you to confirm. A row that finds no match shows as New item. New items start approved, so untick any you already sell before you download.

Open the Square tool to try it with your own file.

Load the full export, because the tool can only match against what the file holds. On the Review step, a SKU or GTIN that sits on two rows of the price list shows as Blocked, and neither row goes into the file until you fix it.

The download is your own export with every Token still in place. Prices and costs change on the matched rows, and approved new items go at the end with a blank Token. When the tool groups sizes into variations and that item already exists in your export, the new sizes join it under its exact Item Name.

Related guide: Square GTIN vs SKU vs vendor code: which to match on

Sources