Sometimes the Firefly III Data Importer (FIDI) will create duplicate transactions, despite being told not to. This is pretty annoying so please open a ticket when this happens and let me know why Firefly III didn't detect a duplicate. I can use this information to fine-tune the duplication process.
Deleted, but duplicate?
Firefly III will also check deleted transactions when checking for duplicates. This is on purpose. If your import contains bad transactions or informative message hidden as transactions, they will not be re-imported after you've deleted them.
Use the debug view to see why a transaction is imported, despite being a duplicate of another transaction. Remember that rules don't influence the (de)duplication process, because rules are applied after the duplication check.
Open both transactions in different tabs of your browser. Notice how the URL is something like this:
Change the word
show in the URL to
If you do this for both transactions you will end up with a specific JSON variant of the transaction.
Send it to me or compare it yourself to see the differences between two seemingly equal transactions.
updated_atfields are not used in the comparison by Firefly III.
original_sourceare not used in the comparison by Firefly III.
transaction_journal_idfields are not used in the comparison by Firefly III.
Some common causes of duplicate issues are listed below.
Some imports contain "floating numbers", which are numbers that look like this:
These numbers may have slight variations. Firefly III will see the difference and create what seems to be a duplicate transaction. The user interface may not show you the trailing digits leading you finding a duplicate transaction.
Different internal or external ID's
Hidden deep in the JSON comparisons you may find a field called
internal_reference. These fields will sometimes be different. Spectre is known to change these sometimes.
Please open a ticket on GitHub.