2.3 KiB
Account Online Synchronization Patch
This module is a clean customization designed to prevent the Odoo single-threaded Werkzeug server from freezing, hanging, or entering infinite loops when accessing the Accounting Dashboard in non-production, testing, staging, or local development environments.
Problem Statement
When the Odoo Accounting App/Dashboard is loaded, the frontend makes standard RPC requests to the fetch_online_sync_favorite_institutions method on the account.journal model for each cash/bank journal. By default, Odoo's core account_online_synchronization module executes synchronous HTTP calls to odoofin.com with a 60-second timeout.
On testing, staging, or duplicated local database instances, or in environments with restricted external internet access:
- These synchronous requests hang.
- Because Odoo runs single-threaded in standard development and test modes, the entire server process blocks.
- This creates sequential gateway timeouts (HTTP 502/504), heavy browser lags, and infinite loading loops.
Solution
To resolve this issue cleanly without modifying core/enterprise source code, this module applies standard Odoo model inheritance:
- Inherited Model:
account.journal - Mechanism: Overrides
fetch_online_sync_favorite_institutions(). - Behavior: Checks the
database.is_neutralizedconfiguration parameter. If the database is neutralized (which is typical for test/staging clones), it returns an empty list[]immediately without making any outbound external network requests. If the database is not neutralized (i.e. production), it forwards the execution to the parent module (super()).
Installation
Dependencies
account_online_synchronization(Enterprise module)
Auto-installation
This module is configured with 'auto_install': True and 'depends': ['account_online_synchronization']. It will automatically install and activate as soon as the base online sync module is present in the database registry.
Manual CLI Installation
To explicitly register and install the module via command line:
./odoo-bin -c odoo.conf -d <your_database> -i account_online_sync_patch --stop-after-init
Changelog
v19.0.1.0.0
- Initial release.
- Added
account.journaloverride forfetch_online_sync_favorite_institutionsto bypass external connections on neutralized databases.