Cash Deposits Report
Who took cash out of the drawer, when, and why
Gathers Point of Sale cash withdrawals and deposits by branch and period, with the reason, the amount and the user behind each movement. Odoo stores them, but never lets you see them together.
How you get it
Every development works in all three Odoo environments. The only thing that changes is how we deliver it.
Odoo Online (SaaS)
You do not need the ability to install modules. A Millora consultant comes in with temporary access that you authorize and implements it with Odoo Studio. When they are done, you revoke the access.
Odoo.sh or your own server
You receive the module and the installation guide by email as soon as payment clears. Install it yourself, or we install it with you.
Installation · shell
# 1 · copia el módulo a tu addons_path
cp -r millora_reporte_de_depositos_en_efectivo /mnt/extra-addons/
# 2 · reinicia y actualiza la lista de apps
odoo-bin -u all -d tu_base --stop-after-init
# 3 · instala desde Apps
# busca "Cash Deposits Report"What it solves
The problem
The cash moving in and out of a drawer during the day isn't the sales: it's the drops to the safe, the float put in to make change, the supplier who turned up unannounced and had to be paid.
Odoo records them, but won't show them together. There is no report by branch, none focused on the safe, and the native view leaves out exactly what you need in order to review: the reason, the user who did it, and the line-by-line detail.
So cash review happens by hand, and the monthly cash reconciliation depends on somebody remembering what happened.
How it works
You pick the period with a date-and-time filter — the time matters, because a cash close doesn't land at midnight — and the point of sale you want to review.
On Run, the report returns every cash deposit and withdrawal for that branch in that window, as a line-by-line table: date, point of sale, reason, amount and the user who entered it. At the end, the period's net.
And since the branch is a choice, you can run several and compare how cash behaves at each.
What it does not do
Point of Sale only. It includes no bank movements and nothing entered outside that module.
It does not standardise reasons. The reason is free text: if every cashier writes their own, the report shows it that way. Worth agreeing on wording beforehand, because that is what decides whether the column is groupable.
It does not classify or interpret. It shows what the operator entered. A badly entered withdrawal appears badly entered.
What changes
End-of-day cash review stops depending on memory. Accounting reconciles cash from one screen instead of one phone call per branch, and an audit can verify movement by movement without asking anyone for anything.
And the withdrawal with no clear reason — the one that matters — sits in plain sight in the same table as the rest.
What's included
- Gathers Point of Sale cash deposits and withdrawals into a single report
- Bounds the period by date and time, so it matches the real cash close
- Filters by point of sale, so each branch is reviewed on its own
- Details date, point of sale, reason, amount and user on every row
- Computes the net of the period's movements
- Runs in one click, with no prior setup
Requirements
- Point of Sale module active and in use: all the data comes from it
- Withdrawals and deposits entered in the POS rather than outside it
- Agreed wording for the reason field, if you want to group by it
- A user with permission to review cash operations
You might also need
Payment Allocator
You decide how much goes to each invoice, not the order of the list
Accounting & tax
AutoAzur Global Invoice Reconciler
One global invoice, hundreds of orders, one run
Accounting & tax
Aspel NOI payroll import
The payroll you already filed lands in Odoo as a journal entry
Accounting & tax

