Skip to content

Fuzzy duplicate detection

With PSD2 imports, the same payment can sometimes be delivered multiple times with different transaction IDs. Fuzzy duplicate detection handles these cases by matching not only on transaction ID, but also on the content of the transaction.

  • A payment arrives first as PENDING and is later updated as PROCESSED.
  • The bank generates a new ID on status changes.
  • Different API endpoints from the bank deliver different IDs.

The fuzzy detection looks for three types of matches:

Many payments contain a timestamp in the memo field, for example:

Payment 28-01-2026 10:50 via payment terminal

Two transactions with the same timestamp (to the minute), the same amount, and the same source are recognised as duplicates.

Some payment services (such as Takeaway.com) add a unique ID to the description:

037102bd-ac41-3961-8576-7689edf6490e

Transactions with the same UUID are automatically marked as duplicates.

PSD2 data often contains an exact transaction time to the second. Transactions with the same exact time and the same amount are recognised as duplicates.

  1. Open More > Settings.

  2. Enable Fuzzy duplicate detection.

During an import, a notice also appears in the import summary when potential fuzzy duplicates are detected. From there, it can be chosen directly whether to block them.

Notification on import of possible duplicates

Section titled “Notification on import of possible duplicates”

In addition to fuzzy detection, Spendle compares each new transaction during import with existing transactions on amount, account, description, and a date within a margin of 2 days. On a match, a notification appears directly in the import summary.

Click the notification to view the possibly duplicate transactions. For example, a subscription charged twice can then be cancelled in time. The check for duplicate transactions during import can be enabled via More > Settings.

The fuzzy detection only applies a match when the following criteria also hold:

  • Same account number — transactions must come from the same account.
  • Same amount — the amount must match exactly.
  • Same source — only transactions from the same source (for example both PSD2) are compared.