Supplier feed cleanup for Shopify
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.
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 the sample audit below — synthetic supplier feed.
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.
| Art-Nr | NW-10021 |
| Bezeichnung | Bremsbelagsatz Vorderachse |
| Hersteller | NordBrake |
| Preis EUR | 24,90 |
| Bestand | 12 |
| Groesse/Variante | empty |
| Bild-URL | placehold.co/800x800/…jpg |
| EAN | 4055123400211 |
| Beschreibung | Bremsbelagsatz für Vorderachse, geprüfte Qualität |
| Handle | nw-10021 |
| Command | MERGE |
| Title | Bremsbelagsatz Vorderachse |
| Vendor | NordBrake |
| Variant SKU | NW-10021 |
| Variant Price | 27.14 |
| Variant Inventory Qty | 12 |
| Variant Barcode | 4055123400211 |
| Image Src | placehold.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.
Every row is checked before anything touches your store. Blocking errors are held back for your decision; warnings are fixed and named.
| Severity | Row | Article | Product | Problem |
|---|---|---|---|---|
| Blocking | 5 | NW-10022 | Bremsbelagsatz Hinterachse | Same article at two different prices$21.50 and $23.44 (8% apart) — held back, needs your decision |
| Blocking | 7 | — | Ölfilter Standard | No article numberthis row cannot be imported |
| Blocking | 16 | NW-30101 | Stoßdämpfer Hinterachse | Price is zero |
| Blocking | 17 | NW-40777 | Keilrippenriemen 6PK1010 | Image served over httpShopify requires https — picsum.photos/seed/riemen1010/… |
| Blocking | 26 | NW-80331 | Zweimassenschwungrad | Price is not a numberthe cell says 'absent' |
| Warning | 2 | NW-10021 | Bremsbelagsatz Vorderachse | Exact duplicate row (3 times)merged into one product |
| Warning | 8 | NW-10440 | Ölfilter Premium | Stock written as text'auf Anfrage', set to 0 |
| Warning | 11 | NW-20310 | Zündkerze Iridium | 2 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
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.
Matrixify import result, no rows rejected
Found by handle — no duplicates created on re-import
Second Matrixify import result
Single-variant by SKU, multi-variant matched by options
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.
The import file for the first ten products, and the report of what is broken in the data.
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.
And you keep the report.
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.
Optional, after the first 30 days.
One supplier feed set up, end to end.
| Matrixify plan | Their price | Products per file | What it covers |
|---|---|---|---|
| Demo | free | 10 | enough for the trial run — you can check my work without paying anyone |
| Basic | $20/mo | 5,000 | most catalogues fit here |
| Big | $50/mo | 50,000 | faster 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.
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.
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
One person answers, so you always know who you are talking to.
hello@dkautomation.dev — the same address answers before, during and after the work. Replies within one business day, Monday to Friday, Europe/Sofia.
Questions about the file, the report or the import are part of the price. No ticket queue and no separate support plan.
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?