pos_cash_opening_adjustment/README.md

23 lines
1.5 KiB
Markdown

# POS Cash Opening Adjustment
This module provides adjustments for the POS opening cash mechanism in Odoo 19.
## Features
- Overrides `_set_opening_control_data` to properly initialize and track `opening_cash_expected` and `opening_cash_counted` while utilizing Odoo's native functionality.
- Tracks opening cash correctly so that the system correctly calculates differences.
- Leverages standard Odoo 19 journal handling for robust accounting integration.
- **Phantom Difference Prevention:** Relies on standard Odoo mechanisms to ensure no journal items are created when the expected cash mathematically matches the inputted cash (e.g. opening with 150k and closing with 150k, or opening with 200k, selling 100k, and closing with 300k).
- **Shortage Suppression:** Automatically adjusts the real balance to match the expected balance when a shortage is detected, avoiding loss/expense journal entries.
- **Surplus Recording:** Allows standard Odoo behavior to record a surplus as a profit journal entry.
## Technical Details
This module modifies the `pos.session` object, tracking:
- **`opening_cash_expected`**: The expected cash balance when opening the session.
- **`opening_cash_counted`**: The actual cash counted by the cashier.
- **`opening_cash_difference`**: Computed difference between counted and expected opening cash.
It modifies the standard `_validate_session` process strictly for suppressing negative discrepancies (shortages where the ending cash register is lower than expected), logging the event into the chatter.
## Author
Suherdy Yacob