The best way to avoid duplicates is to work in ranges: data entry or data conversion. If you are converting the full list of transactions for a specific date range, then delete existing transactions for the date range.
If you are importing IIF files, there is no way to avoid duplicates for existing transactions and transactions that are being imported.
If you are importing QBO files, the format allows to use "Unique Transaction ID" (FITID) that QuickBooks keeps track of for a specific account. If your bank provides these transaction IDs, then you you can use them. Make sure they are truly unique, not just per file unique.
There is one issue with this: when you are converting your transactions, you may convert the same transactions several times, but Quickbooks keeps track of already imported transactions even if you delete them.
CSV2QBO or PDF2QBO (or other *2QBO converter) generate unique transaction IDs to make sure when you import a QFX file, QuickBooks does not skip any transactions.