Once a source CSV is edited mid-reconciliation, the current result is no longer trustworthy. The edit may be visible, such as a deleted row, or silent, such as Excel stripping leading zeroes from references. Either way, the comparison has lost its baseline.
Do not repair the working CSV and continue. Preserve it as evidence, obtain an untouched export for the same scope, compare the versions, and rerun from the clean file. That is how you recover reconciliation source CSV edited mid-process without carrying an unproven change into the final report.
Classify the failure before changing another file
First determine whether the changed result comes from source-file damage, an incorrect comparison boundary, or a legitimate timing item. These classes require different actions.
| Symptom | Likely class | First check | Carry or correct |
|---|---|---|---|
| Match count changed after the CSV was saved | Edited source file | Row count and nonblank reference count | Correct by replacing the baseline |
| Total changed but row count did not | Wrong amount or sign | Amount totals and changed cells | Correct before rerunning |
| Earliest or latest date moved | Scope, filter, or wrong date | Date range and active filters | Correct unless it is a real cutoff item |
| References became shorter or show scientific notation | Edited source file | Leading zeroes and long IDs | Correct with a fresh export |
| One transaction now appears twice | Duplicate record | Duplicate reference count | Correct before rerunning |
| A valid transaction moved outside the period | Timing or cutoff | Posting status and source date | Carry only if it genuinely belongs to another period |
A settlement delay or deposit in transit can remain as an explained timing difference. A changed source row cannot. Edited source data is an integrity failure, not a reconciling item.
Freeze the failed state
Stop working in the edited CSV. Save copies of every file involved before anyone makes another change:
- The edited source CSV
- The other file used in the comparison
- The reconciliation workbook or working file
- The current reconciliation output
- Notes for manual matches, exclusions, or overrides
Rename the changed file so nobody mistakes it for an untouched source:
| File | Purpose |
|---|---|
bank-export-edited-do-not-use.csv | Preserves the file that caused the break |
ledger-export-working-copy.csv | Preserves the other side of the comparison |
reconciliation-before-recovery.xlsx | Preserves formulas, filters, and review notes |
The edited CSV is still useful. It shows what the reconciliation consumed and helps prove what changed. It should not be overwritten, corrected in place, or used as the final source.
Also record the account, report name, date range, export settings, and approximate download time. You will need those details to recreate the same comparison boundary.
Recover the last trusted baseline
The preferred baseline is a fresh, untouched export from the original system. Download the same report for the same account and period. Use the same currency, status filters, accounting basis, and report settings.
Do not assume a new download is equivalent because the filename looks familiar. Confirm the boundary:
| Integrity check | What to confirm | What it can expose |
|---|---|---|
| Source and account | Same platform, report, and account | Wrong export or wrong entity |
| Period | Same start and end dates | Cutoff or filter mismatch |
| Row count | Transaction rows excluding headers | Deleted, inserted, or dropped rows |
| Key count | Nonblank transaction IDs or references | Damaged match keys |
| Date range | Earliest and latest dates | Missing boundary records |
| Amount total | Net movement or relevant column total | Changed values, signs, or rows |
| Duplicate count | Repeated keys or composite keys | Copied transactions |
| Blank-key count | Rows missing the intended match key | Records that cannot match reliably |
If the source system has changed since the first download, the fresh export may contain a late adjustment or a newly posted transaction. Treat that as a source-version difference. Document it and decide whether it belongs in scope. Do not confuse a legitimate new source record with a manual edit to the CSV.
If an untouched prior copy exists in an email attachment, download folder, document history, or backup, preserve that too. It may be closer to the exact file used when the reconciliation began.
Compare structure before comparing individual rows
Structural checks narrow the break faster than row-by-row review. Put the clean baseline and edited file side by side:
| Check | Clean export | Edited CSV | Interpretation |
|---|---|---|---|
| Transaction rows | 4,812 | 4,809 | Three rows were removed or dropped |
| Nonblank references | 4,812 | 4,780 | References were blanked or reformatted |
| Duplicate references | 0 | 3 | Rows were copied or keys were damaged |
| Earliest date | 2026-05-01 | 2026-05-02 | First-day records are missing or filtered |
| Latest date | 2026-05-31 | 2026-05-31 | End boundary still agrees |
| Net amount | 184,229.10 | 184,010.55 | Values changed or rows are missing |
Each failed control points to the next check. A lower row count means search for missing records. A lower key count means inspect the reference column. A changed total means compare amount values and signs. A shifted date boundary means inspect filters and date conversion.
CSV changes can be hard to see:
- Long transaction IDs become scientific notation
- Leading zeroes disappear
- Day-month dates are interpreted as month-day dates
- Negative values lose their sign
- Debit and credit columns are combined incorrectly
- Blank rows appear above the header
- Columns move and break an existing mapping
- A filtered subset is copied into a new file
- One column is sorted without the rest of the table
Sorting one column alone is especially destructive. The row count and total can stay unchanged while references, dates, and amounts become attached to the wrong transactions. No cell-level patch can prove the original row relationships. Replace the file.
Identify the changed records
After the clean file passes the structural checks, find the exact row changes. Search from the strongest identifier to the weakest:
- Unique transaction ID or source reference
- Exact amount and exact date
- Exact amount and nearby dates
- Description, customer, or memo
- Position between surrounding records
Use a comparison table that keeps the evidence visible:
| Reference | Baseline amount | Edited amount | Baseline date | Edited date | Status |
|---|---|---|---|---|---|
| TXN-10481 | 242.18 | 242.18 | 2026-05-08 | 2026-05-08 | Unchanged |
| TXN-10482 | 119.00 | 119.00 | 2026-05-08 | 2026-08-05 | Date changed |
| TXN-10483 | 84.50 | 48.50 | 2026-05-09 | 2026-05-09 | Amount changed |
| TXN-10484 | 300.00 | — | 2026-05-09 | — | Missing from edited file |
This converts “someone changed the CSV” into a defensible finding: one date changed, one amount changed, and one row disappeared.
If one row remains missing, follow the reference-first search order in how to find a missing transaction between two financial files fast. Do not start with descriptions unless stronger identifiers have failed.
Decide whether any previous work survives
Assume the existing reconciliation must be rerun if an edit touched a field used for matching, scoping, or totaling. Those control fields include:
- Transaction ID or reference
- Date
- Amount
- Currency
- Account
- Debit or credit indicator
- Status
- Customer or vendor ID
- Report period
Some changes are harmless. A filename change does not alter the data. A note column added outside the imported range may not affect the result. A full-table sort may preserve the data if matching uses unique references rather than row position.
Those cases still need proof. Compare the integrity controls and confirm the reconciliation logic did not depend on column position or row order.
Rows deleted or inserted, IDs reformatted, dates changed, amounts edited, filters applied, or columns shifted invalidate the old result. Keep the old workbook for evidence, but do not carry its matched status or exception list into the recovered report without checking each decision against the clean baseline.
For a broader breakpoint investigation, use the same last-known-good method described in why your reconciliation was wrong and how to find where it broke.
Rerun the reconciliation from the beginning
Load the untouched source export and verify its row count, key count, date range, total, duplicates, and blank keys. Run the same controls on the comparison file. If that file also changed, replace it with its own trusted export.
Then rerun in this order:
- Confirm both files cover the intended account and period.
- Confirm the match key, starting with a unique source reference where available.
- Run the comparison from the two verified files.
- Keep matched, missing, duplicate, amount-difference, and date-difference statuses separate.
- Compare the recovered output with the failed output.
- Explain every material change between those outputs.
- Save the recovered report separately from the failed version.
Recheck every manual override. A row marked “matched by amount and date” against the edited file may not be a valid match against the clean source.
The recovered report should identify both source files and show their integrity controls. It should also separate true timing items from errors. Timing items move according to the accounting cutoff. Missing, duplicated, or altered source records require correction or escalation now.
Reconstruct only when a clean export is impossible
Sometimes the original portal no longer offers the period, the source system has changed, or the only file came from a client. In that case, treat the edited CSV as damaged evidence.
Look for independent records:
- A bank PDF statement
- An accounting ledger export
- A processor transaction report
- A prior attachment or saved copy
- Download or document version history
- Output from the last trusted reconciliation
Build a controlled replacement only from evidence. Label it as reconstructed, not original, and record every restored field:
| Reconstructed item | Evidence | Change | Review note |
|---|---|---|---|
| TXN-10482 date | Bank PDF and ledger | Restored to 2026-05-08 | Edited CSV showed 2026-08-05 |
| TXN-10483 amount | Processor report | Restored to 84.50 | Edited CSV showed 48.50 |
| TXN-10484 row | Prior email attachment | Reinserted record | Row absent from edited CSV |
This is the fallback because it introduces judgment into the source. The reconstruction needs independent review before it becomes the comparison baseline.
Close with a recovery record
The final note should state what changed, how it was detected, which baseline replaced the edited file, what was rerun, and what remains open.
For example:
The bank CSV was edited after reconciliation began. Compared with the re-exported statement, it contained three fewer rows, one changed amount, and one changed date. The reconciliation was rerun for the same account and period using the untouched export. The final report separates matched records, corrected errors, and two settlement timing items carried to the next period.
The recovery is complete when the final result traces back to a trusted source, not when an edited file has been adjusted until the totals agree. Preserve the failed version, identify the clean baseline, rerun every affected match, and document the remaining timing items. That creates a result another reviewer can reproduce and defend.
