Duplicate Detection
Duplicate Detection
Sometimes the same transaction appears more than once in your accounts. This can happen due to bank reporting quirks, pending-to-posted transitions, or data import issues. Curl Budget automatically detects these duplicates and lets you control which copy to display.
Why Duplicates Happen
Duplicate transactions can appear for several reasons:
- Pending and posted versions - A charge appears as "pending" and later as "posted," but your bank reports both
- Bank corrections - A transaction is adjusted and the original remains visible
- Import overlap - When reconnecting an account, some transactions may be imported again
- Multi-institution accounts - The same card appearing through different bank connections
How Detection Works
Curl Budget identifies duplicates by looking for transactions that match on all of these criteria:
Matching Criteria
For two transactions to be detected as duplicates:
- Exact same amount - Down to the cent
- Same transaction time - The timestamp must match exactly
- Same merchant - The Plaid merchant identifier matches
- Same institution and account - From the same underlying account
- Same original description - The raw description from your bank matches
This strict matching ensures only true duplicates are grouped—not similar transactions that are actually separate purchases.
Pending vs. Posted
A key feature of duplicate detection is that pending status is ignored. This means:
- A pending charge and its posted version are detected as duplicates
- You see one transaction instead of both
- When the posted version arrives, it automatically replaces the pending one
Duplicate Groups
When duplicates are detected, they form a duplicate group:
- One transaction is marked as shown (visible in your transaction list)
- Other copies are marked as hidden (still in your data, but not displayed)
- You can change which transaction is shown at any time
Viewing Duplicate Groups
When you view a transaction that has duplicates:
- You'll see a "Duplicates" indicator showing how many copies exist
- Tapping reveals all transactions in the group
- You can see details of each duplicate and choose which to show
Managing Duplicates
You have full control over how duplicates are handled:
Changing Which Transaction Shows
If you prefer to display a different copy:
- Open the transaction with duplicates
- Tap to view the duplicate group
- Select "Show This One" on your preferred transaction
- The previous one becomes hidden
Excluding a Transaction
If a transaction was incorrectly grouped as a duplicate:
- Open the transaction
- Tap to view the duplicate group
- Select "Exclude" on the transaction that's not really a duplicate
- It will be removed from the group and appear separately
Including a Transaction
If you previously excluded a transaction and want to re-add it:
- Open any transaction in the duplicate group
- Tap "Include Previously Excluded"
- Select the transaction to bring back into the group
Automatic Selection
When duplicates are first detected, Curl Budget automatically chooses which transaction to show based on:
- Posted over pending - Posted transactions are preferred
- Most recent - If both have the same status, the most recently synced is shown
- Existing category - If you've already categorized one, that one is preserved
Notifications
When new duplicates are detected, you can receive a notification:
- Duplicate Alert - Informs you that potential duplicates were found
- Tap the notification to review and manage the duplicate group
You can configure these alerts in your notification settings.
Impact on Reports
Duplicate detection ensures accurate financial data:
Spending Totals
Only the shown transaction in each duplicate group counts toward:
- Cash Flow reports
- Budget tracking
- Category spending totals
Transaction Counts
Your transaction counts reflect unique transactions, not duplicate entries.
Duplicates vs. Other Detection Types
Duplicates vs. Transfers
- Duplicates are the same transaction appearing multiple times
- Transfers are two different transactions (one in, one out) representing money movement
A credit card payment appears as two transactions (one per account) but they're transfers, not duplicates.
Duplicates vs. Double Charges
- Duplicates are the same transaction reported multiple times by your bank
- Double charges are actually separate charges that may indicate fraud
If a merchant charged you twice, those are double charges. If your bank reported the same charge twice, that's a duplicate.
Troubleshooting
Duplicate Not Detected
If you believe transactions are duplicates but they weren't grouped:
- Check amounts - They must match exactly
- Check timestamps - They must have the same time
- Check merchants - The bank's merchant identifier must match
- Different pending/posted descriptions may prevent matching
For transactions that aren't automatically detected, you can manually categorize or hide them.
Wrong Transactions Grouped
If unrelated transactions were grouped as duplicates:
- Open the transaction
- View the duplicate group
- Exclude the transaction that doesn't belong
This is rare due to strict matching criteria, but can happen if your bank reports identical metadata for different transactions.
Related Features
- Double Charge Detection - Catches similar but separate charges
- Transfer Detection - Groups related transactions across accounts
- Push Notifications - Get alerted to new duplicates