| __pycache__ | ||
| models | ||
| security | ||
| static/src | ||
| views | ||
| wizards | ||
| __init__.py | ||
| __manifest__.py | ||
| README.md | ||
Bank Statement Reconciliation Module
Overview
This module enhances Odoo's bank statement reconciliation functionality by providing an intuitive interface for reconciling bank statement lines with journal entries.
Features
Core Functionality
- Menu Access: Direct menu to access bank statement lines
- Bank Journal Filtering: Filter statement lines by specific bank journals
- Batch Reconciliation: Select and reconcile multiple bank lines simultaneously
- Journal Entry Matching: Wizard to select appropriate journal entries for reconciliation
- Automatic Reconciliation: Automatic creation of reconciliation journal entries
New Features (v17.0.1.0.0)
1. Total Selected Amount Widget
A dynamic header widget that displays real-time totals when you select multiple bank statement lines in the list view.
Features:
- Real-time Calculation: Automatically calculates the sum of selected lines
- Visual Indicators:
- Green badge for positive amounts
- Red badge for negative amounts
- Selection Counter: Shows how many lines are currently selected
- Currency Display: Shows the currency of selected lines
- Modern UI: Clean, Bootstrap-styled interface with icons
How to Use:
- Navigate to:
Bank Statement Reconciliation - Select one or more bank statement lines by clicking the checkboxes
- The footer will showing:
- Total amount of selected lines
Installation
-
Copy the module to your Odoo addons directory:
cp -r bank_statement_reconciliation /path/to/odoo/addons/ -
Update the addons list:
- Go to
Appsmenu - Click
Update Apps List - Search for "Bank Statement Reconciliation"
- Go to
-
Install the module:
- Click
Installbutton
- Click
Configuration
No additional configuration is required. The module works out of the box after installation.
Usage
Reconciling Bank Statement Lines
-
Access Bank Statement Lines
- Navigate to:
Accounting > Bank Statement Reconciliation > Bank Statement Lines
- Navigate to:
-
Filter Lines
- Use the search bar to filter by:
- Date
- Partner
- Journal
- Amount (Income/Expense)
- Use the search bar to filter by:
-
Select Lines for Reconciliation
- Check the boxes next to the lines you want to reconcile
- The total amount widget will show the sum automatically
-
Initiate Reconciliation
- Click the
Actionmenu - Select
Reconcile Selected Lines - OR click the
Reconcilebutton in the form view
- Click the
-
Match Journal Entries
- The wizard will open showing available journal entries
- Select the appropriate journal entry to match
- Confirm the reconciliation
Technical Details
Module Structure
bank_statement_reconciliation/
├── __init__.py
├── __manifest__.py
├── README.md
├── models/
│ ├── __init__.py
│ ├── account_bank_statement_line.py
│ ├── bank_statement_line.py
│ └── bank_statement_selector.py
├── views/
│ ├── bank_statement_line_views.xml
│ ├── bank_statement_selector_views.xml
│ └── menu.xml
├── wizards/
│ ├── __init__.py
│ ├── bank_reconcile_wizard.py
│ └── bank_reconcile_wizard_views.xml
├── security/
│ └── ir.model.access.csv
└── static/
└── src/
├── js/
│ ├── bank_statement_total_widget.js
│ ├── bank_statement_list_controller.js
│ └── bank_statement_list_view.js
└── xml/
├── bank_statement_total_widget.xml
└── bank_statement_list_view.xml
JavaScript Components
BankStatementTotalWidget
- Type: OWL Component
- Purpose: Displays total amount of selected lines
- Props:
resIds: Array of selected record IDs
- Features:
- Reactive state management
- Automatic updates on selection change
- Currency formatting
- Visual styling based on amount (positive/negative)
BankStatementListController
- Type: List Controller Extension
- Purpose: Extends standard list controller with custom functionality
- Features:
- Provides selected records to the widget
- Integrates widget into list view layout
XML Views
Tree View Enhancement
- Added
js_class="bank_statement_list"attribute - Enabled multi-edit mode
- Added monetary widget for amount field
- Added currency field for proper formatting
- Includes sum totals in footer
Dependencies
account: Core accounting modulebase: Odoo base moduleweb: Web framework for JavaScript components
Customization
Modifying the Widget Appearance
Edit bank_statement_total_widget.xml to customize:
- Layout
- Colors
- Icons
- Styling
Extending Functionality
To add more calculations or features:
- Edit
bank_statement_total_widget.js - Add new computed properties or methods
- Update the template to display new information
Example - Add average calculation:
get averageAmount() {
if (this.state.selectedCount === 0) return 0;
return this.state.totalAmount / this.state.selectedCount;
}
Troubleshooting
Widget Not Appearing
-
Clear Browser Cache
- Hard refresh:
Ctrl+Shift+R(Windows/Linux) orCmd+Shift+R(Mac)
- Hard refresh:
-
Update Assets
- Navigate to:
Settings > Technical > User Interface > Views - Click
Regenerate Assets Bundles
- Navigate to:
-
Check JavaScript Console
- Press
F12to open developer tools - Look for any JavaScript errors
- Press
Incorrect Totals
-
Verify Currency Settings
- Ensure all selected lines use the same currency
- Check currency rounding settings
-
Check Data Integrity
- Verify amount fields are populated correctly
- Check for null or undefined values
Support
For issues, questions, or contributions:
- Author: Suherdy Yacob
- Version: 17.0.1.0.0
- Odoo Version: 17.0
Changelog
Version 17.0.1.0.0
- Added total selected amount widget in list view header
- Enhanced tree view with monetary formatting
- Improved user experience with visual indicators
- Added real-time calculation of selected lines
- Implemented modern OWL-based JavaScript components
Initial Version
- Basic bank statement reconciliation functionality
- Wizard-based reconciliation process
- Multi-line selection support
- Journal entry matching
License
This module follows the same license as Odoo.
Screenshots
Total Amount Widget in Action
When you select multiple bank statement lines, the widget appears at the top showing:
- Number of selected items
- Total sum with currency
- Color-coded amount (green for positive, red for negative)
List View Enhancements
- Checkboxes for multi-selection
- Amount column with monetary formatting
- Footer totals for all visible records
- Clean, modern interface
Future Enhancements
Planned features for future releases:
- Support for multi-currency reconciliation
- Advanced filtering options
- Reconciliation history tracking
- Export selected lines to Excel
- Batch operations for common reconciliation patterns
- AI-powered suggestion for matching entries