Free pre-Black Friday check Today
Find out what your suppliers got wrong in the last few months.
Send copies of a few months of files from your top 5 suppliers, ideally 25 or more each. Velraq Scan checks each file against that supplier's own history and lists the ones that loaded fine but were wrong. Report within 48 hours, free, before Black Friday on 27 Nov.
$ python velraq_scan.py sample_files velraq scan 0.2 sample_files · 89 files · 3 suppliers · 1–30 Sep 2026 Brightway Prices Data OTIF 90% on time 97% · in full 97% · correct 97% WATCH 11 Sep Medium File arrived late 18 Sep High Prices in pence, not pounds 24 Sep Medium 57 products missing from the file Hollowmere Data OTIF 83% on time 97% · in full 93% · correct 87% NEEDS ATTENTION 9 Sep High Yesterday's file, sent again 14 Sep High File never arrived 16 Sep Medium Blank values in qty_on_hand 22 Sep High Half a file that looks complete 26 Sep Medium Dates didn't move Larkhaul Dispatch Data OTIF 90% on time 100% · in full 97% · correct 93% WATCH 12 Sep High Column 'status' looks renamed to 'delivery_status' 20 Sep Low New value in delivery_status 27 Sep Medium The same rows sent twice 11 problems found. A schema check alone would have caught 1.
The scan run on 30 days of sample files from 3 fictional suppliers.
What it checks
The problems a schema check lets through.
Each check compares a file with that supplier's own past files. Nobody writes rules per supplier.
The same file sent again, byte for byte.
stock_20260909.csv = stock_20260908.csv
A day with no file at all.
No Hollowmere file for 14 Sep
It came, but after it was due.
Arrived 10:42, due by 07:00
A column renamed, added or dropped.
'status' is now 'delivery_status'
Far fewer rows than this supplier usually sends, or far more.
290 rows · usually about 600
Values about 100 times their usual size, like pence instead of pounds.
typical unit_price 4,232 · usually 42.38
A column that's suddenly mostly empty.
39% of qty_on_hand blank · usually 0%
The same rows sent twice in one file.
72 of 315 rows are duplicates
A status or category never seen before.
delivery_status: HELD_AT_CUSTOMS
Dates that stopped moving forward.
26 Sep file, newest date 25 Sep
Products or warehouses that are usually in the file, and aren't.
57 of the usual 400 SKUs missing
Examples from the sample data. The suppliers are fictional.
New in the free check
Price files multiplied by mistake.
VAT added twice, a currency conversion, a doubled column: every price still looks like a price. The free check now runs Velraq's price checks on your files too, and when a whole file moved by one factor, it says whether that looks like a mistake or a genuine supplier price change.
95-96 in 100
caught
Price files multiplied by mistake (x1.2 to x2), on 13 months of a UK online retailer's real sales files with errors injected by us. About 3 false alarms per 100 clean files.
From file 6
of each supplier
On ONS shop prices (2012 to 2014) arranged as monthly supplier files, 4,258 of 4,260 files with every price x1.2 were held among a supplier's 6th to 20th files. About 7 in 100 good files were held in that period too.
85% and 96%
told apart
Injected scaling errors labelled mistakes, and simulated price rises re-rounded to price points labelled price changes. A pointer, not proof.
Tests on real public data with errors we injected, each scored once under rules fixed in advance. Not yet run on live supplier files. More on the tests.
ONS price quotes: Office for National Statistics. Contains public sector information licensed under the Open Government Licence v3.0.
How it works
3 steps, nothing to install.
Send
Email copies of a few months of files from up to 5 suppliers, ideally 25 or more each. CSV or Excel, original file names. Redacted is fine: swap names, keep prices and stock as they are.
Scan
I run Velraq Scan offline on the copies. Nothing connects to your systems.
Read
You get the report within 48 hours, plus a shareable version. Your files are deleted within 7 days.
What you get
A report you can take to your suppliers.
- Data OTIF per supplier: files on time, in full and correct, out of files expected.
- A day-by-day grid of every supplier's files.
- Each problem with its evidence and a ready-to-send note to the supplier.
- Every file the price checks would have held, with the reason in plain words, e.g. "This supplier's prices have all moved by the same factor", and how many are 2 times their last price.
- A one-page note per supplier to forward to them. See a sample.
- A shareable version with SKUs and values hidden.
- "This is fine" marks. Mark anything that's fine, export the marks, and the next run leaves it out.
File formats
What it reads.
| Today | CSV, text (.txt, .tsv), Excel (.xlsx) |
|---|---|
| In the pilot | JSON, XML |
| After your EDI translator | EDIFACT, EANCOM, TRADACOMS |
| Not yet | PDF, old .xls |
Privacy
How your files are handled.
Copies only.
Nothing connects to your systems. Redacted files are fine (swap names, keep prices and stock as they are), and I'm happy to sign your NDA.
Scanned offline.
No uploads to any service. The report loads nothing from the internet.
Deleted after.
Your files are deleted within 7 days of your report. Privacy notice.
Before Black Friday, 27 Nov
Send me a few months of your top 5 suppliers' files.
Ideally 25 or more files per supplier. Redacted is fine. You get the report within 48 hours, free, with a one-page note per supplier you can forward to them.
For engineers
For engineers: what it learns
For each supplier, the scan builds a picture of normal from that supplier's own recent files: the usual row count, each column's typical values and how often it's blank, the values a status column takes, the products and warehouses that usually appear, and when the file usually arrives.
A file is flagged when it falls well outside that supplier's normal, or matches a known failure pattern for stock, price and product files. The price checks start on a supplier's 6th file and are at full strength from about the 21st, so a few months of files per supplier is best.
Limits of v0.3: CSV and Excel (.xlsx, first sheet, one header row) only. Runs on a folder of copies, not yet on live feeds. On time needs file times that are real arrival times: when most files share the same time (copied or unzipped together), on time is marked unknown.
Talking to 10 data & ops people in UK retail, ecommerce and logistics.
20 minutes. No pitch.