Drag & Drop Report Builder
This is the installation and user guide for Drag & Drop Report Builder, the module you downloaded from your ECOSIRE dashboard or the Odoo Apps Store. Everything on this page describes the ecosire_report_builder module exactly as it ships today.
| Technical name | ecosire_report_builder |
| Odoo versions | 17.0, 18.0, 19.0 (Community or Enterprise) |
| Current shipped version | 17.0 → 17.0.1.0.3, 18.0 → 18.0.1.0.3, 19.0 → 19.0.1.0.3 |
| Price | $349 USD, one-time, per Odoo version |
| Odoo module licence | OPL-1 |
| Category | Productivity / Reporting |
Administrators can design reports straight after installation. The database's administrator account is now added to the Report Builder / Designer group when the module is installed, so the first report can be created without editing user rights first. The release also brings interface polish and a refreshed app icon. There is nothing to activate: the module works as soon as it is installed. The 17.0.1.0.3 and 18.0.1.0.3 builds ship the same changes.
What it does
The Report Builder lets people who do not write code build their own reports from Odoo data.
- Visual designer. Pick a source model (for example Sales Orders, Journal Items or Stock Moves), then drag fields from the field list onto the Columns, Group By and Runtime Filters zones.
- Grouping and totals. Group rows by any field, with day, week, month, quarter or year granularity for dates, and aggregate measures with sum, average, minimum, maximum or count. Subtotals can be shown per group.
- Runtime filters. Define filters the person running the report fills in each time, for example a date range or a customer.
- Four outputs. PDF (using Odoo's own paper formats), Excel (XLSX), CSV, and an HTML preview inside Odoo.
- Scheduled e-mail. Optionally e-mail a report as an Excel attachment to a list of recipients on a daily schedule.
- Your access rights apply. A report runs with the rights of the person running it, so it can never show rows that person could not already open in Odoo.
A saved report is a definition stored in Odoo, not a hand-written template: the same engine renders every report at run time.
Requirements
- Odoo 17.0, 18.0 or 19.0, Community or Enterprise.
- The module depends only on
base,webandmail. The models you report on (sales, invoicing, inventory and so on) must be installed for their data to exist. - The Python library xlsxwriter for Excel export. It is included in standard Odoo installations.
Installation
- Install ECOSIRE Drag & Drop Report Builder from Apps in your Odoo database.
- The Report Builder app appears in the main menu. The administrator is already a Designer; give other people access as described in the next section.
Access levels
Two groups ship with the module. Set them per user under Settings → Users & Companies → Users, in the Report Builder section:
| Group | Can do |
|---|---|
| Report Builder / User | Open the Report Builder, and run and export the reports they can see. |
| Report Builder / Designer | Everything a user can do, plus create, edit, archive and delete report definitions. |
Which reports a user sees:
- Shared reports of their own company, plus
- their own private reports (a report is private to its owner until Shared is ticked).
In a multi-company database, each report belongs to one company and is only visible inside that company.
Create a report
Go to Report Builder → Reports and click New (Designer). Fill the header of the form:
| Field | Meaning |
|---|---|
| Name | The report title, shown on the output. |
| Source Model | The Odoo model the report reads, e.g. Sales Order. |
| Base Domain | An optional Odoo domain that is always applied, e.g. [('state', '=', 'sale')]. It must be a valid domain or the report cannot be saved. |
| Default Format | PDF, Excel (XLSX), CSV or HTML Preview. |
| PDF Orientation / Paper Format | Portrait or landscape, and the Odoo paper format to use for PDF margins. A Report Builder A4 format is installed with the module. |
| Sort By (field path) / Sort Descending | Optional sort order for ungrouped output. |
| Row Limit | Maximum rows fetched (default 1,000). 0 means no report-level limit; an engine maximum of 100,000 rows always applies. |
| Shared | Share with every user of the same company. |
Save, then click Open Designer.
Use the designer
The designer shows the source model's fields on the left, including the fields of related records one step away (for example Customer → Country). Drag a field onto a zone:
- Columns — each field becomes a column. On a column you can set a header label, an aggregation (sum, average, minimum, maximum, count), a width and a number or date format.
- Group By — rows are grouped by these fields, in order. For date fields choose day, week, month, quarter or year, and decide whether subtotals are shown.
- Runtime Filters — each filter asks for a value when the report is run. Choose the operator (
=,!=,>,>=,<,<=,in,not in,like,ilike), an optional default value, and whether the value is required.
Click Save, or Save & Run to see the result straight away. The same settings are also editable on the Columns, Group By and Runtime Filters tabs of the report form.
Every field path is checked against the model's real fields when you save, so a report cannot point at a field that does not exist.
Run and export a report
Open a report and click Run / Export.
- If the report has runtime filters, a dialog asks for the filter values and the output format, then produces the file.
- If it has no runtime filters, it runs straight away in its default format.
| Format | Result |
|---|---|
| A printable document on your Odoo paper format. Limited to 5,000 rows; for larger results the report asks you to choose Excel or CSV. | |
| Excel (XLSX) | A spreadsheet download with a header row and group subtotals. |
| CSV | A plain comma-separated download. |
| HTML Preview | The result shown inside Odoo, without a download. |
Each run records its time in Last Run on the report.
Scheduled e-mail delivery
On the report's Schedule tab, tick Email on Schedule and add the Recipients. Scheduled reports are e-mailed as an Excel attachment.
The scheduled action that sends them, Report Builder: Send Scheduled Reports, is installed inactive so nothing is sent until you decide. To start sending, enable it under Settings → Technical → Scheduled Actions (developer mode). It runs once a day. Each report is produced with the rights of its owner in the report's company, and one failing report does not stop the others.
Your Odoo must have a working outgoing mail server for the e-mails to leave.
Security model
- Reports read data as the person running them (or, for scheduled e-mails, as the report's owner). Odoo access rights, record rules and company restrictions apply to every row.
- The base domain is parsed safely, never executed as code.
- The Excel and CSV downloads (
/report/builder/xlsx/<id>and/report/builder/csv/<id>) require a logged-in Odoo user who can see the report.
Troubleshooting
| Symptom | Cause and fix |
|---|---|
| The Report Builder menu is missing | The user is in neither Report Builder group. Add Report Builder / User (or Designer). |
| New and Open Designer are not available | The user is a Report Builder User, not a Designer. |
| A colleague cannot find my report | It is private. Tick Shared on the report (and check it belongs to their company). |
| "Invalid base domain" when saving | The Base Domain is not a valid Odoo domain list. Correct the syntax, e.g. [('state', '=', 'sale')]. |
| PDF refuses to run a large report | PDF output is limited to 5,000 rows. Choose Excel (XLSX) or CSV. |
| The report shows fewer rows than expected | Check the Row Limit, the Base Domain, the runtime filter values, and the running user's access rights. |
| Scheduled e-mails never arrive | Enable the Report Builder: Send Scheduled Reports scheduled action, add recipients with an e-mail address, and confirm the outgoing mail server works. |
Support
Email info@ecosire.com with your Odoo version and a description of the report you are building.