Product

A validation layer that sits before the import, not after it.

Five capabilities, each of which exists because a real supplier file broke something in a way nothing reported. Each page says what it does, what it refuses to do, and where the limit is.

Where these sit in the pipeline

The five pages above are stages of one process, not five products bolted together. Each consumes the output of the one before it, and nothing downstream is permitted to invent what an upstream stage could not establish — which is why the validator can name a blocker and the enrichment stage cannot name a gemstone.

7 of 9 stages are built. The rest of that sentence is on the pipeline page, including the two that are not, and why one of them is blocked on evidence rather than on time.

Walk the whole pipeline, stage by stage

The catalog pipeline and what is builtA flow of 9 stages, each feeding the next. 1. Read the file as it actually is — Built. 2. Fingerprint the supplier — Built. 3. Agree what each column means — Built. 4. Group flat rows into products and variants — Not built yet. 5. Check it against the target grammar — Built. 6. Fill the gaps, from the file only — Built. 7. Record where every value came from — Built. 8. Show you every change before it counts — Built. 9. Write the import file, with the receipts — Partly built.1Read the file as it actually ispackages/ingestBuilt2Fingerprint the supplierpackages/mapBuilt3Agree what each column meanspackages/mapBuilt4Group flat rows into products and variantsno implementationNot built yet5Check it against the target grammarpackages/validateBuilt6Fill the gaps, from the file onlypackages/llmBuilt7Record where every value came frompackages/llmBuilt8Show you every change before it countspackages/preflightBuilt9Write the import file, with the receiptspackages/exportPartly built
The catalog pipeline, stage by stage. A dashed outline is a stage we have not built, and it is drawn from the same list the rest of this page reads, so it cannot flatter us by going stale.

What this is not

Naming the boundary is cheaper than a support thread, and a product that will not say what it is not is asking you to find out.

Not a store app
Nothing installs into your store and nothing asks for a permission. The output is a file you upload yourself, when you are ready, having seen every change first.
Not a PIM
We do not want to hold your catalogue. This runs on the file in front of you and keeps the mapping, not the data.
Not a description generator
It writes fields when the file supports it and abstains when it does not. If generated copy is the whole of what you need, several products do it more cheaply and we would rather say so.
Not for a hundred products
Below roughly that, a chat window genuinely will do this job, today. This is built for the size where that structurally stops working.

The validation half is free, and it is the whole demo.

Drop the supplier file you trust least. No account, and the file is deleted in the same request that reads it.

Check a file free