Odoo Community Association

Bank Statement Import Generate Unique ID

Beta License: LGPL-3 OCA/bank-statement-import Translate me on Weblate Try me on Runboat

Some bank statement sources (e.g. some CSV/sheet exports or camt files) do not provide a unique identifier for their transactions. Without it, importing an overlapping period creates duplicate statement lines.

This module adds an option on bank journals to generate a unique_import_id for statement lines that come without one. The value is a SHA-256 hash of the normalized account number, date, payment reference, amount, reference and partner name. An identifier provided by the source always takes priority.

Identical transactions within the same import are numbered (<hash>, <hash>-2, <hash>-3, …), so they are all imported, while importing the same statement again still ignores all of them.

Table of contents

Configuration

Go to Invoicing > Configuration > Journals, open a bank journal and enable Generate Missing Import IDs.

Only statement lines imported after enabling the option get a generated import ID. To set it for the existing statement lines of the journal that have none, click Generate for Existing Lines next to the option. Lines whose generated import ID is already used by another line are skipped and reported, as they may be duplicates. Check them manually.

Usage

Only enable this option for journals whose source provides no transaction identifier.

Identical transactions (same account number, date, payment reference, amount, reference and partner name) can only be told apart within the same import. If an import ends between two identical transactions of the same day, the second one gets the same identifier in the next import and is ignored as already imported. Therefore always import complete days, and do not enable this option when such identical transactions are common and statements may cover partial days.

Bug Tracker

Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.

Do not contact contributors directly about support or help with technical issues.

Credits

Authors

  • MT Software

Contributors

Maintainers

This module is maintained by the OCA.

Odoo Community Association

OCA, or the Odoo Community Association, is a nonprofit organization whose mission is to support the collaborative development of Odoo features and promote its widespread use.

Current maintainer:

mt-software-de

This module is part of the OCA/bank-statement-import project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.