| models | ||
| scripts | ||
| views | ||
| wizard | ||
| __init__.py | ||
| __manifest__.py | ||
| .gitignore | ||
| README.md | ||
Account Shared Bank Cash
Overview
This custom Odoo 19 module removes the standard restriction that prevents Chart of Accounts (COA) of type Bank and Cash (asset_cash) from being shared across multiple companies.
By default, Odoo restricts a Bank and Cash account to a single company. This module patches _check_company_consistency on the account.account model to allow you to configure multiple companies for a single Bank/Cash account. This is particularly useful for setups where multiple Point of Sale (POS) shops across different companies deposit into the same physical bank account or cash account.
Features
1. Shared COA Support
- Overrides
account.accountcompany validation to allowlen(company_ids) > 1onasset_cashaccounts. - Ensures POS payments and closing entries seamlessly use the shared account.
2. Automated Inter-Company Clearing
When a branch-side POS session is closed, the module automates the inter-company accounting flow:
- Branch Company (Origin):
- Aggregates all bank clearing entries into a single aggregated journal entry (usually just 2 lines: Total Receivable vs Total Inter-company Account).
- Automatically reconciles these clearing lines against the main POS session move.
- Visually links the clearing moves to the POS Session's "Journal Items" dashboard.
- Parent Company (Destination):
- Automatically creates separate mirror journal entries for each payment method (e.g., separate entries for BCA, BTN, BRI).
- Debits the parent bank's Outstanding Receipt Account, allowing for seamless reconciliation against incoming bank statement lines in the parent's accounting dashboard.
- Credits the Inter-company Liability account (e.g.,
229101 Hubungan RK).
3. Centralized Vendor Payment
Enables branches to pay vendor bills from a bank account managed by a parent company:
- Branch-Side: Intercepts the "Register Payment" wizard. Instead of creating a standard payment, it generates a clearing entry that moves the liability from the Vendor (Accounts Payable) to the Parent Company (Inter-company Account).
- Parent-Side: Automatically creates an actual
account.paymentrecord in the parent company, paying out of the parent bank journal and debiting the inter-company clearing account. - Workflow: Vendor bill remains in the branch, but is marked as Paid via the clearing mechanism. The actual cash outflow and bank reconciliation happen in the parent.
Configuration
1. POS Inter-Company Clearing
To enable the automated inter-company clearing, navigate to Point of Sale > Configuration > Payment Methods and configure the following in the "Inter-Company Clearing" section:
- Parent Company: Select the target company (e.g., OT).
- Parent Bank Journal: Select the journal in the parent company that receives the funds.
- Parent Inter-company Account: The liability account in the parent company (e.g.,
229101 Hubungan RK). - Parent Clearing Journal: The journal in the parent company used to record these mirror entries (e.g., "Inter-Company Clearing").
2. Centralized Vendor Payment
Configure a Bank/Cash Journal in the branch company to act as a bridge:
- Open the journal form (Accounting > Configuration > Journals).
- Go to the Centralized Payment tab.
- Enable Is Centralized.
- Set the Parent Company, Parent Journal, and both Inter-Company (RK) Accounts.
- When registering a payment on a vendor bill, select this journal to trigger the cross-company flow.
Author
- Suherdy Yacob