Skip to Content
Menu

Big Data Reports

by
Odoo

152.59

v 15.0 Third Party
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Invoicing (account)
Manufacturing (mrp)
Purchase (purchase)
Discuss (mail)
Lines of code 994
Technical Name print_wizard
LicenseAGPL-3
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Odoo Apps Dependencies Inventory (stock)
Invoicing (account)
Manufacturing (mrp)
Purchase (purchase)
Discuss (mail)
Lines of code 994
Technical Name print_wizard
LicenseAGPL-3

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.

Overview

    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.

🔐 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:

  1. Update the JavaScript in print_wizard.DownloadReportListController.
  2. Add the new model name and view ID condition in the renderButtons() method.
  3. 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

Need Help?


+966 54227 3082 +91 9360353170

Please log in to comment on this module

  • The author can leave a single reply to each comment.
  • This section is meant to ask simple questions or leave a rating. Every report of a problem experienced while using the module should be addressed to the author directly (refer to the following point).
  • If you want to start a discussion with the author or have a question related to your purchase, please use the support page.