Two products, one handle
A handle identifies one product. If two different products share it, their rows can be treated as the same product. Repeating a handle for the sizes of one product is normal: that is how variants are grouped.
Shopify catalog cleanup for migrations and imports
Send the CSV you got from your supplier or your old platform. You get back a file prepared for Shopify import, with unresolved decisions clearly flagged, plus your original untouched and a report of every change.
SKU-009 | City backpack | 45,00 EUR | 1,5 kg
SKU-009 | City backpack | 45.00 | 1500
Most catalog files look fine in a spreadsheet. Shopify disagrees. These are the issues that stall a migration or quietly corrupt a live store:
A handle identifies one product. If two different products share it, their rows can be treated as the same product. Repeating a handle for the sizes of one product is normal: that is how variants are grouped.
One row says "Size", the next says "Talla", the third says nothing. Inconsistent option names need a decision before import. On updates, missing option columns can replace existing variants with a default variant.
Shopify’s weight column expects a whole number of grams, without units. Incorrect weights can affect carrier-calculated shipping or fulfillment.
Shopify’s price column needs a number such as "12.95", without a currency symbol. Ambiguous amounts are flagged rather than guessed.
Trailing spaces, repeated tags, mixed separators. Fixed automatically and listed in your report, line by line. Capital letters in sizes or colours are flagged, not changed.
Every cleanup comes with a change log and a risk list. The change log records the row, the field, the old value, the new value, and the rule that produced the change. If a change looks wrong, you can trace it back to the original.
SKU-009 | City backpack | 45,00 EUR | 1,5 kg
SKU-009 | City backpack | 45,00 EUR | 1,5 kg
SKU-009 | City backpack | 45.00 | 1500
(row 11 removed: exact duplicate of row 10)
Swipe horizontally to see all columns. You can also focus the table and use the arrow keys.
| Row | Field | Before | After | Rule |
|---|---|---|---|---|
| Row 10 | Title | "City backpack " | "City backpack" | trim-whitespace |
| Row 10 | Variant Grams | "1,5 kg" | "1500" | weight-to-grams |
| Row 10 | Variant Price | "45,00 EUR" | "45.00" | price-normalize |
| Row 11 | (all fields) | duplicate of row 10 | removed | exact-duplicate |
In this example, a repeated row is removed, the title is trimmed, the price format becomes 45.00 and 1.5 kg becomes 1,500 grams. No price or product identity is chosen for the customer.
Nothing in your file is rewritten silently. A row is only removed when it matches another row in every field after the logged normalizations. If a value needs a human call, it goes on the risk list instead.
Upload the whole file or just 25 rows. The free sample covers 25 rows. You get a sample cleanup and a fixed quote based on the real state of your data, not a guess from your product count.
One price, agreed before work starts. No hourly billing, no surprise invoice because your file was worse than expected.
Your file goes through a set of validation rules, then a manual review of everything the rules flagged. You receive the cleaned CSV, the change log, and the risk list. Usual turnaround is 3 to 5 business days.
Import the file. If Shopify or you find something the cleanup got wrong, send it back and it gets fixed at no charge, within the revision rounds of your plan. Values still waiting for your decision on the risk list are not part of a round.
Each plan is priced by catalog size. A product counts once, however many variants it has; each variant is one row in the file. Prices exclude VAT where applicable. Above 1,000 products, or for unusually messy files, you get a written quote after the free sample – never a bigger invoice halfway through.
Free
25 rows, one file format.
The cleaned rows, the change log, and a fixed quote for the full job.
Request the free sampleEUR 199
Launch price, for the first 5 companies. For a first migration or a single supplier file.
from EUR 549
For full catalogs and agency projects.
Agencies: all deliverables can carry your branding. Ask about white-label terms.
No. Everything runs on the file you send. No app installs or store permissions. Send supplier product data only, without customer details.
Not without your approval. Anything that changes the meaning of your catalog goes on the risk list with an explanation. You decide, I apply.
CSV, TSV, XLSX, XLS or ODS. If your supplier sends something stranger, ask – the free sample will show whether it is workable.
That is the normal case. The free sample exists so the quote reflects your actual file, not your estimate of it.
One person. Your file goes through a validation rules engine I built and maintain, then I review every flagged row by hand. No outsourcing, no account managers.
Send me the import error. That is what the revision rounds are for, and they are included in the price.
For a small file, Excel may be enough. This service is for when you want the checks, a manual review of flagged rows, and a record of every change in one job. The free sample lets you compare the result and the fixed quote before deciding. You can use the change log to avoid the same errors in your next file.
Yes. The same rules and report format apply to every migration, and deliverables can carry your agency's branding.
ImportReady is one person: me, Gabriel. I study mathematics and computer science, and I built this service around a simple observation – catalog imports fail on the same dozen problems every time, and those problems can be checked systematically. The rules engine does the repetitive checking. I do the judgment calls. You get a file you can defend in front of a client, because every change in it has a reason attached.
The fastest way to know what your catalog needs is the free 25-row sample. You will get the cleaned rows, the change log, and a quote for the full job within two business days.
Your file is used only to produce your sample and quote. Files and reports are deleted 30 days after a project closes, or 30 days after your sample request if no project follows, or sooner on request. From the change log I keep only row numbers, field names and the rules applied – never your data. Privacy notice.