Advanced Reporting Wizard for Odoo To get Lakhs of BIG Data In Single Report
Empower your team to generate and download reports directly from list views with user role-based control.
High Performance: Supports reports with hundreds of thousands of Lakhs of records, generating outputs in just a few seconds â significantly faster than the default Odoo behavior.
Data-Compatible & Blazing Fast: Handles massive datasets (100,000+ records) in a single report, with generation speeds far superior to standard Odoo reporting.


Explore this module
Overview
- High Performance: Supports reports with hundreds of thousands of lakhs of records, generating outputs in just a few seconds â significantly faster than the default Odoo behavior.
- Data-Compatible & Blazing Fast: Handles massive datasets (100,000+ records) in a single report, with generation speeds far superior to standard Odoo reporting.
- High Performance with Currency Conversion: Generates large-scale reports (100,000+ records) within seconds, with all amounts automatically converted based on the company's base currency using real-time foreign exchange rates.
- Fast & Smart Currency Reporting: Instantly processes reports with lakhs of entries, converting all values into your companyâs currency using live exchange rates â faster and more powerful than standard Odoo reports.
- Conditional Button Display: "Download Report" button only appears for users in specific groups (e.g., Sales, Inventory, BOM, etc.).
- Dynamic View Detection: Buttons are shown only in specific tree views like Quotations, Invoices, BOMs, and Stock Valuation Layers.
- Secure Report Access: Only authorized users can generate/download reports for their relevant models.
- Modular Design: Easily extend this logic to support new views and models.
- DATA COMPATBILE Morethan Lakhs Of Big Data In Single Report In a Few Seconds Faster Than Default base Odoo
- Interactive Dialog: When clicking "Download Report", a popup wizard opens allowing tailored report downloads.
- Odoo Group Integration: Integrates seamlessly with group permissions (`print_wizard.group_*`).
- Minimal Configuration: Automatically detects user roles and adjusts UI without any manual setup.
- Plug & Play: Compatible with default Odoo list views out of the box.
Overview
ð Role-Based Report Access
Different users will see different report types depending on their user group/permissions. Here's a breakdown:
ð¨âð¼ Sales Teams
- Delivered Orders Report
- Pending Orders Report
- PO Report
- Sales with Invoice/Delivery Report
ð° Accounting Users
- Sales with Invoice Report (from invoices)
ð¬ Inventory Users
- Inventory Valuation Report
- Detailed or Overall Movement Report
ð Manufacturing BOM Controller
- BOM Structure & Cost Report For All Products In Single Report
ð Query-Based Data Retrieval
For optimal performance and scalability, this reporting tool uses query-based data fetching in the backend. This means it runs direct PSQL queries instead of relying on the default ORM (Object Relational Mapping).
- â Only retrieves the specific data needed
- â Much faster than traditional ORM for large datasets
- â Improves report generation performance and accuracy
- â Minimizes memory usage by avoiding unnecessary joins
This approach is especially effective for generating reports like Sales Orders, Stock Valuation, Invoices, and BOM Costing.
ð§© Extending Report Download Button to Other Models
If a developer needs the "Download Report" button in other models, they simply need to:
- Update the JavaScript in
print_wizard.DownloadReportListController
. - Add the new model name and view ID condition in the
renderButtons()
method. - The button will automatically appear in that model's list view.
â Example:
if (xml_id === 'purchase.purchase_order_tree') { models.push('purchase.order'); }
This will enable the report download button in the Purchase Order list view.
ð§ Why Each Layer is Used & Its Behavior
Part | Why It's Used | What Behavior It Handles |
---|---|---|
JavaScript (JS) | Adds dynamic behavior in list views | Shows or hides the Download Report button and opens the wizard popup |
Python | Backend logic and routing | Handles wizard inputs, validates permissions, and triggers report export logic |
Python (Controller) | Handles web requests | Routes Excel export requests and returns downloadable reports |
XML | Defines views and groups in Odoo | Creates wizard forms, declares user groups and access rules |
HTML | Structures frontend content | Used in dashboard views, message boxes, and report templates |
CSS | Applies visual styling | Styles the layout, buttons, fonts, and tables for a cleaner UI |
PSQL Query | Efficient direct data fetching | Quickly pulls large datasets (sales, stock, invoices) without ORM slowdowns |
User Groups & Supported Views
- Sales Reports: `sale.view_quotation_tree_with_onboarding`
- Invoice Reports: `account.view_out_invoice_tree`
- Stock Valuation Reports: `stock_account.stock_valuation_layer_tree`
- BOM Reports: `mrp.mrp_bom_tree_view`
The module automatically shows or hides the download button based on the current view and the user's group permissions.
Screenshots








Our Services

Odoo Customization

Odoo Implementation

Odoo Support

Odoo Integration
Related Products
Please log in to comment on this module