Square Catalog Import Template Explained
Square's catalog import spreadsheet looks straightforward until you hit the Token column, or realize your pizza sizes all imported as separate items instead of one item with three variations. The format is flexible, which is exactly why it's easy to get wrong. Here's what each column actually controls and where people lose an afternoon fixing a bad import.
What is the Square catalog spreadsheet format?
Square's import is a spreadsheet you download from the Dashboard, under Items, Actions, Import. Unlike a flat item list, Square's format is built around the idea that one "item" can have multiple "variations," each its own row, sharing an Item Name but differing in size, price, or SKU. That structure is powerful once you understand it, and it's the number one source of confusion for people importing a menu for the first time.
Exporting your existing catalog before building a new import file is worth the extra step, because the export shows you exactly how Square formatted your current items, including any tokens, categories, and modifier set columns already in use.
Column by column: what the Square template controls
| Column | Purpose | Format notes |
|---|---|---|
| Token | Square's internal ID, used to match a row to an existing item on re-import. | Blank creates a new item. An existing token updates that exact item. Mixing this up is the most common cause of duplicate items. |
| Item Name | The name customers and staff see. Also the key Square uses to group variation rows. | Every row for the same item, across all its sizes, needs the identical Item Name. |
| Variation Name | Labels one specific version of the item, like Small, Large, or 12-inch. | Required as soon as an item has more than one variation. |
| SKU | Optional identifier for tracking and barcode scanning. | Keep unique per variation, not per item. |
| GTIN / Barcode | Optional, for retail-style barcode scanning. | Leave blank if you're not scanning packaged goods. |
| Price | The sell price for that specific variation. | Plain decimal, no dollar sign or comma. |
| Category | Where the item sorts for the register. | Matches an existing category by exact name, or creates a new one. |
| Reporting Category | Used for sales reports, can differ from the register category on some account setups. | Don't assume it's the same field as Category, check your export first. |
| Modifier Set columns | One column per modifier set, listing modifiers and price add-ons inside the cell. | Same modifier set name must be spelled identically across every item that shares it. |
| Enabled Locations | Which of your locations can sell this item. | An item can import successfully and still be invisible at a location it isn't enabled for. |
How do item variations actually work in the spreadsheet?
Say you're building a pizza with Small, Medium, and Large. That's three rows in the spreadsheet, each with the same Item Name, "Cheese Pizza," but a different Variation Name and a different Price. Square reads those three rows and presents them as one item with three size options at the register, exactly the way a customer expects to see it.
The mistake that trips people up: typing the item name slightly differently on one row, an extra space, a different capitalization, and Square treats it as an unrelated item instead of a third variation. The pizza ends up as two items on the register, one with two sizes and a lonely third item with just the large.
How do modifier sets get built from the import file?
Rather than requiring modifier sets to exist ahead of time the way some other POS imports do, Square's catalog template lets you define a modifier set directly inside its column, listing the modifier options and any price changes for that item. The tradeoff is that naming discipline matters even more, since Square is reading the set name fresh on every row. Use the exact same modifier set name everywhere it should apply, and it gets treated as one shared set that multiple items can use.
Common errors in the Square import format
- Blank Token on an item you meant to update. Creates a brand new duplicate item instead of updating the one already in your catalog.
- Item Name typed slightly differently across variation rows. Splits what should be one item with multiple sizes into separate items.
- Price with a currency symbol. Square expects a plain number and will either reject the row or misread the price.
- Modifier set name inconsistent across items. Creates duplicate sets instead of one shared list, and now you're maintaining toppings in two places.
- Confusing Category with Reporting Category. Items can land correctly on the register but show up wrong in sales reports, or the reverse.
- Items not enabled for every location that needs them. Especially common on multi-location accounts where the import runs fine but a specific store never gets the update.
- Reusing an old export as a new import without checking tokens. Stale tokens can quietly overwrite an item that's been changed since the export was taken.
- Wrong file format on upload. Square's importer expects a specific spreadsheet format, and saving from the wrong program can scramble special characters or drop columns.
How do you verify a Square catalog import worked?
After confirming the import, check the changes summary Square shows you, then open the live item list and look at an item with variations and one with a modifier set. Pull those items up on the actual register or the Square Point of Sale app, for every location that should carry them, and confirm the price, sizes, and modifiers all show correctly before you rely on it during service.
Or let MenuProof build the file
MenuProof reads a photo or PDF of your menu and builds a Square catalog import file for you, matching item variations and modifier sets automatically, with a preview of the parsed menu before you export anything. You still export the file and run the import yourself, MenuProof never touches your live Square account. Square support is currently in beta.
First menu is free, no card required. Packs start at $49 after that.
Build your Square catalog file freeSee the full Square menu import page or the MenuProof homepage for pricing and details.
FAQ
What is the Token column for in the Square import template?
Token is Square's internal ID for matching a spreadsheet row to an existing catalog item. Leave it blank to create a new item. Include the token from an export of your current catalog to update that specific item instead of duplicating it.
How does Square know which rows are variations of the same item?
Any rows that share the same Item Name are grouped as variations of one item, each with its own Variation Name, like Small or Large, and its own price and SKU. Forgetting to repeat the Item Name across those rows splits them into separate items instead.
How do modifier sets work in the Square catalog spreadsheet?
Each modifier set gets its own column in the template. You list the modifier names and any price add-ons directly inside the cell for each item that uses that set. Keep the set name identical across every item, since a slightly different name creates a second, separate modifier set.
Why is my imported item missing from the register at one location?
The import can succeed while the item still isn't enabled for a specific location. Check the Enabled Locations column or setting for that item and confirm it includes every location that should be selling it.
Is there a faster way to build this file?
Yes. MenuProof reads a photo or PDF of your menu and builds a Square catalog import file, including modifier sets, with a preview before you export. Square support is currently in beta. First menu is free, no card required, packs start at $49. Try it free.