Skip to main content

How Navexa prevents duplicate trades during imports

Understand how Navexa prevents duplicate trades when importing or syncing, how the trade hash works, and the real-world scenarios where duplicates can still appear (or a legitimate trade can be skipped).

Updated today

Navexa’s duplicate protection keeps your holdings, performance, and tax reporting accurate by preventing the same trade being added twice.

What Navexa considers a duplicate

When you import a broker file/CSV or sync an integration, Navexa checks each incoming trade against trades already saved in that portfolio.

If Navexa believes the trade already exists, it will be skipped to avoid double-counting units and cash movements.

The deduplication key (trade hash)

To do this at scale, Navexa creates a deduplication key (often referred to as a trade hash) for each trade.

This is a SHA-256 hash generated from the trade’s key attributes that are available in the import/sync data, such as:

  • Portfolio / Holding

  • Symbol (and exchange, where provided)

  • Trade type (Buy/Sell/etc.)

  • Trade date

  • Quantity

  • Price

  • Brokerage/fees (if provided)

  • Currency (if applicable)

What the hash is used for

  • If a future import produces the same deduplication key, Navexa treats it as the same trade and will not create a new one.

  • This is what prevents “re-importing the same file” from creating duplicates.

Real examples

Here are two real trade examples and their deduplication keys.

Example 1: INES buy

  • Symbol: INES (AXW)

  • Type: Buy

  • Date: 2022-09-01

  • Quantity: 800

  • Price: 3.85 AUD

  • Deduplication key (SHA-256): E880B5FB...5BD0F94

Example 2: IIGF buy (includes brokerage)

  • Symbol: IIGF (AXW)

  • Type: Buy

  • Date: 2022-02-22

  • Quantity: 315

  • Price: 3.16 AUD

  • Brokerage: 29.95 AUD

  • Deduplication key (SHA-256): B6E46FB9...71E0A2C

When a legitimate trade can be skipped (false duplicate)

This can happen when the source data doesn’t include any unique identifiers beyond the basics.

If you place two separate trades that are identical across the fields available to Navexa, they can generate the same hash, so the second one may be treated as a duplicate and skipped.

This is most likely when a broker export/sync does not include things like:

  • time of execution

  • order ID / contract note number / unique reference

  • a per-trade identifier field

Example scenario

You buy the same security twice on the same day, and both fills are exported with:

  • same date

  • same quantity

  • same price

  • same brokerage/fees

  • same currency

If those are the only fields provided, the two trades can look identical to Navexa and collide on the same deduplication key.

What to do if you suspect this happened

  • Confirm in your broker report that there were two distinct trades.

  • Add the missing trade manually in Navexa using Add Trade (or duplicate the existing trade and adjust one field if needed).

  • If your broker provides a more detailed export that includes unique trade references, use that format going forward.

When duplicates can still occur (even with deduplication)

Deduplication prevents “true repeats”, but duplicates can still appear when the same trade is represented differently between sources.

Common causes

  • Brokerage/fees differ
    One source includes brokerage, another shows $0.00 or omits it.

  • Rounding differs
    Price or quantity precision differs between exports (e.g., 3.85 vs 3.8500).

  • Date differs
    One source uses trade date, another uses settlement date, or timezone shifts change the date.

  • Symbol/exchange formatting differs
    Same asset formatted differently across sources.

  • Two import paths for the same account
    Example: you import a CSV, then later connect an integration that syncs the same historical trades.

In these cases, the trades may not produce the same hash, so Navexa will treat them as different trades.

What happens if you edit a trade in Navexa

Editing is common (fixing fees, price, dates, notes), and it should not create new duplicates.

Key point

The deduplication key prevents the same trade from being reimported.

So if you edit a trade in Navexa and later re-import the original broker file again, Navexa can still recognise it as “already imported” and avoid adding it again.

This gives you comprehensive control:

  • You can correct trade details in Navexa.

  • You can safely re-import the original source file without duplicating that trade.

How to reduce duplicate risk

  • Use one method per account wherever possible:

    • Either keep syncing via an integration, or import files for that account.

  • Prefer exports that include:

    • brokerage/fees

    • precise quantities/prices

    • unique trade references (if your broker offers them)

  • Avoid repeatedly importing overlapping date ranges unless necessary.

Did this answer your question?