| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Employees (hr) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 169 |
| Technical Name |
aminitech_pos_product_sales_report |
| License | OPL-1 |
| Website | https://aminitechsolutions.com |
| Versions | 17.0 18.0 19.0 |
POS Product Sales Report
A read-only "Product Sales" analytics view under Point of Sale > Reporting. Every order line becomes a pivot/graph/list row — filterable by date, POS, session, product, category, waiter, cashier and status.
The reporting answer the standard POS Orders report can't give you
Standard Odoo POS reports group at the ORDER level. Want sales-by-product, sales-by-waiter, sales-by-category? You're stuck building Studio views or exporting CSV. POS Product Sales Report adds the missing line-level pivot — one row per order line, joined with everything you need to drill down.
Line-level granularity
Every order LINE is a row — not just every order. Means you can ask: "What did Waiter X sell yesterday?" "Top 10 products on Friday lunch?" "Which categories drive the Q4 number?"
9 group-by dimensions
Group by product, category, point-of-sale, session, waiter, cashier, supervisor, customer, status, or day — one click each, no Studio required.
Read-only by design
Backed by a Postgres VIEW (_auto = False) — the report literally cannot be edited or deleted. Pure analytics, zero risk to operational data.
PIN-attributed waiter / cashier
Distinguishes the WAITER (who took the order via PIN on the till) from the VALIDATING CASHIER (who closed the payment) — the actual employees, not the supervisor signed into the backend.
Zero standard-model changes
No override on pos.order, no change to standard reports, no modification to any other module. Drops in and removes cleanly.
Best-of-both pre-set
Defaults to "Today + Sales only + grouped by product" — managers see actionable numbers the moment they click the menu. One click to change the lens.
Pivot, Graph, List — pick the lens that fits
Pivot (default)
Products in rows, point-of-sale in columns. Qty + Total as measures. Drill into any cell with the standard Odoo pivot expander.
Graph
Bar chart of total sales per product. Switch to line/area, change the measure, or change the X axis — standard Odoo graph view.
List
Every order line: date, receipt, product, category, qty, subtotal, total, discount, customer, waiter, cashier, supervisor, POS, session, status — with column-level sums.
Every dimension you'd want to slice by
Filters
- Today — one-click today's sales
- Sales only (Paid / Posted / Invoiced)
- Invoiced — only invoiced lines
- Cancelled — for refund / reconciliation work
- Order Date — Odoo date-range filter (this week, last week, this month, custom)
Group by
- Product / Product Category
- Point of Sale / Session
- Waiter (PIN-logged employee)
- Validating Cashier (PIN-logged employee)
- Supervisor (Odoo user)
- Customer / Order Status / Day
Cannot affect existing behaviour
One Postgres VIEW. The report is _auto = False — backed by a database VIEW, never a table. Cannot be written, cannot be deleted, has no business logic.
One ACL row. Scoped to the POS Manager group only. No regular user, no cashier, no waiter can see the menu.
Zero standard-model overrides. No _inherit on pos.order, pos.order.line, or anything else. Standard reports continue to work exactly as before.
Graceful degradation. Detects whether AminiTech POS Security Pro added the cashier_employee_id column. If yes, the report adds the Validating Cashier column with PIN attribution. If no, that column is NULL — report still loads.
Clean uninstall. Dropping the module drops the VIEW. Standard data is never touched. Zero migration risk.
90 days included
Email reach@aminitechsolutions.com — one business-day reply. Live test at demo.aminitechsolutions.com.
Frequently asked questions
Does it modify the standard POS reports?
What about performance on a large POS database?
pos_order_line with pos_order and product_*. The standard Odoo POS indexes cover every column the report's search uses (date, config_id, session_id, product_id, partner_id, state). Pivots over millions of rows run in seconds.Does it need pos_hr?
pos_hr so the report can show the actual waiter / cashier employees instead of just the Odoo backend user. pos_hr ships with Odoo Community out of the box.Which Odoo versions are supported?
Maintained by AminiTech Solutions
Email reach@aminitechsolutions.com · Test it live at demo.aminitechsolutions.com
License OPL-1 · 90 days free support included
| Availability |
Odoo Online
Odoo.sh
On Premise
|
| Odoo Apps Dependencies |
•
Point of Sale (point_of_sale)
• Employees (hr) • Discuss (mail) • Inventory (stock) • Invoicing (account) |
| Lines of code | 169 |
| Technical Name |
aminitech_pos_product_sales_report |
| License | OPL-1 |
| Website | https://aminitechsolutions.com |
Odoo Proprietary License v1.0 This software and associated files (the "Software") may only be used (executed, modified, executed after modifications) if you have purchased a valid license from the authors, typically via Odoo Apps, or if you have received a written agreement from the authors of the Software (see the COPYRIGHT file). You may develop Odoo modules that use the Software as a library (typically by depending on it, importing it and using its resources), but without copying any source code or material from the Software. You may distribute those modules under the license of your choice, provided that this license is compatible with the terms of the Odoo Proprietary License (For example: LGPL, MIT, or proprietary licenses similar to this one). It is forbidden to publish, distribute, sublicense, or sell copies of the Software or modified copies of the Software. The above copyright notice and this permission notice must be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
Please log in to comment on this module