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.

Resent file

The same file sent again, byte for byte.

stock_20260909.csv = stock_20260908.csv

Missing file

A day with no file at all.

No Hollowmere file for 14 Sep

Late file

It came, but after it was due.

Arrived 10:42, due by 07:00

Columns changed

A column renamed, added or dropped.

'status' is now 'delivery_status'

Half a file

Far fewer rows than this supplier usually sends, or far more.

290 rows · usually about 600

Unit jump

Values about 100 times their usual size, like pence instead of pounds.

typical unit_price 4,232 · usually 42.38

Blank values

A column that's suddenly mostly empty.

39% of qty_on_hand blank · usually 0%

Duplicates

The same rows sent twice in one file.

72 of 315 rows are duplicates

New value

A status or category never seen before.

delivery_status: HELD_AT_CUSTOMS

Stale dates

Dates that stopped moving forward.

26 Sep file, newest date 25 Sep

Missing products

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.

  1. 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.

  2. Scan

    I run Velraq Scan offline on the copies. Nothing connects to your systems.

  3. 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.
Today Everything here is in the free report today. Automatic daily checks, alerts and held rows come in the pilot.

File formats

What it reads.

TodayCSV, text (.txt, .tsv), Excel (.xlsx)
In the pilotJSON, XML
After your EDI translatorEDIFACT, EANCOM, TRADACOMS
Not yetPDF, 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.

Book 20 min, no pitch
Book 20 min