Your weekly CRM export has worked perfectly for six months. This week, someone added a new column, renamed two existing columns, and removed one that your reporting system depended on. Your automated import ran without errors — it just populated the wrong fields with the wrong data. You won't notice until the reports look wrong next week.
Schema drift — changes in the structure of data files over time — is one of the most common causes of silent import failures. Here's how to detect and manage it.
What Schema Changes Actually Happen
New columns added: The export now includes columns that weren't there before. If your import is set to match columns by name, new columns are typically ignored. If it matches by position, everything after the new column is shifted.
Columns removed: A column your system depended on no longer exists in the export. The import runs but that field is now null for all records.
Columns renamed: "Email" becomes "Email Address". "company" becomes "Company Name". Your field mapping no longer matches.
Sohovi profiles your datasets for quality issues in minutes — see what's broken before it breaks your pipeline — try Sohovi free.
Column order changed: For position-based imports, even a subtle reordering can put data in completely wrong fields.
Data type changed: A column that previously contained integers now contains text. Calculations break.
How to Detect Schema Changes
Compare column counts and names: Before every import, verify the column count and column names against the expected schema. A simple comparison with the previous import's headers catches most changes.
Header hash comparison: Store a hash (or just a concatenated string) of the column names in order. Compare this hash for each new file. Any change triggers a review.
Profile and compare: Run a profile on each new file and compare completeness rates and column profiles to the previous file. A column that drops from 95% complete to 0% in one period has likely been renamed or removed.
Sohovi profiles every column in your dataset for completeness and flags the exact rows where values are missing — free to try.
Automated column name matching: Build your import process to match columns by name rather than position. This is less fragile to column reordering, though it still fails on renames.
Building Schema Change Detection Into Your Process
Create a "schema snapshot" of each file you import — the list of column names, their data types, and their completeness rates. Compare each new import against the previous snapshot. Any difference triggers a review before the import runs.
This sounds complex, but it's often as simple as a saved spreadsheet with expected column names and a manual comparison before each import.
Sohovi gives you a full quality report on any spreadsheet in seconds — upload your file and see exactly what needs fixing.
Sohovi's profile output shows column names, types, and completeness rates — making it easy to build a comparison habit into your import process. Catching schema changes before import prevents the most frustrating class of data quality failures: the ones that don't produce errors, just wrong data.
