diff --git a/__manifest__.py b/__manifest__.py index 7c64764..8587903 100755 --- a/__manifest__.py +++ b/__manifest__.py @@ -5,7 +5,9 @@ "category": "Point of Sale", "author": "Suherdy Yacob", "depends": ["point_of_sale"], - "data": [], + "data": [ + "views/pos_session_views.xml", + ], "assets": { "point_of_sale.assets": [ "pos_cash_opening_adjustment/static/src/xml/closing_popup.xml", diff --git a/models/pos_session.py b/models/pos_session.py index 47c37cd..29de5be 100755 --- a/models/pos_session.py +++ b/models/pos_session.py @@ -43,6 +43,12 @@ class PosSession(models.Model): readonly=True, help="Difference between expected and counted cash at session closing.", ) + cash_difference = fields.Monetary( + string="Cash Different", + currency_field="currency_id", + compute="_compute_cash_difference", + help="The difference between the expected cash and the counted cash.", + ) @api.depends("opening_cash_expected", "opening_cash_counted") def _compute_opening_cash_difference(self): @@ -51,6 +57,14 @@ class PosSession(models.Model): counted = session.opening_cash_counted or 0.0 session.opening_cash_difference = counted - expected + @api.depends("state", "closing_cash_difference", "cash_register_difference") + def _compute_cash_difference(self): + for session in self: + if session.state == "closed": + session.cash_difference = session.closing_cash_difference or 0.0 + else: + session.cash_difference = session.cash_register_difference or 0.0 + def action_pos_session_open(self): res = super().action_pos_session_open() for session in self: diff --git a/views/pos_session_views.xml b/views/pos_session_views.xml new file mode 100644 index 0000000..5804f39 --- /dev/null +++ b/views/pos_session_views.xml @@ -0,0 +1,16 @@ + + + + + pos.session.tree.inherit.cash.difference + pos.session + + + + + + + +