Help · Importing data

Your file, your columns, and what was refused.

Upload a CSV or Excel export from your ERP, or download a starter file per entity and per ERP profile from the import page. The product proposes a mapping, you confirm it once, and every row is either written or refused with a reason and a fix. Nothing is dropped in silence.

The mapping

Confirmed once, reused for ever.

The first file of a given shape gets a proposed mapping — your column to our field — with a confidence and a reason per column. Confirm it and it is saved against the header row, then reused for every later upload of that shape and for scheduled syncs. A column you leave unmapped is ignored; a required field with no column mapped refuses every row, and says which field.

The quality score

0 to 100, and a threshold you set.

Every import produces a score from duplicates, blank required fields, wrong kinds of value, mapping errors and outliers. Below your organisation's threshold the import is quarantined: no rows are written, the data never reaches the AI layer, and the report is kept so you can see why. Above it, the accepted rows are written and the refused ones are listed.

What a refused row tells you

The reason, and the fix, beside your own cells.

What is wrongWhat the page tells you to do
Blank required fieldFill in Supplier code on this row, or map the column that holds it.
Wrong kind of valueEnter a number in Total value — for example 1250.50 — no units, no currency sign.
Duplicate rowKeep one of the rows, or change PO number so the two differ.
Column not mappedMap a column to Order date on the mapping step, then upload again.
Code not on fileImport suppliers — the template is on this page — then upload this file again.

The last row is the one people miss elsewhere. A purchase order can pass every check and still name a supplier you have not loaded; the product refuses that row rather than inventing a supplier, and the page says how many rows passed validation and could not be written, with what to import first. The first fifty refused rows are on the page; the download has every one, with the reason and the fix in two columns beside your own.

Two things that are never executed

Formulas and instructions.

A cell that begins with =, +, - or @ is stored as text and neutralised on the way out, so a spreadsheet cannot run something on the machine that opens the download. A cell that reads like an instruction to a model is stored as data and never shown to one. Both are counted on the report so you can see they were there.

Get started

Bring one month of data. Leave with your own control tower.

A demo runs on your material master, your purchase orders and your stock — not on ours. Thirty minutes, and you see your own exceptions rather than a scripted one.

Ask a question

Book a demo

Thirty minutes, on your own data. Six fields — the rest only helps us prepare.

Not binding. Tell us the size and we will say which one fits.

The demo connects to it, so this shapes the whole session.

Add context, and the demo runs on your problem rather than a scripted one

We reply within one working day.