Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
50 commits
Select commit Hold shift + click to select a range
da0a061
[ADD] Add pos_cash_move_reason module
Apr 11, 2016
0730489
[FIX] make description working in odoo / appstore
legalsylvain Apr 12, 2016
8f0cfaa
OCA Transbot updated translations from Transifex
oca-transbot Jun 10, 2017
64cc44c
OCA Transbot updated translations from Transifex
oca-transbot Jun 17, 2017
27a8ad4
OCA Transbot updated translations from Transifex
oca-transbot Sep 2, 2017
f874b7b
OCA Transbot updated translations from Transifex
oca-transbot Mar 3, 2018
49f3b5f
remove obsolete .pot files [ci skip]
sbidoul Jun 15, 2018
bcb508a
[UPD] Update pos_cash_move_reason.pot
oca-travis Jun 22, 2018
2269955
[ADD] demo data
legalsylvain Feb 15, 2018
b24010e
[UPD] Update pos_cash_move_reason.pot
oca-travis Jun 25, 2018
193f670
Update translation files
oca-transbot Dec 9, 2018
67102cb
[MIG][12.0] port pos_cash_move_reason
legalsylvain Jul 18, 2019
a460e16
[UPD] Update pos_cash_move_reason.pot
oca-travis May 26, 2020
23a2b66
[UPD] README.rst
OCA-git-bot May 26, 2020
65169be
pos_cash_move_reason 12.0.3.0.1
OCA-git-bot May 26, 2020
0a33136
Update translation files
oca-transbot Jun 4, 2020
cdefcfe
Translated using Weblate (Spanish)
danimv5 Jul 27, 2020
c9a7ca3
Update translation files
oca-transbot Aug 16, 2020
446d6d9
[FIX] pos_cash_move_reason : date of statement line depends now on th…
legalsylvain Sep 2, 2020
c184cdb
pos_cash_move_reason 12.0.3.0.2
OCA-git-bot Sep 9, 2020
67223ca
Added translation using Weblate (French (Switzerland))
jguenat Oct 20, 2020
1dd7205
Translated using Weblate (French (Switzerland))
jguenat Oct 20, 2020
66f7b97
Translated using Weblate (German)
marylla Oct 21, 2020
e446ef0
[IMP] pos_cash_move_reason: black, isort, prettier
acsonefho Feb 4, 2021
386416c
[13.0][MIG] pos_cash_move_reason
acsonefho Feb 4, 2021
f0d2b33
[IMP] pos_cash_move_reason: isort, black, prettier.
dsolanki-initos Apr 20, 2021
201d507
[MIG] Migrate module pos_cash_move_reason to v14.
dsolanki-initos Apr 20, 2021
e6ac5af
[UPD] Update pos_cash_move_reason.pot
oca-travis Jul 20, 2021
398c970
[UPD] README.rst
OCA-git-bot Jul 20, 2021
ac36c18
[14.0][FIX] pos_cash_move_reason: update/fix ir.rule multi-company
acsonefho Oct 28, 2021
12277f9
pos_cash_move_reason 14.0.1.0.1
OCA-git-bot Oct 28, 2021
5b796d1
[FIX] pos_cash_move_reason:
Apr 1, 2022
c79f08b
Translated using Weblate (Catalan)
Noel000 Apr 13, 2022
3345054
pos_cash_move_reason 14.0.1.0.2
OCA-git-bot May 31, 2022
694bc5a
Translated using Weblate (Italian)
francesco-ooops Jul 4, 2022
6bce580
[14.0][FIX] pos_cash_move_reason: Admin access issue for pos actions
AshishHirapara Jul 28, 2022
44bdb7f
pos_cash_move_reason 14.0.1.0.3
OCA-git-bot Jul 28, 2022
6b41523
[MIG] pos_cash_move_reason: Migration to 15.0
Oct 19, 2022
ba29a7d
[UPD] Update pos_cash_move_reason.pot
Dec 19, 2022
c0601a0
[UPD] README.rst
OCA-git-bot Dec 19, 2022
a6e4829
Update translation files
weblate Dec 19, 2022
8a7ad44
Translated using Weblate (Italian)
mymage Dec 20, 2022
a85993e
Translated using Weblate (Italian)
mymage Apr 28, 2023
8a1269a
Translated using Weblate (Italian)
mymage May 11, 2023
6190366
Translated using Weblate (Catalan)
Jun 23, 2023
272ad3a
Translated using Weblate (Spanish)
Ivorra78 Jul 11, 2023
a93ed71
[UPD] README.rst
OCA-git-bot Sep 3, 2023
ca260e2
[MIG] pos_cash_move_reason: Migration to 16.0
AntoniRomera Oct 26, 2023
efa4484
[IMP] Cash reason form view, FIX test and readme
quentinDupont Jun 25, 2025
c406034
[IMP] Module works in POS UI
quentinDupont Apr 16, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
188 changes: 188 additions & 0 deletions pos_cash_move_reason/README.rst
Original file line number Diff line number Diff line change
@@ -0,0 +1,188 @@
======================
POS cash in-out reason
======================

..
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! This file is generated by oca-gen-addon-readme !!
!! changes will be overwritten. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! source digest: sha256:9be2d1beeded5d8b52824fb2442f7c89f0db512626cb33386044d8c060115f83
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

.. |badge1| image:: https://img.shields.io/badge/maturity-Beta-yellow.png
:target: https://odoo-community.org/page/development-status
:alt: Beta
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
:alt: License: AGPL-3
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fpos-lightgray.png?logo=github
:target: https://github.com/OCA/pos/tree/16.0/pos_cash_move_reason
:alt: OCA/pos
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
:target: https://translation.odoo-community.org/projects/pos-16-0/pos-16-0-pos_cash_move_reason
:alt: Translate me on Weblate
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
:target: https://runboat.odoo-community.org/builds?repo=OCA/pos&target_branch=16.0
:alt: Try me on Runboat

|badge1| |badge2| |badge3| |badge4| |badge5|

This module allow to define some reasons for the functionality of
"Cash In / Out" available in point of sale session.

So, with this module it's possible to impact directly an expense or income
account which is defined on the related reasons and create according
accounting entries.

**Typical Use Case (not exhaustive)**

* You want to track **Bank deposit** moves, using an intermediate
bank account named 'Cash Awaiting Bank Deposit'.
(In France, for instance, "581 - Espèce en attente d'encaissement")

* You want to allow payments from Cash Journal to pay recurring
little expenses. (Gasoline, parking meter, etc.)

**Table of contents**

.. contents::
:local:

Configuration
=============

* Go to 'Point of Sale' / 'Configuration' / 'Move Reason'

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/pos_cash_move_tree.png
:alt: PoS Move Reasons List

* Create or update your PoS move Reasons.
* for each reason, you can mention the concerned journal(s), (Generally the
Cash Journal), and if it is a reason to 'put in' and / or to 'take out'
Money.

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/pos_cash_move_form.png
:alt: PoS Move Reason

**Note**

You should have checked first 'Used in Point of Sale' for the Journals you want
to enable the feature.

Usage
=====

**In backoffice**

* Go to your current session

* Click on the button "Put Money In" or "Take Money Out"

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/pos_session_form.jpeg

* Select the reason, the journal, the amount, and optionaly an extra
description

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/wizard_pos_move_reason_form.png

* An account move will be created, with two lines,
one with the default journal account, and one with the expense / income
reason account.

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/account_move_form.png

**In POS UI**

* Click on Cash In / Out

* Choose Cash In or Cash Out then write the amount

* Choose a Reason

* If it has a Journal, choose Journal and confirm

.. figure:: https://raw.githubusercontent.com/OCA/pos/16.0/pos_cash_move_reason/static/description/pos_cash_move_ui.png

Known issues / Roadmap
======================

As it is not possible to disable actions on Odoo, a new technical group is
added by this module, named 'Use Old PoS 'Put or Take Money' Actions', to
hide native obsolete actions available on the model ``pos.session``
(the two buttons "Take Money Out" and "Put Money In")

Changelog
=========

16.0.2.0.0 (2025-07-27)
~~~~~~~~~~~~~~~~~~~~~~~
* [IMP] This module works directly on POS UI

16.0.1.0.0 (2025-07-27)
~~~~~~~~~~~~~~~~~~~~~~~
* [MIG] Port module to version 16.0.

12.0.3.0.0 (2019-08-13)
~~~~~~~~~~~~~~~~~~~~~~~

* [MIG] Port module to version 12.0.
* [REF] Don't use ``product.product`` model for Reasons, because Odoo remove
the fields ``expense_pdt`` ``and income_pdt`` from the model.
Use instead a new model ``pos.move.reason`` for this purpose.
* [REF] Doesn't inherit from ``cash.box.in`` and ``cash.box.out`` model,
as there are bad designed and doesn't allow clean inheritance.
Instead, use new transient model ``wizard.pos.move.reason``.

8.0.2.0.0 (2018-06-25)
~~~~~~~~~~~~~~~~~~~~~~

* [REF] Minor code refactoring.

8.0.1.0.0 (2017-06-08)
~~~~~~~~~~~~~~~~~~~~~~

* First Version of the module.

Bug Tracker
===========

Bugs are tracked on `GitHub Issues <https://github.com/OCA/pos/issues>`_.
In case of trouble, please check there if your issue has already been reported.
If you spotted it first, help us to smash it by providing a detailed and welcomed
`feedback <https://github.com/OCA/pos/issues/new?body=module:%20pos_cash_move_reason%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.

Do not contact contributors directly about support or help with technical issues.

Credits
=======

Authors
~~~~~~~

* ACSONE SA/NV
* GRAP

Contributors
~~~~~~~~~~~~

* Sylvain LE GAL <https://twitter.com/legalsylvain>
* Quentin DUPONT
* Dhara Solanki <dhara.solanki@initos.com>

Maintainers
~~~~~~~~~~~

This module is maintained by the OCA.

.. image:: https://odoo-community.org/logo.png
:alt: Odoo Community Association
:target: https://odoo-community.org

OCA, or the Odoo Community Association, is a nonprofit organization whose
mission is to support the collaborative development of Odoo features and
promote its widespread use.

This module is part of the `OCA/pos <https://github.com/OCA/pos/tree/16.0/pos_cash_move_reason>`_ project on GitHub.

You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
5 changes: 5 additions & 0 deletions pos_cash_move_reason/__init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).

from . import models
from . import wizard
32 changes: 32 additions & 0 deletions pos_cash_move_reason/__manifest__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
# Copyright 2016 ACSONE SA/NV (<http://acsone.eu>)
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
{
"name": "POS cash in-out reason",
"summary": """""",
"author": "ACSONE SA/NV," "GRAP," "Odoo Community Association (OCA)",
"website": "https://github.com/OCA/pos",
"category": "Point Of sale",
"version": "16.0.1.0.0",
"license": "AGPL-3",
"depends": ["point_of_sale"],
"data": [
"security/ir_rule.xml",
"security/res_groups.xml",
"security/ir.model.access.csv",
"views/view_pos_move_reason.xml",
"views/view_pos_session.xml",
"wizard/wizard_pos_move_reason.xml",
],
"demo": [
"demo/account_account.xml",
"demo/account_journal.xml",
"demo/pos_move_reason.xml",
],
"assets": {
"point_of_sale.assets": [
"pos_cash_move_reason/static/src/css/*.scss",
"pos_cash_move_reason/static/src/xml/**.xml",
"pos_cash_move_reason/static/src/js/**.js",
],
},
}
37 changes: 37 additions & 0 deletions pos_cash_move_reason/demo/account_account.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="bank_deposit_account" model="account.account">
<field name="code">101505</field>
<field name="name">Cash Awaiting Bank Deposit</field>
<field name="account_type">asset_cash</field>
</record>

<record id="bank_suspense_account" model="account.account">
<field name="code">101405</field>
<field name="name">Demo Bank Suspense Account</field>
<field name="account_type">asset_current</field>
</record>

<record id="gazoline_expense_account" model="account.account">
<field name="code">221500</field>
<field name="name">Gazoline Expense</field>
<field name="account_type">expense</field>
</record>

<record id="demo_cash_difference_gain" model="account.account">
<field name="code">442001</field>
<field name="name">Demo Cash Difference Gain</field>
<field name="account_type">income</field>
</record>

<record id="demo_cash_difference_loss" model="account.account">
<field name="code">642001</field>
<field name="name">Demo Cash Difference Loss</field>
<field name="account_type">expense</field>
</record>
</odoo>
21 changes: 21 additions & 0 deletions pos_cash_move_reason/demo/account_journal.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2025 - Today: GRAP (http://www.grap.coop)
@author: Quentin DUPONT
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<!-- <odoo noupdate="1"> -->
<odoo>

<record id="account_journal_cash" model="account.journal">
<field name="name">Demo Cash Journal</field>
<field name="type">cash</field>
<field name="code">CASH</field>
<field name="company_id" ref="base.main_company" />
<field name="default_account_id" ref="bank_deposit_account" />
<field name="suspense_account_id" ref="bank_suspense_account" />
<field name="profit_account_id" ref="demo_cash_difference_gain" />
<field name="loss_account_id" ref="demo_cash_difference_loss" />
</record>

</odoo>
32 changes: 32 additions & 0 deletions pos_cash_move_reason/demo/pos_move_reason.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!--
Copyright (C) 2018 - Today: GRAP (http://www.grap.coop)
@author: Sylvain LE GAL (https://twitter.com/legalsylvain)
License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
-->
<odoo>
<record id="bank_out_reason" model="pos.move.reason">
<field name="name">Bank Deposit</field>
<field name="is_income_reason" eval="False" />
<field name="is_expense_reason" eval="True" />
<field name="expense_account_id" ref="bank_suspense_account" />
<field
name="journal_ids"
model="account.journal"
eval="[(4, ref('account_journal_cash'))]"
/>
<field name="company_id" ref="base.main_company" />
</record>
<record id="gasoline_out_reason" model="pos.move.reason">
<field name="name">Gazoline Expense</field>
<field name="is_income_reason" eval="False" />
<field name="is_expense_reason" eval="True" />
<field name="expense_account_id" ref="gazoline_expense_account" />
<field
name="journal_ids"
model="account.journal"
eval="[(4, ref('account_journal_cash'))]"
/>
<field name="company_id" ref="base.main_company" />
</record>
</odoo>
Loading