Google Sheets changed my SKU barcodes to scientific notation — now Shopify can't find my products
Your 13-digit barcode now reads as 1.23457E+11 in the cell. That alone is just a display setting — but if that sheet gets exported back to CSV, the rounded value can get written out for good, and Shopify's SKU matching has no way to know the original digits ever existed. Drop your file into the free checker below to see whether a barcode column has already been affected before you upload it.
What you'll see
You paste a column of UPC or EAN barcodes — typically 12 or 13 digits — into Google Sheets, or import a CSV containing them. The cells display something like 1.23457E+11 instead of the full barcode. If you widen the column or reformat it back to a plain number, sometimes the full value reappears — but sometimes it comes back rounded, with the last few digits replaced by zeros. Later, an inventory update by SKU or barcode silently fails to match the corresponding Shopify variant, with no error from either Sheets or Shopify.
The root cause: Automatic formatting plus floating-point storage
Google Sheets applies "Automatic" number formatting to a column by default. When a pasted or imported value looks like a long numeral, Sheets both (1) chooses to display it in scientific notation for readability, and (2) stores the value as a floating-point number rather than as text. The display issue alone is cosmetic and reversible — reformatting the column back to a plain number format will usually show the correct digits, as long as the underlying value itself wasn't altered.
The deeper problem is precision. Floating-point numbers can't exactly represent every digit of a 12-13+ digit integer — there are more significant digits in the barcode than floating-point arithmetic reliably preserves. In practice this means the stored value itself, not just its on-screen display, can already be a rounded approximation of the real barcode the moment it's pasted in.
Why exporting makes it permanent
If you then export that sheet back to CSV — to re-upload to Shopify, say — Sheets writes out whatever value it currently has stored, which may be the rounded, scientific-notation-derived approximation rather than the original barcode. At that point the corruption isn't a display setting anymore; it's baked into the file. Once that CSV reaches Shopify, the SKU/barcode column in your upload no longer matches the value Shopify has stored for the existing variant, so an inventory update by SKU silently fails to match that row — no error, just a row that doesn't do anything.
How to fix it
Before pasting or importing barcode or SKU data into Sheets, select the destination column first and set Format → Number → Plain text, so incoming values are stored as text from the start and never get numeric-formatted, displayed in scientific notation, or rounded. If the damage has already happened — meaning you're not sure the current values are the real barcodes — don't try to reconstruct them from the corrupted cells; re-import the column from the original, untouched source file (your POS system, your supplier's file, or Shopify's own export) instead.