Six CSV files for profiling, cleaning and reconciling a spreadsheet — including a deliberately broken extract to practise on, and the cleaned version with every decision written down.
Version 1.0.0 · released 2026-07-28 · CC0 (public domain)
What was checked before these were published
Entirely fictional. Every company, person, product and figure is invented. No real or proprietary dataset was copied, in whole or in part.
Safe to open. These are plain-text CSVs with no macros and no binary payload. The meaningful risk for a downloadable spreadsheet is formula injection — a cell starting =, +, - or @ that executes on open. Every cell in every file is scanned for that, and the build refuses to publish if one is found.
The injection example is defused. The dirty file teaches about injection, so it contains one such cell — prefixed with an apostrophe so it cannot execute, and labelled in the file.
Generated, not hand-typed. Built by a script in our repository, so the arithmetic is computed rather than transcribed and this page cannot drift from the files.
The reconciliation actually reconciles. An automated test asserts the itemised causes sum exactly to the variance between the two extracts.
Versioned. The version and licence are written into the header of every file, so a copy separated from this page still says what it is.
Fifteen order lines carrying, on purpose, every defect the guide covers: missing values, a text quantity, an ambiguous slash date, an exact duplicate, a negative quantity, mojibake from a mis-decoded file, a line total that does not equal quantity × price, inconsistent casing, and an out-of-period date.
Load it into the Spreadsheet Dashboard or the CSV to JSON converter and see what each check catches before you read the answers.
The same extract after cleaning, with every decision written into the file header — what was corrected, what was excluded, and why. Every line total is computed as quantity × unit price rather than transcribed.
Compare it against the dirty file to see which judgement calls a cleaning pass actually involves.
Itemises every unit of variance between the two files: 1,972.50 in the source against 1,584.00 cleaned, a difference of 388.50, fully explained by five named causes.
A model for the artefact finance will ask you for. Unexplained variance is the finding, not a rounding error.
Fourteen checks across completeness, validity, consistency, uniqueness, accuracy, safety, timeliness and traceability — each with how to test it, and blank columns to record pass/fail.
Work down it before you trust a new extract. Ordered roughly by how often each one catches something.
One row per column: type, role, whether it is required, the allowed values or range, an example, the owner, and notes — filled in for the sample extract so the format is obvious.
A dictionary is what makes a dataset handover-able. Replace the rows with your own columns.
Scope, completeness, reconciliation, decisions and approval, with space for prepared-by, checked-by and approved-by.
The point of a sign-off is that someone other than the preparer confirmed the variance is explained.
How to use the pack
Download the dirty extract and open it in the Spreadsheet Dashboard. Read the Columns & schema panel before looking at any chart — profile first, judge later.
Run it through the CSV to JSON converter to see the row-level diagnostics and the formula-injection warning.
Work down the checklist and record what you find.
Compare your findings against the cleaned file and the reconciliation report.
Fill in the sign-off worksheet as if you had to hand the dataset to someone else.
Each file’s header explains the decisions behind it, so the pack stands on its own without a companion article.
Licence and usage
Released into the public domain under CC0 1.0. Use, modify and redistribute them freely, for any purpose, commercial or not, with or without attribution — in training material, documentation, test fixtures or anything else. No permission is needed and none is implied about your own data.
The figures are illustrative and must not be reused as if they described a real business.