Supplier feed cleanup for Shopify

A supplier's CSV should not cost your team a day.

Request the free trial first. I will reply for one supplier CSV, then within 48 hours you get an audit report and a Matrixify-ready import for the first 10 products — tested in a Shopify development store.

See the import proof

The demonstration data on this page is a synthetic sample feed, not a real customer's data. The audit itself is real — the script ran on this file.

From supplier CSV to Shopify import

Preis EUR24,90
Variant Price27.14
Bestandauf Anfrage
Variant Inventory Qty0
Art-Nr, 3 duplicate rowsNW-10021
Handle, one product, MERGEnw-10021

From the sample audit below — synthetic supplier feed.

Before and after — article NW-10021

This synthetic sample was deliberately made messy: semicolon separator, German headers, comma decimals, variants packed into one cell and several rows per article. The audit shown below is the real output from running the script on that file.

26
rows in supplier feed
20
unique articles
14
ready to import
9
blocking errors
12
warnings

Supplier row, as delivered

Art-NrNW-10021
BezeichnungBremsbelagsatz Vorderachse
HerstellerNordBrake
Preis EUR24,90
Bestand12
Groesse/Varianteempty
Bild-URLBremsbelagsatz Vorderachse product imageplacehold.co/800x800/…jpg
EAN4055123400211
BeschreibungBremsbelagsatz für Vorderachse, geprüfte Qualität
Cleaned & converted

Matrixify row, ready to import

Handlenw-10021
CommandMERGE
TitleBremsbelagsatz Vorderachse
VendorNordBrake
Variant SKUNW-10021
Variant Price27.14
Variant Inventory Qty12
Variant Barcode4055123400211
Image SrcBremsbelagsatz Vorderachse product imageplacehold.co/800x800/…jpg

The highlighted rows are where the file changed. The supplier sent this article across 3 separate rows — one per image, with the product fields repeated each time; they are merged into one product (Command MERGE). The price arrives as «24,90» — comma decimal, EUR — and leaves as 27.14. The handle is built from the article number rather than the title — the supplier rewrites titles between exports, and a changed handle would create a duplicate product on the next import.

What the audit found

Every row is checked before anything touches your store. Blocking errors are held back for your decision; warnings are fixed and named.

9 blocking errors — held back for your decision 12 warnings — fixed and named 14 rows ready to import
SeverityRowArticleProductProblem
Blocking5NW-10022Bremsbelagsatz HinterachseSame article at two different prices$21.50 and $23.44 (8% apart) — held back, needs your decision
Blocking7—Ölfilter StandardNo article numberthis row cannot be imported
Blocking16NW-30101Stoßdämpfer HinterachsePrice is zero
Blocking17NW-40777Keilrippenriemen 6PK1010Image served over httpShopify requires https — picsum.photos/seed/riemen1010/…
Blocking26NW-80331ZweimassenschwungradPrice is not a numberthe cell says 'absent'
Warning2NW-10021Bremsbelagsatz VorderachseExact duplicate row (3 times)merged into one product
Warning8NW-10440Ölfilter PremiumStock written as text'auf Anfrage', set to 0
Warning11NW-20310Zündkerze Iridium2 variants, one article numberper-variant SKUs and barcodes left empty on purpose — we do not invent them

8 of 21 findings from the sample feed shown. You get the audit report either way, including the problems that are on the supplier's side.

Verified import results

Verified in a Shopify development store

The import file was not just generated — it was imported into a Shopify development store through Matrixify. Second run, after the first one surfaced an image problem we then fixed.

Found by handle means the re-import updated the same products instead of creating duplicates — the handle is built from the supplier's article number, not from the product name, which the supplier rewrites between exports.

Multi-variant products matched by options means those variants lined up even though their SKUs were deliberately left empty: the supplier gives one article number per item, so per-variant SKUs do not exist, and inventing them would break your stock records.

OK — all 15 rows

Matrixify import result, no rows rejected

10 products updated

Found by handle — no duplicates created on re-import

0 media warnings

Second Matrixify import result

Variants lined up

Single-variant by SKU, multi-variant matched by options

What happens after you write

You request a free trial

Leave your work details. I reply for one supplier file; send it as received — no cleaning or reformatting on your side. CSV, XLSX, XML or a ZIP of them, in any encoding, with column names in any language.

Within 48 hours, two things back

The import file for the first ten products, and the report of what is broken in the data.

You approve the mapping, then pay $349

You import the ten products and check them. If the mapping is right, you approve it in writing and I invoice $349; the full catalogue is processed once payment clears, and the included 30 days of monitoring start when it is delivered.

If it is not right, you pay nothing

And you keep the report.

What this costs

One flat setup price, and an optional monitoring plan after the included 30 days. The import runs through Matrixify, which is billed by them, not by me — saying it plainly so there are no surprises.

Monitoring

Optional, after the first 30 days.

$99/month
  • Feed setupcomes with the Setup plan
  • Dry run and audit reportpart of Setup
  • Every update checkedongoing, past the included 30 days
  • You are told when the supplier breaks something
  • Cancel any time — no contract
Start here

Setup

One supplier feed set up, end to end.

$349one-time
  • Feed cleaned, converted, prepared for import — up to 10,000 SKUsCSV export from your supplier: prices, stock, variants, barcodes, images
  • 48-hour delivery
  • Dry run on 10 products first — you approve the mapping
  • Audit report, including the problems on the supplier's side
  • Every update checkedfirst 30 days included
  • Monitoring after 30 dayscovered by the Monitoring plan

What it costs on your side

Matrixify planTheir priceProducts per fileWhat it covers
Demofree10enough for the trial run — you can check my work without paying anyone
Basic$20/mo5,000most catalogues fit here
Big$50/mo50,000faster for very large catalogues

The limit is per import job, not per month — a catalogue larger than 5,000 products can simply be split across several imports on the Basic plan. If you already run Matrixify, nothing changes. If you do not, the trial still costs you zero: ten products fit the free plan.

Frequently asked questions

No. CSV, XLSX, XML and ZIP archives of any of those all work, including files that open with the wrong delimiter in Excel, files saved in utf-16 by “Unicode Text”, and price lists that start with a few lines of preamble before the header row.

Column names can be in any language. The mapping is worked out from the data itself, not from a required header template, so a German Artikelnummer or a Spanish Referencia needs no renaming on your side. Umlauts and accents survive to the import file — that is checked on every run, not assumed.

One supplier export, sent as you receive it — no cleaning, no reformatting on your side. CSV is what I see most, and XLSX, XML or a ZIP of those work the same way. Prices, stock, variants, barcodes and images are covered.

Within 48 hours you get two things back: the import file for the first ten products, and the report of what is broken in the data.

You import those ten and look at them. If the mapping is right, you approve it in writing, I invoice $349, and the full catalogue is processed once payment clears. If it is not right, you pay nothing and keep the report.

Matrixify is billed by them, not by me. The Demo plan is free and covers 10 products — enough to check the work without paying anyone. Basic is $20/month for 5,000 products per file; Big is $50/month for 50,000.

The limit is per import job, not per month — a larger catalogue can be split across several imports on the Basic plan.

When a supplier gives one article number for a product with several variants, per-variant SKUs and barcodes are left empty on purpose — we do not invent them, because invented SKUs would break your stock records.

In Shopify the variants still line up, matched by options; that is verified in the development-store import above.

30 days are included in the setup. After that it is optional at $99/month: every update is checked, and you are told when the supplier breaks something.

I promise a review of one supplier CSV, an audit report and a Matrixify-ready trial import for up to 10 products. I do not promise sales, supplier-data accuracy, approval of every record by Shopify or Matrixify, or future availability of supplier images and stock.

See the full service terms.

Request the trial, then send one file

Leave your details. We will reply to request one supplier CSV and return the audit report and an import file for the first ten products within 48 hours. No charge for the trial, and no call.

Or write directly: hello@dkautomation.dev

Support

One person answers, so you always know who you are talking to.

Where to write

hello@dkautomation.dev — the same address answers before, during and after the work. Replies within one business day, Monday to Friday, Europe/Sofia.

While the feed is being set up

Questions about the file, the report or the import are part of the price. No ticket queue and no separate support plan.

If something I delivered is wrong

Send the file back and say what broke. Fixing my own mistake is not billed as new work.

Something on this page unclear, or a claim you want checked?

Request a 10-product trial

Leave your details. I will reply to request the supplier CSV; do not send credentials, payment data or customer lists.