Separate three identities
An email attachment arriving twice, two different files describing one document and two legitimate documents with equal amounts are different situations. Decide which identity matters at each stage. Keep an arrival identifier and a document-level identifier where the source provides one. A file hash can help detect identical bytes, but different scans of the same document will differ. Equal amounts alone do not establish that a record is a duplicate.
Do not destroy the second arrival
When a possible duplicate appears, retain a reference to both arrivals and hold the uncertain one outside the accepted output. The second copy may be a correction rather than an accidental resend. A fictional delivery note marked revised should not be discarded solely because its reference matches the first version. Your approved process must decide whether it replaces, supplements or conflicts with the earlier record.
Make replay visible
Test what happens when the same synthetic case is submitted twice and when an interrupted destination write has an uncertain outcome. Do not assume that a timeout means nothing happened. Reconcile the destination before another write. This is a workflow design requirement, not a statement that any parser implements once-only handling by default. Record the actual tested behavior of the selected integration before relying on it.
Keep correction separate from repetition
A deliberate reprocess should carry a reason, the intended scope and a link to the previous attempt. It should not silently masquerade as a new original. If your tools cannot establish the prior outcome, leave the case uncertain and ask the authorized owner to reconcile it. Continue to the spreadsheet handoff guide for staging and acceptance. Never use a live business transaction merely to test whether duplicate protection exists.
Sources used for this page
These records support the facts and comparisons above. Merchant-controlled records are labelled so you can separate product claims from independent evidence.
- Parsio: documented parsing options — Merchant documentation · parsio.io · Merchant-controlled · checked 2026-09-30
- Docparser: documented feature set — Merchant documentation · docparser.com · Merchant-controlled · checked 2026-09-30