Clean the CSV. Keep the meaning.
Whitespace and duplicates are easy to spot. An identifier losing its first zero is harder. Start with the decisions that protect the meaning of your records.
Open the local workspace →1. Import without silently changing identifiers
CSV files contain text, not a complete spreadsheet type system. A code such as 001234 may be an identifier, not a number. Migrate keeps imported cell values as strings so it can preserve that distinction and long decimal text. Type labels in the preview describe patterns; they do not automatically convert cells.
Use UTF-8 CSV. Commas, semicolons, tabs and pipes can be detected as separators. Check the displayed headers and the first records. A wrong delimiter or an incorrect header choice can make a valid file look like a single column. Use the header controls to correct the interpretation before applying a recipe.
2. Choose what “duplicate” means
Exact-row matching compares every current cell. Selected-column matching compares only the keys you choose. Two customers with the same name are not necessarily the same customer, and two invoice lines may legitimately share an invoice number. Choose keys that match the record definition instead of assuming a repeated name should disappear.
Trim whitespace first if spaces should not distinguish the keys. Choose whether to keep the first or last occurrence and inspect the removed-record preview. Empty selected keys compare equal and can remove incomplete records; the tool warns about this, but you still need to decide whether deduplication is appropriate.
3. Keep missing values and date decisions explicit
Empty cells and markers such as N/A, NULL or a dash can mean different things in different systems. A missing-value rule replaces only the selected columns using your configured markers. It does not silently delete rows. Do not replace a missing supplier identifier with a value that downstream software could mistake for a real identifier.
Date normalization requires an explicit source format. Valid dates become YYYY-MM-DD. Invalid or unmatched dates stay as supplied and generate findings. A decimal comma such as 1.234,56 is not silently interpreted as a number. Numeric-format conversion, email validation and CRM-specific field checks are outside the current tool.
4. Inspect the export, including formula protection
Download a new CSV after reviewing the original and cleaned previews. Migrate quotes fields, preserves Unicode and adds a UTF-8 BOM. Cells and headers that look like spreadsheet formulas are prefixed with an apostrophe. Negative quantities are protected too, so a downstream importer may read them as literal text.
This is deliberate protection, not a numeric conversion. Test a small export with the destination system before a bulk import. Never remove formula protection indiscriminately from untrusted data. The transformation report contains issue metadata and settings, not full uploaded rows; it may still include sensitive filenames or column names.
A bounded local tool
The beta accepts CSV and XLSX up to 15 MiB, 20,000 data rows, 100 columns and 250,000 cells, with additional text and archive safeguards. CSV exports are supported; XLSX export is not. XLSX imports stored values rather than formatting, merged-cell layouts or computed formulas. Encrypted files and legacy XLS are unsupported.
Processing runs in browser memory. Only a recipe you explicitly save is kept in local browser storage. Start with the synthetic sample to check the workflow, then save the rule sequence if the same cleanup will return next month.