Seller Profit Guard · How it works · CSV privacy

Duplicate order checker

Compare two materially distinct synthetic row packets to separate exact fingerprint candidates, probable order-level matches, repeated keys, and legitimate split shipments. Validate row shape, strict thresholds, size limits, dated evidence, nine controls, privacy, fingerprints, and roles. Hard failures mask derived counts. The browser-local checker never uploads, deletes, merges, reconciles, excludes, or exposes production data.

Maintained by Seller Profit Guard Editorial Team. Last reviewed: 2026-07-31.

Duplicate order review flow from synthetic rows through exact and probable candidate groups to split-shipment preservation and restoration
Group invented duplicate candidates while preserving legitimate lower-grain rows and keeping every destructive action outside the worksheet.

Validate and map before duplicate review

Run structural validation and canonical mapping before duplicate analysis. This checker assumes every invented row already has eight declared fields, one record grain, stable types, safe content, and a documented fingerprint version.

Duplicate grouping cannot repair malformed files or uncertain mappings.

Use invented row descriptors only

Enter synthetic row labels, ORD-SYN order keys, ISO timestamps, invented amounts, item counts, safe source-file labels, invented fingerprints, and explicit row roles. Never enter real order, buyer, customer, address, payment, credential, bank, support-note, or raw CSV values.

The defaults describe no person or transaction.

Understand the fixed row shape

Each line is `row label | order key | timestamp | amount | item count | source file | fingerprint | row role`. The checker rejects missing, additional, empty, malformed, private-looking, or non-synthetic fields instead of guessing.

A fixed public fixture makes counterexamples reproducible.

Choose one canonical grain

Scenario A is order-level; Scenario B is shipment-level. A duplicate claim is meaningful only inside one declared grain because one order can legitimately produce multiple item, shipment, payment, refund, adjustment, tax, fee, or deposit rows.

Never deduplicate across mixed event types.

Use row labels only for audit position

Synthetic labels such as A-01 identify fixture positions. They must be unique inside a packet, but they are not business identifiers and do not participate in fingerprint or probable-match logic.

A duplicated label blocks the worksheet.

Constrain synthetic order keys

Public examples use `ORD-SYN-...` so invented identifiers cannot be mistaken for copied customer orders. The same key may repeat legitimately when the packet grain is below order level.

Repeated order keys are evidence to classify, not deletion instructions.

Parse event timestamps explicitly

Every timestamp must be an ISO timestamp with `Z` or an explicit numeric UTC offset, normalize into the declared evidence month, and be no later than the source-review date. Permissive runtime guesses such as `1` block.

The probable-match window compares order-level events only; it cannot establish the correct business event or settlement date.

Compare amounts with a declared tolerance

Probable business-key matching requires the same synthetic order key and item count, plus amount difference within the seller-entered absolute tolerance. The value is an invented comparison unit, not a fee, payout, tax, or accounting reconciliation.

Zero or a small documented tolerance is safer than silent rounding.

Require positive whole item counts

Item count must be a positive integer because fractional or negative counts would change the composite comparison and may signal a different record type. Quantity semantics still belong in the canonical dictionary.

Refund and adjustment rows need separate designs.

Name source files without paths

Use safe invented basenames ending in `.csv`, such as `orders-a.csv`. Source labels document provenance boundaries without revealing local paths, account names, shops, users, directories, or credentials.

A filename label does not prove file identity.

Version the fingerprint recipe

A fingerprint is an invented stable token representing selected nonprivate canonical fields at one grain. Document the exact fields, normalization, null handling, sorting, encoding, algorithm, version, and collision review outside the public worksheet.

A matching token is candidate evidence, not identity proof.

Read exact fingerprint groups

Two or more valid rows sharing a fingerprint form one exact candidate group only when their canonical key, timestamp, amount, item count, and row role also agree. Three matching repeats remain one group rather than three pairwise duplicates.

A reused fingerprint with disagreeing canonical fields blocks as collision evidence; review provenance before excluding any member.

Read probable business-key groups

Different fingerprints can still form a probable group when order-level roles share key, item count, amount within tolerance, and timestamp within the window. These candidates always produce Review because the fingerprint disagreement needs human explanation.

Probable does not mean duplicated.

Preserve legitimate split shipments

Rows sharing an order key are preserved when every row has a distinct `shipment-*` role and fingerprint. Scenario B demonstrates two shipment rows with different amounts, timestamps, and roles under one invented order reference.

Shipment completeness still requires authorized operational evidence.

Declare expected candidate groups

Each scenario records the number of duplicate candidate groups expected from its controlled fixture. The checker compares observed exact plus probable groups with that declaration, exposing stale expectations and unintended logic changes.

Expected counts are test assertions, not production forecasts.

Use the unexpected-group allowance carefully

The allowance controls when count differences escalate, but a probable business-key group still produces Review. It cannot waive malformed rows, private content, invalid thresholds, short evidence, open conflicts, or structural errors.

Default to zero for release fixtures.

Require dated evidence and nine confirmations

Use a real source-review date and policy-effective date, keep policy no later than source review, and affirm all nine synthetic-data, schema/mapping, grain/role, fingerprint, threshold, privacy/output, counterexample, restoration, and disposition-authority controls. Missing confirmation blocks the result.

The confirmations document seller responsibility; they cannot prove production identity.

Bound public row packets

Set a maximum of 2–100 synthetic rows per scenario and keep each scenario's rows plus context under 50,000 characters. Oversized packets block rather than turning a public browser worksheet into a production duplicate-processing system.

The default maximum is 100 rows per scenario.

Keep scenarios materially distinct

The duplicate-import and split-shipment packets must remain different in both rows and context. Copying one packet into both scenarios blocks because one grain cannot simultaneously prove repeated-file detection and legitimate shipment multiplicity.

Distinct packets reduce false confidence; they do not prove a retained record.

Separate duplicates from repeated keys

Repeated order-key groups include exact imports, probable matches, and legitimate lower-grain rows. The checker reports them separately so teams do not convert every repeated identifier into a duplicate deletion.

Order-key frequency alone is weak evidence.

Separate candidate detection from deletion

This tool never removes, merges, overwrites, suppresses, refunds, cancels, or edits a row. Candidate detection should feed a protected review queue with source provenance, retained record choice, reason, reviewer, backup, and restoration path.

Destructive action needs a separate authorized control.

Separate duplicate review from reconciliation

Two rows can be true duplicates yet totals can still fail to reconcile; conversely, repeated payment, refund, fee, or shipment rows may all be necessary. Reconcile complete event populations only after candidate disposition is documented.

Balancing totals cannot prove row identity.

Keep platform exports distinct

Etsy offers order items, orders, payment sales, and deposit exports. Shopify distinguishes order exports and transaction history. Each source and export option can create different row multiplicity, identifiers, timestamps, and financial events.

There is no universal marketplace order row.

Read Block

Block means row count, shape, synthetic pattern, timestamp, amount, count, source label, fingerprint, role, context, threshold, privacy, period, scope, or declared-conflict evidence failed. Stop and repair the fixture.

Block leaves every source untouched.

Read Review

Review means the fixture is structurally valid but probable business-key matches or unexpected group counts require a named reviewer. Preserve all rows until provenance, grain, fingerprint, thresholds, and exception evidence explain the difference.

Review is not approval to delete.

Read Ready

Ready means both synthetic packets match their expected candidate counts, exact fingerprint groups are separated from declared split shipments, and implemented evidence controls pass. It proves only this worksheet.

It does not classify any production order.

Screen private or credential-like content

The checker blocks row text resembling personal names, contacts, addresses, cards, banks, account numbers, tokens, passwords, secrets, keys, or credentials. Remove unnecessary sensitive columns upstream rather than replacing only visible values.

A hash or fingerprint does not automatically anonymize a person.

Document Scenario A duplicate imports

The default includes two invented order-level rows from separate source labels with the same fingerprint and one unrelated row. Expected groups equals one, demonstrating repeated-file detection without exposing a store or buyer.

Source overlap and export range remain essential review evidence.

Document Scenario B split shipments

The default includes two shipment-level rows under one invented order key with distinct roles, timestamps, amounts, and fingerprints, plus another shipment. Expected duplicate groups equals zero and one legitimate split group is preserved.

Do not collapse shipment facts to satisfy an order-level uniqueness rule.

Test malformed-row counterexamples

Exercise wrong field count, duplicated labels, real-looking keys, invalid timestamps, nonnumeric amounts, fractional or zero item counts, unsafe filenames, weak fingerprints, invalid roles, and private-looking text.

Every structural failure should Block without echoing inputs.

Test grouping counterexamples

Exercise two-row and three-row exact groups, different fingerprints inside and outside time windows, amounts on tolerance boundaries, different item counts, repeated order keys, split shipments, line roles, and mixed-source overlaps.

Record the expected group count for every fixture.

Test threshold counterexamples

Exercise zero, maximum, fractional, negative, and excessive timestamp windows, amount tolerances, and allowed unexpected groups. Keep threshold versions and reasons beside results so a policy change cannot silently rewrite history.

A broader threshold increases review burden.

Preserve provenance and supersession

For every candidate, preserve source pointer, export type, source period, row grain, fingerprint version, observed group, expected group, disposition, retained-row reference, reviewer, timestamp, reason, and superseded evidence.

Never erase the audit trail that explains an exclusion.

Back up before operational review

Preserve source files in authorized storage, candidate tables, prior dispositions, derived totals, receiving state, and restoration instructions before any downstream exclusion or merge. Test recovery with synthetic or approved minimal data.

The public tool creates no backup.

Monitor duplicate-control drift

Watch source schema, export option, canonical mapping, grain, fingerprint recipe, timestamp semantics, amount rounding, role vocabulary, threshold version, expected counts, exception rate, reviewer reversals, and reconciliation variance.

Stop automation when an unexplained change appears.

Release through ordered quality gates

Index the cluster only after logic, counterexamples, official sources, answer quality, metadata, schema, images, links, privacy, similarity, mobile behavior, backup, build, ordered release, deployment, and live checks pass.

Search signals are measured later and do not replace quality evidence.

Use the result for review prioritization

Candidate counts can rank a protected review queue and identify repeated exports, stale fingerprints, or exception-heavy sources. They cannot estimate fraud, platform error, revenue leakage, refund entitlement, tax, accounting profit, or customer behavior.

Keep every conclusion bounded to entered synthetic evidence.

Record human authority

Name the evidence owner, independent reviewer, exception approver, correction owner, release authority, monitoring owner, stop authority, and restoration owner. A Ready worksheet cannot assign those responsibilities automatically.

Accountability completes the control.

Retest after every change

Any change to source type, schema, mapping, grain, role, fingerprint, normalization, threshold, expected group, context, privacy classification, code, or receiving workflow requires clean and failing fixtures plus full regression.

Preserve the prior accepted version until restoration is proven.

Sources and further reading

Related Seller Profit Guard tools

Use the interactive tool

Enable JavaScript to open the calculator and process browser-local inputs. The explanatory content and source links remain available without JavaScript.

Related guide: Define synthetic row packets, exact and probable matching, split-shipment exceptions, thresholds, evidence, monitoring, and restoration.

This tool provides operating estimates, not tax, accounting, legal, financial, or marketplace-policy advice. Verify current official sources and your own records before changing prices or operations.