Why I Still Do the Spreadsheet Work Myself

Most catalog problems I get called about did not start in Shopify or WooCommerce. They started in a spreadsheet nobody wanted to sit with. Here is how I actually work through product data in Excel before anything hits a live store.
Mousa Batarseh branded blog graphic

I still open Excel before I open the store. That sounds backwards if you think e-commerce work starts in Shopify or WooCommerce. It does not. It starts in a sheet with SKUs down the left, a price column that does not match last month, and three versions of the same product title.

When I was cleaning catalogs at Universal Wholesale, the messy part was never the import button. The messy part was 14,000 rows that had lived in a legacy HTML catalog, a warehouse file, and someone’s working copy. If I skipped the spreadsheet pass, the B2B platform inherited every duplicate, every missing image URL, and every variant that was not actually a variant.

What I look for first

I do not start with formulas. I start by scrolling. I want to see how the file was built. Some sheets are warehouse exports. Some are buyer price lists. Some are a mix, which is how you get a column named “Color” that sometimes means color and sometimes means a pack size.

  • Duplicate SKUs, including ones that only look unique because of a trailing space.
  • Titles that describe the same item three different ways.
  • Blank image URLs, or image URLs that point at a folder instead of a file.
  • Prices in the wrong unit — case price sitting in a unit-price column.
  • Variants smashed into one cell: “S/M/L red/black” with no structure behind it.

The Excel work that actually saves the import

VLOOKUP and XLOOKUP are not impressive. They are how I keep a working SKU list tied to a second file the warehouse still uses. INDEX/MATCH when the lookup column is not on the left. Pivot tables when I need to see how many SKUs sit in a category before I promise a collection structure. Conditional formatting for blanks, duplicates, and prices that fall outside a range that makes sense for that line.

I also build a simple exception tab. Anything I cannot fix in the row goes there with a reason: missing image, bad variant, SKU collision, category not mapped. That tab is what I send back to sales or the warehouse. A giant red cell in the middle of 14,000 rows is not a handoff. A list of 37 problems with SKUs and a note is a handoff.

Why I will not skip this for a “quick” CSV import

A WooCommerce or Shopify CSV import will happily publish garbage. It will create empty variants. It will leave you with two products that share a SKU. Then you spend a week in the admin clicking through pages because the sheet work felt too slow.

I would rather spend an afternoon on catalog data cleanup in Excel than spend a month explaining to a buyer why the wholesale price on the site does not match the paper they got last Tuesday. That is the job. The store is the last step, not the first one.

A working file I can hand to someone else

I name files like 2025-07-universal-sku-master.xlsx, not finalFINAL3. The exception tab has a date. If sales adds a column, I do not merge it into the middle of the import map. I add it on the right and decide if it belongs. That is how catalog work stays repeatable when more than one person touches the sheet.

Scroll to Top