Example workflow E-Commerce

How a Shopify Store Can Count Shelf Stock and Update It via CSV

Scan your shelves and type what is there, merge the counts into Shopify's inventory CSV in a spreadsheet, and import. No Shopify app and no API keys involved.

This page shows how DataScan can be set up for this task. It is an illustration, not a report about a specific customer. All codes and values on it are examples.

7-Day Free Trial • iPhone, iPad & Android • Cancel Anytime
Online retailer scanning product barcodes on stock room shelves for a Shopify inventory count

The problem

Shopify only knows what you tell it. Returns that never went back on the shelf, damaged items set aside, picking mix-ups and receiving typos all move the number in your admin away from what is on the shelf. When it drifts too high, you sell stock you do not have; when it drifts too low, products show as sold out while units sit in the stockroom.

Fixing it product by product in the Shopify admin is slow, and filling Shopify's inventory CSV by hand from paper count sheets brings the typing errors back in.

Shopify can update inventory from a CSV import. What is missing is a clean list of barcode and counted quantity that you can merge into that CSV.

The setup

Single Value Scan pairs each barcode with the quantity you type. The rest happens in Shopify's own CSV export and import.

Scan mode Single Value Scan
Quantity Input Label On hand
Summarize Quantities On, so a product stored in two places is added up into one row
Barcode Types EAN-13, UPC-A and the codes on your own labels, such as Code 128
Export format CSV, sent by email, saved to Files or uploaded to your SFTP server with a tap
In Shopify Products, then Inventory, then Export, using the "All states" format

Step by step

  1. Count a section Open Single Value Scan, scan each product's barcode and type the quantity on the shelf. Count one zone at a time if your catalogue is large.
  2. Export the count Export the session as CSV and send it to yourself or save it to Files.
  3. Export Shopify's inventory CSV In the Shopify admin, export inventory for your location in the "All states" format. Keep an untouched copy: inventory imports cannot be undone.
  4. Match barcodes to inventory rows Shopify's inventory CSV is keyed by SKU. If your SKUs equal the barcodes, look them up directly. If not, export your products CSV as well and use its "Variant Barcode" and "Variant SKU" columns to translate barcode to SKU first. For 12-digit UPC codes, bring both barcode columns to 13 digits with =TEXT(A2,"0000000000000") before the lookup, so they match whichever phone scanned them.
  5. Fill "On hand (new)" Put the counted quantity into the "On hand (new)" column with XLOOKUP or VLOOKUP. Leave "On hand (current)" as exported.
  6. Import and check rejected rows Import the file in the Inventory screen. Shopify compares "On hand (current)" with the store and rejects rows where stock changed since your export, and emails you the details. Recount those products and import again.

What you get out

With Summarize Quantities on, the DataScan export has one row per product:

Column Example value What it holds
Barcode 0850012345678 The product barcode as scanned
Total Quantity 7.0 All quantities counted for this barcode, added up
Scan Count 1 How many times the barcode was scanned
First Scan 2026-05-04 09:10 When the product was first counted
Last Scan 2026-05-04 09:10 When it was last counted

The Total Quantity values are what you copy into Shopify's "On hand (new)" column for each product you counted.

Fits well if…

  • You sell through Shopify and want the storefront to match the shelf.
  • Your products carry barcodes that are stored in Shopify, as SKU or as Variant Barcode.
  • You are comfortable with XLOOKUP or VLOOKUP in a spreadsheet.
  • You prefer a file-based routine to installing a Shopify app.

Count One Shelf and Run a Test Import

Count a handful of products, merge them into Shopify's inventory CSV and import. The free trial includes every feature.

7-Day Free Trial • iPhone, iPad & Android • Cancel Anytime