How do you prevent duplicate transactions when importing overlapping CSV files?

What’s a reliable way to avoid duplicate transactions when importing CSV files into a small expense-tracking application?

For example, suppose two exports cover overlapping dates. Some transactions appear in both files, but neither file provides a unique transaction ID.

Matching the date, amount, and description seems like a reasonable starting point. However, two genuine purchases could have the same details—for example, two $15 payments to the same merchant on the same day.

How would you distinguish an already imported transaction from a separate, identical payment? Would you flag possible duplicates for review, or use another approach?

Examples from applications you’ve worked on would be helpful.