pos_cash_opening_adjustment/README.md

1.5 KiB

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