11/09/2026
Learn how to build a professional Dynamic Excel Sales Report in Odoo 19 using Python, the Odoo ORM and XlsxWriter.
In this complete Odoo development tutorial, we create a custom reporting application that allows users to apply dynamic sales filters and instantly download a professionally formatted, multi-sheet Excel workbook.
β
WHAT YOU WILL LEARN
β’ How to create an Odoo 19 reporting wizard using TransientModel
β’ How to add start-date and end-date filters
β’ How to filter by customers, salespeople and sales teams
β’ How to support multiple companies
β’ How to filter quotations, confirmed orders and cancelled orders
β’ How to group sales by month, customer or salesperson
β’ How to convert sales totals into a selected reporting currency
β’ How to use the exchange rate applicable on each order date
β’ How to generate Excel files dynamically with XlsxWriter
β’ How to create reusable Excel formatting
β’ How to add KPI cards, formulas, totals and charts
β’ How to generate multiple Excel worksheets
β’ How to create Product Analysis and detailed Order Lines sheets
β’ How to download the generated XLSX file through Odoo
β’ How to configure security access, views, actions, menus and a custom application icon
π GENERATED EXCEL WORKSHEETS
1. Summary
2. Sales Orders
3. Product Analysis
4. Order Lines β optional
The Summary worksheet includes the selected report filters, total orders, unique customers, total revenue, average order value, grouped sales analysis and an automatically generated chart.
The Sales Orders worksheet provides order-level information, while Product Analysis aggregates quantities and revenue by product. The optional Order Lines worksheet provides detailed line-level sales data for auditing and further analysis.
β FULL SOURCE CODE FOR ODOOISTIC PREMIUM MEMBERS
Odooistic Premium members can access the complete source code for this Dynamic Sales Excel Report application and use it as a practical foundation for their own Odoo 19 projects.
Premium source-code repository:
https://github.com/ffaemy/odooistic-premium
HOW TO REQUEST ACCESS
1. Become an Odooistic Premium member.
2. Create or use your existing GitHub account.
3. Email your GitHub username to [[email protected]](mailto:[email protected]).
4. I will add your GitHub account as a collaborator.
5. Accept the GitHub invitation to access and download the source code.
Please note: this is a private repository. The link may display a 404 or Not Found page until your GitHub account has been added as a collaborator and you have accepted the invitation.
π© ODOO SERVICES AND TECHNICAL SUPPORT
If you need help with Odoo customisation, custom module development, deployment, migration, API integration, performance optimisation or technical consulting, contact:
[[email protected]](mailto:[email protected])
Subscribe to Odooistic for more practical Odoo 19 development tutorials covering Python, ORM, PostgreSQL, OWL, APIs, integrations, migrations and advanced ERP development.