48 lines
3.5 KiB
Markdown
48 lines
3.5 KiB
Markdown
# 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.account` company validation to allow `len(company_ids) > 1` on `asset_cash` accounts.
|
|
- 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.payment` record 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:
|
|
1. Open the journal form (**Accounting > Configuration > Journals**).
|
|
2. Go to the **Centralized Payment** tab.
|
|
3. Enable **Is Centralized**.
|
|
4. Set the **Parent Company**, **Parent Journal**, and both **Inter-Company (RK) Accounts**.
|
|
5. When registering a payment on a vendor bill, select this journal to trigger the cross-company flow.
|
|
|
|
## Author
|
|
- **Suherdy Yacob**
|