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.)
auto_awesome What this module does
AI-generated from the code · Odoo 17.0Lets you record cash put into or taken out of a Point of Sale session with a predefined reason, and automatically posts the matching accounting entry to the right income or expense account.
This module adds a configurable list of reasons for cash movements in the Point of Sale. You create reasons under Point of Sale > Configuration, where each reason has a name, the cash journals it applies to, and whether it is used for money coming in, money going out, or both. For each direction you can pick the income or expense account that should be hit.
On an open or closing Point of Sale session, two buttons appear: "Put Money In" and "Take Money Out". They only show when at least one matching reason exists for the session's company. Clicking one opens a small form where you choose the reason, the journal, and the amount. The reason name is filled in automatically, and if the reason is linked to a single journal that journal is preselected. The amount must be greater than zero.
When you apply, the module creates a cash statement line on the session with the chosen amount and the counterpart account defined on the reason, so the accounting entry is generated automatically. Reasons are filtered by company, and only users with the right Point of Sale or accounting permissions can manage them.
Depends on
Required by other modules
Menus it adds
Models and fields (3)
- pos.session · extends an existing modeldisplay_move_reason_income, display_move_reason_expense
- pos.move.reason · new modelname, active, company_id (Company), journal_ids (Accounting Journals), is_income_reason, income_account_id (Income Account), is_expense_reason, expense_account_id (Expense Account)
- wizard.pos.move.reason · new modelname (Reason), amount, move_type, journal_id (Journal), session_id (Current Session), journal_ids, move_reason_id (Move Reason)
Text generated by AI (DeepSeek) from reading the Odoo 17.0 code on GitHub; it may contain mistakes, so check the code before deciding. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 5 confirmed, 4 with no information of 9 versions.
Sources · Odoo 12.0
Confirmed on 2026-11-03 in branch 12.0 of OCA/pos.
terminal Installation and usage
OCA documentation · Odoo 17.0Configuration
Source · Odoo 17.0- Go to 'Point of Sale' / 'Configuration' / 'Move Reason'
- 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.
Note
You should have checked first 'Used in Point of Sale' for the Journals you want to enable the feature.
Usage
Source · Odoo 17.0- Go to your current session
- Click on the button "Put Money In" or "Take Money Out"
- Select the reason, the journal, the amount, and optionaly an extra description
- When closing the session, an account move will be created, with two lines, one with the default journal account, and one with the expense / income reason account.
No verified information in OCA: Installation.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.