Bank Connector Engine for Odoo
A shared synchronization engine for external bank account transactions
Bank Connector Engine is the common accounting layer used by provider modules. It normalizes external financial transactions, creates standard Odoo bank statement lines, and provides audit-friendly reconciliation workflows for Odoo Accounting.
Why This Engine Exists
Financial providers expose different APIs, webhook formats, identifiers, and balance behavior. This module provides the shared Odoo accounting workflow so provider modules can reuse one reliable transaction, statement, and reconciliation pipeline.
Shared Accounting Engine
The engine handles connections, linked external accounts, transaction logs, statement creation, reconciliation workflow, and audit information.
Provider Extensions
Provider modules add credentials, API calls, webhooks, account synchronization, transaction fetching, and provider-specific normalization logic.
Odoo Accounting Integration
External transactions are converted into standard Odoo bank statement lines, so accountants can continue using familiar Odoo Accounting screens.
Safer Import Pipeline
Transactions are stored before accounting records are created. This makes imports easier to audit, recover, and protect against duplicate or incomplete provider data.
Scheduled Synchronization
Connections can fetch automatically using configurable intervals. Provider modules decide how to communicate with their APIs while the engine handles shared processing.
Audit and Troubleshooting
Accountants and managers can inspect transaction status, generated statement lines, reconciliation result, error messages, and raw provider payloads.
Connection Management
Create one connection for each external provider account. The engine manages company, provider, synchronization interval, next sync time, last sync time, linked accounts, and errors.
- Test provider connection before syncing data.
- Synchronize external accounts from an installed provider module.
- Fetch transactions manually or automatically.
- Review the last synchronization error directly on the connection.
Linked Bank Accounts
Each external bank account is mapped to one Odoo bank journal. The engine validates journal currency to reduce accounting mistakes.
One-to-One Journal Mapping
A bank journal can only be mapped to one connector account, helping avoid duplicate imports into the same Odoo journal.
Balance and Currency Review
Provider balances, currencies, account numbers, account names, and synchronization status are visible from the linked account screen.
Transaction Log Before Accounting Records
Imported transactions are stored in a dedicated transaction log before being processed into Odoo bank statement lines. This makes synchronization safer, easier to audit, and easier to recover.
Transaction States
Transactions can be pending, processed, ignored, or failed. Failed transactions keep their error message and can be reprocessed after the issue is fixed.
Raw Payload for Managers
Accounting managers can inspect raw provider payloads for troubleshooting, provider support, or integration review.
Daily Bank Statement Creation
Processed transactions create standard Odoo bank statement lines and are grouped into daily statement checkpoints for the mapped bank journal.
- Create standard
account.bank.statement.linerecords. - Group statement lines by connector account and transaction date.
- Update opening and closing balances when provider checkpoints are available.
- Keep a direct link between the connector transaction and generated statement line.
Reconciliation Workflow
The engine supports conservative automatic reconciliation and manual accountant-controlled reconciliation. It avoids risky matching when a reference or amount is ambiguous.
Exact Reference Matching
Optional automatic matching searches for one open journal item with the same recognizable reference and exact amount.
Manual Reconciliation
Accountants can open eligible journal items from the transaction form, select the correct entries, reconcile manually, inspect reconciled journal items, or undo reconciliation.
Important Notes
- This module is the common engine only. It does not fetch real financial data without a provider module.
- This module is not a checkout payment acquirer and does not process online payments.
- Each external account should be mapped to an Odoo bank journal with the same currency.
- Automatic reconciliation is intentionally conservative. Unclear matches stay open for accountant review.
- Provider API access, webhook availability, pricing, and limits depend on the external provider.
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Discuss (mail)
• Invoicing (account) |
| Lines of code | 1416 |
| Technical Name |
d_bank_connector |
| License | OPL-1 |
| Website | https://duong-odoo-apps.odoo.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module