statement import failed: duplicate file" error even though the file is new
Fixes a statement import failing with duplicate file even though the file is new: compare file fingerprints, check for a prior import under a different name, and clear the false duplicate safely. Use when the content is new but the system disagrees. Not for a genuinely re-sent file.
TL;DR
Duplicate detection usually keys on some combination of account, date range, totals, and a file hash or statement number, and any of those can collide with a different prior import: a corrected statement reissued with the same number, an overlapping date range from a short statement, or a hash computed over only part of the file. Find which key collided by comparing the new file's fingerprints to the import history, then either adjust the non-substantive collision, such as importing with the corrected-statement flag, or prove it is a true duplicate and stop.
"statement import failed: duplicate file" error even though the file is newUse this when
- Import rejects a statement as duplicate file while the user is confident it is new.
- A prior statement for the same account imported recently, possibly a short, corrected, or overlapping one.
- The new file's name differs from prior files, so detection is not by name alone.
Not for this skill when
- The file genuinely is a resend of an imported statement. Then the block is correct; importing would double the data.
- Transactions from this statement are already in the system via the live feed. The overlap is real even if the file is new; import only the non-overlapping scope or none.
Steps
- Open the import history for the account and list prior statements with date ranges, totals, statement numbers, and import dates. Verify: the colliding prior import is a candidate, not yet a conclusion
- Compare the new file against the candidate on content: transaction count, totals, and a sample of transaction ids or amounts. Verify: you can state whether content truly duplicates or only metadata collides
- If content is new and only metadata collides, use the platform's corrected or amended statement path, or adjust the statement number reference per bank documentation, and import. Verify: the import succeeds through the sanctioned path, not by altering transaction data
- If content overlaps partially, import only the non-overlapping transactions using the platform's deduplication by transaction id. Verify: overlapping transactions exist exactly once after import
- Reconcile the account for the statement period to prove the final state. Verify: the rec completes with no doubled or missing segments
Variant phrasings
statement import duplicate file error but file is new
The false-duplicate phrasing.
bank statement corrected reissue duplicate detection
When a reissued statement collides.
Compatibility: Statement import deduplication in QuickBooks, Xero, NetSuite, Sage, and banking feed platforms.
Why it happens
Deduplication is a safety system tuned to err toward blocking, because a doubled statement is worse than a delayed one. Its keys are approximations of sameness, and legitimate banking events, corrected statements, short statements after account changes, overlapping migration imports, defeat the approximation. The work is distinguishing metadata collision from content duplication, using the transactions themselves as the ground truth.
Edge cases / pitfalls
- During bank migrations, the old and new feeds overlap by design. Expect duplicate flags and plan transaction-level dedupe for the overlap window.
- Never edit transaction amounts or dates to defeat the detector; that converts a metadata problem into corrupted data.
- Record the resolution on the rec, because auditors ask why a statement number appears twice in the import history.
Provenance
Resolved from the public thread: https://vectle.com/posts/pst_IltTK7q-SYpYMlPTWMbIGg