TIP: You can type at any time to perform a new search.
POS cash in-out reason
pos_cash_move_reason · OCA/pos
- Repository
- OCA/pos · module folder · Try on Runboat
- Module version
- 1.0.0
- Category
- Point Of sale
- Folder size
- 0.72 MB
- License
- AGPL-3
- Application
- No
- Auto-installable
- No
- Website
- https://github.com/OCA/pos
- Last tracking update
- 2026-08-07 08:23:00
- Authors
- ACSONE SA/NV, Odoo Community Association (OCA), GRAP
- Maintainers
- ACSONE SA/NV, Odoo Community Association (OCA), GRAP
- Committers
- Weblate, OCA-git-bot, oca-ci, chaule97
- Odoo dependencies
- Python dependencies
- None
- System dependencies
- None
- Required by
- None
- Description
This module allow to define some reasons for the functionality of "Put Money In" and "Take Money 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.)
Code Analysis ⓘ
Views touched (4)
| XML ID | Name | Model | Type | Status |
|---|---|---|---|---|
view_pos_move_reason_form |
pos.move.reason.form (in pos_cash_move_reason) | pos.move.reason | form | New |
view_pos_move_reason_tree |
pos.move.reason.tree (in pos_cash_move_reason) | pos.move.reason | tree | New |
view_pos_session_form |
pos.session.form (in pos_cash_move_reason) | pos.session | form | Inherits point_of_sale.view_pos_session_form |
view_wizard_pos_move_reason_form |
wizard.pos.move.reason | form | New |
HTTP endpoints (0)
No HTTP endpoints found for this module.
Models touched (3)
New fields (8)
-
activeBooleandefault=True -
company_idMany2one → res.companycomodel_name='res.company'default=_default_company_idrequired=Truestring='Company' -
expense_account_idMany2one → account.accountcomodel_name='account.account'string='Expense Account' -
income_account_idMany2one → account.accountcomodel_name='account.account'string='Income Account' -
is_expense_reasonBooleandefault=True -
is_income_reasonBooleandefault=True -
journal_idsMany2many → account.journalcomodel_name='account.journal'default=_default_journal_idsstring='Accounting Journals' -
nameCharrequired=True
No public methods.
New fields (2)
-
display_move_reason_expenseBooleancompute='_compute_display_move_reason' -
display_move_reason_incomeBooleancompute='_compute_display_move_reason'
-
button_move_expense(self) -
button_move_income(self)
New fields (7)
-
amountFloatrequired=True -
journal_idMany2one → account.journalcomodel_name='account.journal'domain="[('id', 'in', journal_ids)]"required=Truestring='Journal' -
journal_idsMany2many → account.journalcomodel_name='account.journal'related='move_reason_id.journal_ids' -
move_reason_idMany2one → pos.move.reasoncomodel_name='pos.move.reason'required=Truestring='Move Reason' -
move_typeSelectiondefault=_default_move_typeselection=_MOVE_TYPE_SELECTION -
nameCharrequired=Truestring='Reason' -
session_idMany2one → pos.sessioncomodel_name='pos.session'default=_default_session_idreadonly=Truerequired=Truestring='Current Session'
-
apply(self) -
onchange_move_type(self)@api.onchange('move_type') -
onchange_reason(self)@api.onchange('move_reason_id')
Loading…
Loading…
Loading…
Loading…
Loading…