Skip to Content
Odoo Menu
  • Sign in
  • Try it free
  • Apps
    Finance
    • Accounting
    • Invoicing
    • Expenses
    • Spreadsheet (BI)
    • Documents
    • Sign
    Sales
    • CRM
    • Sales
    • POS Shop
    • POS Restaurant
    • Subscriptions
    • Rental
    Websites
    • Website Builder
    • eCommerce
    • Blog
    • Forum
    • Live Chat
    • eLearning
    Supply Chain
    • Inventory
    • Manufacturing
    • PLM
    • Purchase
    • Maintenance
    • Quality
    Human Resources
    • Employees
    • Recruitment
    • Time Off
    • Appraisals
    • Referrals
    • Fleet
    Marketing
    • Social Marketing
    • Email Marketing
    • SMS Marketing
    • Events
    • Marketing Automation
    • Surveys
    Services
    • Project
    • Timesheets
    • Field Service
    • Helpdesk
    • Planning
    • Appointments
    Productivity
    • Discuss
    • Approvals
    • IoT
    • VoIP
    • Knowledge
    • WhatsApp
    Third party apps Odoo Studio Odoo Cloud Platform
  • Industries
    Retail
    • Book Store
    • Clothing Store
    • Furniture Store
    • Grocery Store
    • Hardware Store
    • Toy Store
    Food & Hospitality
    • Bar and Pub
    • Restaurant
    • Fast Food
    • Guest House
    • Beverage Distributor
    • Hotel
    Real Estate
    • Real Estate Agency
    • Architecture Firm
    • Construction
    • Property Management
    • Gardening
    • Property Owner Association
    Consulting
    • Accounting Firm
    • Odoo Partner
    • Marketing Agency
    • Law firm
    • Talent Acquisition
    • Audit & Certification
    Manufacturing
    • Textile
    • Metal
    • Furnitures
    • Food
    • Brewery
    • Corporate Gifts
    Health & Fitness
    • Sports Club
    • Eyewear Store
    • Fitness Center
    • Wellness Practitioners
    • Pharmacy
    • Hair Salon
    Trades
    • Handyman
    • IT Hardware & Support
    • Solar Energy Systems
    • Shoe Maker
    • Cleaning Services
    • HVAC Services
    Others
    • Nonprofit Organization
    • Environmental Agency
    • Billboard Rental
    • Photography
    • Bike Leasing
    • Software Reseller
    Browse all Industries
  • Community
    Learn
    • Tutorials
    • Documentation
    • Certifications
    • Training
    • Blog
    • Podcast
    Empower Education
    • Education Program
    • Scale Up! Business Game
    • Visit Odoo
    Get the Software
    • Download
    • Compare Editions
    • Releases
    Collaborate
    • Github
    • Forum
    • Events
    • Translations
    • Become a Partner
    • Services for Partners
    • Register your Accounting Firm
    Get Services
    • Find a Partner
    • Find an Accountant
      • Get a Tailored Demo
    • Implementation Services
    • Customer References
    • Support
    • Upgrades
    Github Youtube Twitter Linkedin Instagram Facebook Spotify
    +32 2 290 34 90
    • Get a Tailored Demo
  • Pricing
  • Help
  1. APPS
  2. Reporting
  3. Banded Report Writer v 19.0
  4. Sales Conditions FAQ

Banded Report Writer

by Wilson Works https://www.wilsonworks.com.au
Odoo
v 19.0 Third Party 3
Download for v 19.0 Deploy on Odoo.sh
Apps purchases are linked to your Odoo account, please sign in or sign up first.
You bought this module and need support? Click here!
Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 10256
Technical Name banded_report_writer
LicenseOPL-1
Websitehttps://www.wilsonworks.com.au
  • Description
  • Manifest
  • License

Banded Report Writer Free

Professional PDF report writer for everyone
No qweb, Fully integrated with Odoo, Auto report generation, Shared community library, getting-started tutorials

A Pro version includes all the free version’s features and adds extra capabilities for truly outstanding reports.

✓ Odoo 19 Community ✓ Odoo 19 Enterprise

Banded Report Writer Demo

▶ Watch the demo on YouTube

Try it now

Visit our live demo version - please copy and paste this URL: https://brw-demo.wilsonworks.com.au Verified clean by Google Safe Browsing

To help get started visit our YouTube channel for tutorials:  https://www.youtube.com/@WilsonWorks-e8n

Background

The Banded Report Writer was created for Odoo business analysts, implementers, and users — anyone who has ever needed a custom report. As experienced Odoo functional experts ourselves, we understand the need for accessible reporting tools. Standard Odoo reporting relies on QWeb, a developer-centric templating system. While Odoo has moved away from wkhtmltopdf toward newer rendering engines, the underlying architecture remains complex, making report writing challenging for most functional users. Other attempts have been made, e.g. Pentaho Reporter which was Java-based, but none have been native to Odoo. That’s why we built this module. Banded Report Writer is a pure-Python Odoo report writer designed to put the power of beautiful, professional reports back in the hands of the people who understand the business — not just the developers. This app is for you: whether you’re creating your first report or building complex grouped summaries with dynamic images and scheduled delivery, everything you need is here. We hope you’ll not only use it to solve your own reporting challenges, but also share your reports in our growing community library so that everyone benefits.

Who Is This For?

👔

Functional Consultants

No developer required. Design, deploy, and iterate on reports entirely from the Odoo UI.

📊

Business Analysts

Rapidly prototype and deliver client-ready PDFs with grouping, totals, and formatting.

🖨

End Users

Print directly from any Odoo record or list view. One-click professional PDF output.

🤝

Odoo Partners

Deliver polished client reports faster. Share reusable definitions across projects.

Key Features

🚀 No Code Required

Design professional PDF reports using simple JSON definitions. No QWeb, no Python, no developers needed.

Report Design

🧙 Automated Report Builder

Get up and running in minutes with the guided wizard. Select your data model, choose fields, and generate a complete report automatically.

📐 Banded Report Layouts

Multi-section reports with headers, detail bands, group headers/footers, and footers. Professional banding like Crystal Reports.

📝 JSON Editor

Full JSON editor with validation and helpful error messages. Define every aspect of your report in clean, readable JSON.

📏 Column Positioning

Use constants for setting important column positions — changes only need to be updated in one place.

🎨 Colour Palette

Define and reuse your company’s colour theme with the “palette” directive.

🛠 Report Builder Wizard

Get started fast using the report builder wizard that produces ready-to-go reports that can be modified.

❓ Built-in Help

Comprehensive contextual help and documentation built directly into Odoo. Learn as you build.

Data & Grouping

🔀 Multi-Level Grouping

Group data by multiple fields with automatic subtotals and aggregates. Nested groups with hierarchical summaries.

➕ Aggregate Functions

SUM, COUNT, AVG, MIN, MAX for automatic calculations. Grand totals in the report footer.

💱 Field Formatting

Currency, number, and date formatting with conditional styling and precision control.

📽 Automatic Sorting

Sort by group fields automatically. Define sort order in your JSON report definition.

Output & Performance

📄 Professional PDF Output

Generate clean, professional PDFs using ReportLab. No WKHTMLTOPDF or external dependencies.

⚡ Performance Tested

Handles 10,000+ records and 800+ pages in under 1 second. Fully tested with 500+ quality tests.

📑 Pagination

Automatic page breaks with proper handling of group headers and footers across pages, including continuation messages.

🖨 Print from Forms or Selections

Automatically link reports to server actions that can be linked to forms or record selections.

📚 Tutorial Reports

11 tutorial reports included to demonstrate all features. Ready to run and learn from.

Connected & Intelligent

🌍 Shared Community Library

Users can share their standout reports with the community. The library is pre-populated with useful reports and is available in both free and pro versions.

🤖 AI Friendly Report Generator

Professional and full-featured AI prompt for report generation.

💬 AI Friendly Support Agent

Professional and full-featured AI prompt for instant support.

🙋 Human Support

Human support always available.

Screenshots

Feature Demo

Banded Report Writer in action

Static Screenshots

Banded Report Writer Overview
Sample Customer Statement Rendered in Designer or via Action button on partners
Automated Report Builder
Get started fast with the Automated Report Builder wizard
JSON Report Definition
Report Builder - JSON report definition generated
Rendered Report
Report Builder - The resultant professional PDF report
Customer Statement Tutorial
Tutorial Reports - Tutorial reports make it quicker to get started - use as is of modify to suit
Invoice Tutorial
Tutorial Reports - Tutorial reports make it quicker to get started - use as is of modify to suit
Report Designer Features
Report Builder - Some of the designer features
Online Help
Built-in contextual help and documentation
Community Library
Share quality reports with the community. Pre-populated and available in both free and pro.

Users can delete their own reports, vote for other reports they think are excellent, or flag reports they believe are dubious.

NOTE: no data is stored - only the JSON report definition.
AI Report Builder
A fully curated AI prompt ready build reports. Download and attach to your favourite AI utility. Both Calude and Gemini free versions will support this prompt. All Paid AI versions will support it.
AI Support Agent
A fully curated AI prompt ready to be a support agent. Download and attach to your favourite AI utility. Both Calude and Gemini free versions will support this prompt. All Paid AI versions will support it.

How It Works

The Banded Reporting Model

Banded Report Writer brings the classic “banded” reporting paradigm — familiar from tools like Crystal Reports — directly into Odoo. A report is built from discrete horizontal bands that fire at predictable moments: a report header on the first page, page headers on every page, detail bands repeated for each data record, group headers and footers when data changes, and page/report footers for summaries and page numbers. Each band contains fields positioned by X and Y coordinates, giving you pixel-precise control over layout without touching QWeb or WKHTMLTOPDF.

One Foundational Idea: Flat In, Banded Out

Every Banded Report Writer report consumes a flat list of rows, where each row already carries every value the report could ever need — including values that “belong” to a group header or footer. We deliberately repeat group-level data on every row instead of nesting it.

This single design choice is the reason BRW is so flexible and predictable. Grouping, sorting, subtotals, page breaks, and conditional bands all become simple, regular operations on a uniform input. The hard work of joining tables and shaping data lives where it belongs — in your data source — not buried inside the report template.

The result: there is never any mystery about where a value comes from, every report behaves the same way, and reports are easy to reason about, modify, and migrate. It is a deliberate decision rooted in decades of classic banded-reporting practice — one that has paid off in every report we have built.

Structured JSON, Validated End-to-End

Everything about a report — bands, fields, data sources, grouping rules, formatting, colours, and constants — is declared in a single, clean JSON document. This is not loose markup: every key is validated against a strict schema, every field type is checked, every layout reference is resolved, and every colour token is verified before a single PDF byte is produced. The rendering engine is pure Python (ReportLab), with zero Odoo dependencies in its core, so the same definition runs consistently whether you are designing in Odoo 19 today or porting tomorrow.

Schema Rigor Enables AI and Guaranteed Quality

Because the format is tightly structured, we can do things ad-hoc template systems cannot. The built-in validator catches typos instantly — “Unknown key ‘fond_size’ — did you mean ‘font_size’?” — and the complete JSON schema is published as a machine-readable reference. That same schema powers our curated AI prompts: the AI Report Builder knows every valid key, every band type, and every formatting rule, so it generates working JSON on the first try rather than guessing. The result is a system where human authors, automated validators, and AI assistants all speak the same precise language.

Steps to Get Started

1 Install the Module

Install Banded Report Writer from the Odoo Apps Store. The free module includes everything you need to create professional reports.

2 Create Your First Report

Use the Automated Report Builder to generate a report in minutes. Select your data model, choose fields, and the system creates a complete banded report definition.

3 Customize as Needed

Edit the JSON directly for advanced customization. Add grouping, aggregates, formatting, and more. The built-in help guides you through each option.

4 Attach to Any Model

Link your report definition to any Odoo model. Print directly from the action menu on any record.

5 Print & Share

Generate professional PDFs instantly. Share with customers, partners, or internal teams.

📚 Ready Out of the Box

11 tutorial reports are included to help you learn. Run them, examine them, modify them. Everything you need is included.

📚 Don't forget to install the shared community reports module

Share your beautiful reports with the community and benefit from other's others contributions. We envisage the library becoming a valuable repository of quality reports for both the free and pro versions.

Frequently Asked Questions

Do I need to know Python or QWeb to use this?

No. Banded Report Writer is designed specifically for non-developers. You define reports entirely in JSON through the built-in editor — no Python coding, no QWeb templates, no XML. The only skill you need is understanding your data model (which Odoo already shows you in the UI).

Will this work with my custom Odoo modules?

Yes. Banded Report Writer can bind to any Odoo model — built-in or custom. As long as you can see the model in Odoo’s UI, you can create a report for it using the Automated Report Builder or by writing a JSON definition manually.

Is the Pro module required to create reports?

No. The free version is fully functional and includes all core banded reporting features: band layouts, grouping, aggregates, formatting, pagination, and PDF output. Pro adds advanced features like SQL data sources, images, watermarks, parameters, scheduling, and snippet libraries — but you can create complete professional reports without it.

Can I migrate reports between databases?

Yes. Report definitions are stored as pure JSON, which is completely portable. You can export a report definition, copy it to another database, and it will run identically — no dependencies on custom code or external assets.

How does this compare to Odoo’s built-in QWeb reports?

Odoo’s native QWeb reports require HTML/CSS knowledge and developer access. They are powerful but inaccessible to functional users. Banded Report Writer gives you the same professional PDF output through a simple JSON interface — think of it as “Crystal Reports for Odoo” but without the code. It is not a replacement for complex bespoke QWeb reports, but it covers 90% of business reporting needs without touching a single line of code.

What about support and updates?

We are committed to continuous improvement. The free module receives bug fixes and compatibility updates for new Odoo versions. Human support is always available. We also provide curated AI prompts that act as a support agent and a report builder — both included free.

Free vs Pro Feature Comparison

The Banded Report Writer is a comprehensive, free report engine for Odoo. The optional Pro module extends it with advanced features for professional report design, automation, and integration.

Note: Installing Pro automatically extends the free module — all existing reports continue to work unchanged.

Upgrade to Pro

The free version is fully functional for creating professional banded reports. Upgrade to Pro when you need images, watermarks, snippets, parameters, or advanced data sources.

Core Report Engine

Feature Free Pro
Band-based layout (report header, page header, detail, page footer, report footer) ✅ ✅
Multi-page reports with automatic page breaks ✅ ✅
Page sizes — A4, Letter, Legal ✅ ✅
Portrait and landscape orientation ✅ ✅
Configurable margins (top, bottom, left, right) ✅ ✅
Developer PDF Preview (in-browser, no download) ✅ ✅
JSON schema validation with typo detection and suggestions ✅ ✅
Report Builder wizard (guided report creation) ✅ ✅
Debug layout mode (visualize band boundaries) ✅ ✅
Generate PDF button (download) ✅ ✅
REST API — HTTP POST PDF generation — ✅

Data Sources & Queries

Feature Free Pro
ORM data sources with Odoo domain filters ✅ ✅
Parent-child (master-detail) data sources via One2many fields ✅ ✅
Dot-notation for related fields ✅ ✅
Dynamic domain variables ({company_ids}, {today}, {active_ids}) ✅ ✅
SQL data sources — direct SQL queries — ✅
Cross-table JOINs for complex multi-table reporting — ✅
Parameterized SQL queries with safe %(name)s binding — ✅

Field Types & Formatting

Feature Free Pro
Static text labels ✅ ✅
Dynamic field values with {field_name} placeholders ✅ ✅
Currency formatting — locale-aware with per-record symbol ✅ ✅
Number formatting — locale-aware with thousands separator ✅ ✅
HTML to plain text conversion ✅ ✅
Image fields — render images in any band — ✅
Image size modes — fit, stretch, original — ✅
Conditional image rendering with render_if — ✅

Layout & Styling

Feature Free Pro
Text alignment — left, right, center ✅ ✅
Vertical alignment — top, middle, bottom ✅ ✅
Bold and italic text (band and field level) ✅ ✅
Font families — Helvetica, Times, Courier ✅ ✅
Text color — hex #RRGGBB or named colors ✅ ✅
Band backgrounds — solid or alternating row colors ✅ ✅
Band borders and underlines ✅ ✅
Named panels — positioned rectangles with backgrounds ✅ ✅
Rounded corners (curved) ✅ ✅
Watermarks — text or image on every page — ✅
Watermark customization — opacity, rotation, font, color — ✅

Grouping, Totals & Summaries

Feature Free Pro
Multi-level grouping by any field ✅ ✅
Group header and footer bands (per level) ✅ ✅
Aggregate functions — SUM, COUNT, AVG, MIN, MAX ✅ ✅
Subtotals at each group level ✅ ✅
Report footer with grand totals ✅ ✅
Nested/hierarchical grouping (multiple levels) ✅ ✅
Automatic page breaks per group ✅ ✅
Continuation text for multi-page groups ✅ ✅

Report Parameters & Prompts

Feature Free Pro
Runtime parameter prompts — dynamic wizard — ✅
Date range parameters — 25+ built-in presets — ✅
Selection/dropdown parameters — ✅
Text, number, and boolean parameters — ✅
Parameter values in domains — ✅
Run Reports menu — opt-in quick-access for prompted & non-prompted reports — ✅
Cron-ready defaults — unattended execution — ✅

Publishing, Print, Email & Scheduling

Feature Free Pro
Publish to Action Menu wizard ✅ ✅
Cross-model report actions ✅ ✅
Print & Send — bind to Odoo’s Print button — ✅
Default Report mode — replace built-in reports — ✅
Scheduled reports via cron — ✅
generate_pdf_attachment() — server-side PDF — ✅
generate_and_email() — generate and send via email — ✅

JSON Editing & Productivity

Feature Free Pro
JSON editor with syntax highlighting ✅ ✅
JSON schema validation on save ✅ ✅
Typo detection with suggestions ✅ ✅
Report Builder wizard ✅ ✅
JSON Compact All Fields — ✅
JSON Expand All Fields — ✅
JSON Expand Band — ✅

Reusable Components

Feature Free Pro
Constants — report-level layout variables ✅ ✅
Constants — band-level, scoped to a specific band ✅ ✅
Palette definition for style consistency ✅ ✅
Layout references — {name.x}, {name.width} ✅ ✅
Named panels — store x, y, width, height ✅ ✅
Snippet Libraries — reusable JSON fragments — ✅
Band snippets — standard headers, footers — ✅
include_snippet at any JSON level — ✅

Learning Resources

Feature Free Pro
11 progressive tutorials (Tutorial 01–11) ✅ ✅
7 Pro tutorials (Tutorial Pro 01–07) — ✅
In-app User Guide ✅ ✅
In-app Quick Reference ✅ ✅
Pro User Guide — ✅
Pro Schema reference — ✅

Summary

Free Pro
Total features 100+ 140+
Data source types ORM ORM + SQL
Report actions Action Menu Action Menu + Print & Send
Automation Manual + Cron, email
Media Text only + Images + Watermarks
Parameters — 5 types, 25+ presets
Tutorials 11 11 + 7 Pro

Changelog

Version Type Changes
1.0.0 Initial Core banded report engine with JSON editor, grouping, aggregates, PDF output, and 11 tutorial reports

🔄 Active Development

This module is continuously maintained. All bug fixes and Odoo version compatibility updates are provided free of charge. Upgrade to Pro to unlock advanced features as your reporting needs grow.

⚠ Important Note for All Users

Thank you for your interest in our Banded Report Writer — a free Odoo module built to empower the Odoo community. Before you proceed, please read the following carefully.

🎁 Free Contribution to the Odoo Community

This powerful report writer is offered completely free of charge as a core module. We built it to solve a real problem — making professional PDF reporting accessible to functional users — and we are committed to keeping the core functionality free and actively maintained.

⭐ Reviews & Feedback

We welcome honest reviews and constructive feedback. If you encounter bugs or have suggestions, please email us @ brw_support@wilsonworks.com.au so we can track, prioritise, and resolve them systematically. This helps us improve the product for everyone.

🤝 Let’s Build Together

We welcome collaboration. Share your reports in the Community Library, contribute ideas, or tell us what features you need next. Together, we can make Odoo reporting better for the whole community.

📌 Usage Terms & Proprietary Notice

Free to Use — Not Free to Resell or Rebrand

You may use this module for personal or client projects. You may not:

  • Rebrand, rename, or relabel this module as your own
  • Sell, license, or redistribute it (even with minor modifications)
  • Redistribute or publish it on any marketplace under your or another name
  • Offer it as a paid product or service without prior written permission

🔒 Future Odoo Versions

All rights to this module are reserved. Unauthorized migration, republishing, reselling, or listing on any marketplace under another name is strictly prohibited. We are committed to publishing official updates for new Odoo versions.

🙏 Respect Our Effort

We have invested significant time, money, and development effort to create and share this module with the community. Please respect the open spirit behind this contribution. Collaboration and ethical use are always welcome — misuse is not.

⚠ Legal Disclaimer

Any misuse, unauthorized resale, or redistribution for commercial gain may result in legal enforcement under copyright and intellectual property laws. We reserve all rights to this module, including future updates.

Banded Report Writer — Professional PDF Reports Without Code

License: OPL-1 | Author: Wilson Works

Availability
Odoo Online
Odoo.sh
On Premise
Lines of code 10256
Technical Name banded_report_writer
LicenseOPL-1
Websitehttps://www.wilsonworks.com.au
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

  • 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, please use the developer contact information. They can usually be found in the description.
Community
  • Tutorials
  • Documentation
  • Forum
Open Source
  • Download
  • Github
  • Runbot
  • Translations
Services
  • Odoo.sh Hosting
  • Support
  • Upgrade
  • Custom Developments
  • Education
  • Find an Accountant
  • Find a Partner
  • Become a Partner
About us
  • Our company
  • Brand Assets
  • Contact us
  • Jobs
  • Events
  • Podcast
  • Blog
  • Customers
  • Legal • Privacy
  • Security

Odoo is a suite of open source business apps that cover all your company needs: CRM, eCommerce, accounting, inventory, point of sale, project management, etc.

Odoo's unique value proposition is to be at the same time very easy to use and fully integrated.

Website made with