account_custom_internal_tra.../README.md

35 lines
2.6 KiB
Markdown

# Custom Bank Internal Transfer
A specialized Odoo 17 module that automates the two-step reconciliation workflow for internal bank transfers. This module is designed to ensure that funds leaving one bank account are accurately tracked and automatically mirrored as incoming funds in the destination account upon reconciliation.
## Features
* **Bank-Statement Driven Flow**: Unlike standard Odoo internal transfers that create payments first, this module starts with a bank statement line in the source journal.
* **Automated Destination Mirroring**: When the finance team reconciles the source bank statement line (e.g., BTN), the module **automatically** generates the corresponding statement line in the destination journal (e.g., BCA).
* **Auto-Reconciliation**: The generated destination statement line is automatically reconciled against the source journal's outgoing payment transit account (e.g., AR Clearing), completing the transfer without manual entry.
* **Minimal Accounting Footprint**: Results in exactly 2 journal entries (Source side and Destination side), maintaining a clean audit trail between bank accounts.
* **Dedicated Menu**: Adds a "Bank Internal Transfer" menu under Accounting > Accounting for easy tracking.
* **Dedicated Sequencing**: Uses a custom sequence (e.g., `INT/TRANS/0001`) for clear identification.
## Workflow
1. **Creation**: Create a "Bank Internal Transfer" record.
2. **Confirmation**: Click "Confirm". This generates an un-reconciled bank statement line in the **Source Bank Journal**.
3. **Source Reconciliation**: The finance team reconciles this line in the Odoo Bank Reconciliation widget using the appropriate clearing account.
4. **Automation Trigger**: Upon validation of the source line, the module:
* Creates a new bank statement line in the **Destination Bank Journal**.
* Automatically reconciles it against the transit account.
5. **Completion**: Both journals are now balanced, and the transfer record is updated with links to both statement lines.
## Technical Details
* **Hook**: Overrides `bank.rec.widget._action_validate` to capture the exact moment a source transfer is finalized.
* **Transit Account**: Automatically uses the source journal's manual outbound outstanding account, falling back to account code `218401` (AR Clearing) if needed.
* **Compatibility**: Designed to work alongside `account_reconcile_reference` and other accounting extensions.
## Installation
1. Copy the `account_custom_internal_transfer` directory to your Odoo custom addons path.
2. Update the App List in Odoo.
3. Install the "Custom Bank Internal Transfer" module.