How it works
One run, from file to store
The home page shows four steps and one screen. Here is everything that happens in between, in the order you meet it.
01
It reads the file as it arrived
A text or scanned PDF, Excel, CSV. No standard layout, no required columns. Once a supplier's layout is known, the file is read deterministically and needs no AI at all.
Every row passes fifteen checks: missing code or price, duplicate code, invalid EAN, mixed currencies, negative cost, a change above 50%, a margin above 90%, a price that reads two ways, content that looks like an instruction. Category headings and total rows are recognised and left out.
- Bath towel 70x140AL-221012,90
- Ceramic mug 350 mlKR-1181.234 could be 1.23 or 1,234. Not guessed.1.234
- Travel caseTX-905Cost dropped 72% since last time.0,45
- CATEGORY: HOMEWAREA category heading, not a product. Never became a row.no price
- =SUM(C2:C40)NV-034A spreadsheet formula where the name should be.8,20
02
It looks for your product in order, not by guessing
SKU first, then EAN, then name. If none of the three gives a confident answer, the row asks you instead of choosing for itself.
When a code sits on both a parent and a variation, the variation wins. When two candidates are equally likely, neither is chosen.
- SKUexact168
- EANexact24
- Namewith a confidence score11
- It asks youand remembers7
A manual match locks: next time the same code goes straight to the same product, without asking you again.
03
It looks at the whole file, not just row by row
A row can be perfectly fine while the file is wrong. Before showing you anything, the system compares this file with the previous one from the same supplier.
A drop in match rate, too many unmatched rows, a median price that moved sharply, two rows writing to one product, rows changing several variations at once. Told with numbers, before you approve.
- 62% of this file matched, while the previous file from the same supplier reached 91%. Something changed: check the unmatched rows before approving.
- 34 rows (16% of the file) found no product. Usually this means the supplier changed codes or file format.
- 2 products would take a price from two different rows. Only one will apply, or neither if they disagree.
04
It shows what would change, with the margin beside it
Old cost, new cost, current retail, the margin left, and the price suggested by your own rule. Colour means margin state and nothing else.
Five zones, with the ones needing your judgement always first. Accept all never sweeps up a flagged row.
Atlas Wholesale → Nordic Home Store
Needs attention (12)Ceramic mug 350ml
DEMO-103
- Cost
- 3,90→4,10+5,1%
- Retail now
- 6,50
- Margin
- 21,8%42,8%
New retail8,90LED desk lamp
DEMO-301
- Cost
- 2,60→2,95+13,5%
- Retail now
- 3,50
- Margin
- -4,5%43,7%
New retail6,50Stainless water bottle 750ml
DEMO-401
- Cost
- 42,00first seen
- Retail now
- —
- Margin
- —42,1%
New retail89,90
214 to apply · 12 need attention · 8 new products
Apply 214 changes05
The second month costs less than the first
After every import you approve, three things are stored: where the columns sit in that price list, which code maps to which of your products, and that supplier's pricing rule.
A file that was read wrong and never approved leaves no trace. Memory only learns from what you confirmed.
First import
~2 min · $0.21
Next import
4 s · $0.00
06
And then, only what you approved
The push re-reads your store before writing, stores the previous prices, writes in batches, verifies the result, and leaves undo one click away.
14 days, no card. Cancel any time.