1. The template is what you want, not what the file looks like
A datastream declares a template: the canonical fields to recover, the grain (e.g. daily), and where the data sits in your matrix. The template is the invariant; the variable file is mapped onto it. Two differently-laid-out files (FR vs DE) mapped to the same template yield the same canonical fields. A template is realized one of two ways:
Either way, the result is locked as a versioned template and replayed identically on every later file — by upload or by email.
2. Placement in the matrix — planned vs actual vs extrapolated
A file only becomes useful when toorow knows where it belongs. Every file source declares a class and its coordinates (metric / dimension / period):
This placement is what lets toorow put a media plan (planned) next to your connector data (actual) and compute plan-vs-actual variance. A file with no declared class is refused rather than landing as orphan data.
3. Robust to messy, drifting files
Recognition is tolerant — it maps columns by meaning, with a confidence score, not by position or exact name. It:- ignores added columns, empty rows, line breaks, and subtotal/total rows;
- re-attaches renamed or differently-languaged columns;
- detects the header even when it is not the first row, and reads a top
label: valuemetadata block; - handles several variants in one datastream — a declared cell (e.g. a
FRmarker) or the filename becomes a market/country dimension, so France and Germany land on the same canonical fields.
4. Standardization is controlled — nothing is silently dropped
Before a template locks, a validation gate checks that every required canonical field was recovered at the right grain. If a required field is missing or a mapping is ambiguous, toorow flags it for you to confirm — you see the mapping result and the gate in the interface. You (optionally with your AI assistant) resolve it; only then does the template lock. On later files, benign drift (an added column) still lands; a required field that genuinely disappears flags for re-confirmation.File-Source Ingestion stops at standardized canonical rows. Business metrics, currency conversion, and reconciliation itself run downstream in the modeled layer — this layer’s job is to recover the right data, at the right grain, correctly placed.
5. In short
- Declare a template — pick a catalog one, save your own, or let your AI assistant build an adaptation.
- Send the file — upload it or email it to the datastream address (same result).
- toorow recognizes, reshapes to grain, validates the required fields, and places it in your matrix.
- It reconciles against your actuals — the plan and the observed sit side by side.

