This module allows you to build Management Information Systems dashboards. Such style of reports presents KPI in rows and time periods in columns. Reports mainly fetch data from account moves, but can also combine data coming from arbitrary Odoo models. Reports can be exported to PDF, Excel and they can be added to Odoo dashboards.
auto_awesome What this module does
AI-generated from the code · Odoo 19.0MIS Builder lets you create custom management reports (KPIs in rows, periods in columns) from accounting and other Odoo data, then view, annotate, export to PDF/Excel and add them to dashboards.
MIS Builder is a reporting tool for building your own management dashboards. You define a report template with KPIs (rows) and periods (columns), and the system computes the values from accounting entries or other Odoo models.
- Create report templates (
mis.report) with KPIs (mis.report.kpi), sub-KPIs, expressions, styles, and queries on any model. - Define report instances (
mis.report.instance) with periods (columns) that can be based on date ranges, offsets, year-to-date, or manual dates, and compare or sum columns. - View the report in a dedicated widget, drill down to the underlying move lines, and add annotations (notes) on cells.
- Export reports to PDF and Excel (XLSX), and add them to Odoo dashboards via a wizard.
- Use accounting expressions like
bal[70],bale[1%],fldp.quantity[60%]to fetch balances, variations, or custom fields from move lines, with optional filters on accounts and move lines. - Apply styles (colors, fonts) to KPIs and cells, including conditional styles via expressions.
- A scheduled job cleans up temporary reports.
The module adds menus and views for report templates, instances, styles, and the dashboard wizard. It touches accounting models (account.move.line, account.account) and can query any model through mis.report.query. Access rights and a multi-company rule are included.
Depends on
Required by other modules
Menus it adds
Models and fields (15)
- mis.report · new modelname, kpi_ids (KPI's), style_id, query_ids (Queries), subkpi_ids (Sub KPI), all_kpi_ids, description, account_model, subreport_ids (Sub reports), move_lines_source
- mis.kpi.data · new modelname, seq1 (KPI Sequence), seq2 (Sub-KPI Sequence), amount, date_to (To), date_from (From), kpi_expression_id (KPI)
- mis.report.kpi · new modelname, type (Value type), multi, sequence, style_id, report_id, expression, description, compare_method (Comparison Method), expression_ids (Expressions), style_expression, accumulation_method, auto_expand_accounts (Display details by account), auto_expand_accounts_style_id (Style for account detail rows)
- mis.report.query · new modelname, domain, model_id, aggregate, field_ids (Fields to fetch), report_id, date_field, field_names (Fetched fields name), company_field_id
- mis.report.style · new modeldp (Rounding), name (Style name), color (Text color), prefix, suffix, divider (Factor), font_size, dp_inherit, font_style, hide_empty, description, font_weight, hide_always, indent_level, color_inherit, prefix_inherit, suffix_inherit, divider_inherit, background_color, font_size_inherit, font_style_inherit, hide_empty_inherit, font_weight_inherit, hide_always_inherit, indent_level_inherit, background_color_inherit
- mis.report.subkpi · new modelname, sequence, report_id, description, expression_ids
- mis.report.instance · new modeldate (Base date), name, date_to (To), sequence, date_from (From), report_id, temporary, company_id (Allowed company), period_ids (Periods), pivot_date, company_ids (Allowed companies), currency_id, description, target_move (Target Moves), date_range_id, landscape_pdf (Landscape PDF), multi_company (Multiple companies), analytic_domain, comparison_mode, query_company_ids (Effective companies), source_aml_model_id, widget_show_filters (Show filters box), source_aml_model_name, widget_search_view_id (Filter box search view), widget_show_pivot_date (Show Pivot Date), no_auto_expand_accounts (Disable account details expansion), wide_display_by_default (Open report in wide mode by default), user_can_edit_annotation, user_can_read_annotation, display_columns_description
- mis.report.subreport · new modelname, report_id, subreport_id
- prorata.read_group.mixin · new modeldate, date_to, date_from
- mis.report.kpi.expression · new modelname (Expression), kpi_id, sequence, subkpi_id
- mis.report.instance.period · new modelmode, name (Label), type (Period type), valid, is_ytd (Year to date), offset, source, date_to (To (computed)), duration, sequence, date_from (From (computed)), report_id, subkpi_ids (Sub KPI Filter), date_range_id, manual_date_to (To), analytic_domain, manual_date_from (From), normalize_factor (Factor), source_sumcol_ids (Columns to sum), allowed_cmpcol_ids, date_range_type_id, report_instance_id, source_aml_model_id (Move lines source), source_cmpcol_to_id (Compare), source_sumcol_accdet (Sum account details), source_aml_model_name (Move lines source model name), source_cmpcol_from_id (versus)
- mis.report.instance.annotation · new modelnote, kpi_id, period_id, subkpi_id, annotation_context
- mis.report.instance.period.sum · new modelsign, period_id (Parent column), period_to_sum_id (Column)
- add.mis.report.instance.dashboard.wizard · new modelname, dashboard_id
- report.mis_builder.mis_report_instance_xlsx · new model
Text generated by AI (DeepSeek) from reading the Odoo 19.0 code on GitHub; it may contain mistakes, so check the code before deciding. The module is very large and only part of the code was read. View the code on GitHub
Availability by version
Reviewed: 2026-11-03Confirmation status: 8 confirmed, 1 with no information of 9 versions.
Sources · Odoo 19.0
Confirmed on 2026-11-03 in branch 19.0 of OCA/mis-builder.
terminal Installation and usage
OCA documentation · Odoo 19.0Installation
Source · Odoo 19.0Your preferred way to install addons will work with MIS Builder.
An easy way to install it with all its dependencies is using pip:
pip install --pre odoo12-addon-mis_builder- then restart Odoo, update the addons list in your database, and install the MIS Builder application.
Usage
Source · Odoo 19.0To configure this module, you need to:
- Go to Accounting \> Configuration \> MIS Reporting \> MIS Report Templates where you can create report templates by defining KPI's. KPI's constitute the rows of your reports. Such report templates are time independent.
- Then in Accounting \> Reports \> MIS Reporting \> MIS Reports you can create report instance by binding the templates to time periods, hence defining the columns of your reports.
- From the MIS Reports view, you can preview the report, add it to and Odoo dashboard, and export it to PDF or Excel.
- On the MIS Reports view, you can add annotations on each cells (except cells coming from the option "details by account"). Added notes will be pinted when exporting to PDF and Excel. Only users having either the group to read or the group to update annotations can see those annotations.
No verified information in OCA: Configuration.
Installation instructions, the distribution package, dependencies and configuration steps are not shown because they have not yet been verified in the module documentation for any version.
Data imported from GitHub: this sheet reflects the latest catalog review, not a live lookup. Always check the module documentation and staging before installing in production.