ZestyBeanz Technologies Pvt Ltd 4th Floor, Nila, Technopark Thiruvananthapuram,
India – 695581
Phone: +91 471 4063254
Fax : +91 471 2700171


ZestyBeanz Technologies Pvt Ltd
2987, Manikkath Cross Road
Ravipuram, Kochi, India - 682016
Phone: +91 484 4063254


Zesty Labs
Office # 2003, Millennium Plaza Building
Sheikh Zayed Rd, Dubai, UAE
Phone: +971 4333 2222​
Mobile: +971-50-5417245​


ZestyBeanz Technologies GmbH
Reuterstraße 1
90408 Nürnberg
Fon: +49 911 4801 444
Fax: +49 911 4801 445

MIS Builder module in Odoo

Contact Form

Reo Thomson's picture

MIS Builder module in Odoo

MIS stands for Management Information Systems. MIS Builder module help us to build class of  reports, mainly tabular reports. Mainly these tabular reports represent KPI as rows and Time Periods as columns. KPI stands for Key Performance Indicators.

Key Performance Indicator is the quantifiable measure used to evaluate the success of an organization, employee, etc. in meeting objectives for performance.
Column of MIS reports are normally time periods like current month,previous year. But sometimes data sources, comparisons, sum/differences are also used.
Normally the reports generated by mis builder fetch data from account moves, but can also combine data coming from arbitrary Odoo models.


Normal way of installing modules will work with MIS Builder also.Another prefered way to install it with all its dependencies is using pip

1) pip install odoo10-addon-mis_builder odoo-autodiscover
2) Then restart Odoo, update the addons list in your database, and install the MIS Builder application.


1) User configurable :  Any one who known basic excel formula and functions can easily build reports using this module.
2) Fast
3) Report Template : MIS Reports are created based on templates.KPI’s defined once can be used for different companies and different time periods. So report generation become easy
4) Comparison
5) User Configurable Style : Style is provided to the reports using MIS Styles.Style defined once can be used for different templates.No CSS function is used for styling.Same style is used for pdf,html,excel
6) Can export to Excel and PDF
7) Drill Down : Clicking on each cell of the report, we get details about that values

Configuration and Usage

Go to Accounting > Configuration > MIS Reports > MIS Report Styles where you can create report styles by defining font,size,colour and other styling features required for the report.

Go to Accounting > Configuration > MIS Reports > 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.

Here in the style option we can select the style required for our template.Then the report created by using this template will have the selected style.Under the subheading KPI’s , we can add KPI needed in our report.

In each KPI’s we can define name, description, value type, comparison method, styles and more importantly expression

KPI Expression

KPI Expressions can be any valid python expression. The following special expressions can be used to fetch data

{bal|crd|deb}{pieu}[account selector][journal item domain]

1) bal, crd, deb are balance, credit, debit
2) p,i,e are variation over period, initial, end respectively
3) Account selector is expression for selecting the account. For example [70%]
4)journal item domain is the odoo domain filter on journal item
5) balu[ ] (u is for unallocated) is a special expression that shows the unallocated profit/loss of previous fiscal year

Expression can have other KPI s and query result by name (for eg : kpi 1 + kpi2). Additionally following variables are available in the evaluation context.

1) sum, min, max, aver, len are used just like python built in
2) datetime, dateutils : python modules
3) date_from, date_to represents beginning and end of a period
4) Accounting None :  null value that behave as  zero in arithmetic operation

Examples of KPI Expressions

1) balp[70] : Variation of balance of account 75 over the period
2) crdi[44%] :Sum of  initial credits of all account starting with 44
3) debe[55%][(‘journal_id.code’==BNK1)] :Sum of debit at end of a period of all account starting with 55 and journal code is BNK1

Normally KPI’s fetch data from account moves .Using queries we can fetch data from any model.

Go to Accounting > Reports > MIS Reporting > MIS Report where you can create reports using the template created earlier

Here we can select templates and Date Range required for our report. Date Range consist of name,from date, to date and type.

Type indicate the features of the Date Range such as overlapping property,active etc

MIS Reports can be created in two mode,Non Comparison Mode and Comparison Mode.In Non Comparison Mode, a single date range is selected and KPI’s are plotted against that date range in the report
In comparison mode ,more than one date range can be selected and KPI’s are compared between them in the report.

In comparison mode date range are added as period.Each periods consist of  label,source and date.Date mode is of three types.
1) Fixed Date : Periods can be defined using fixed start date and end date. Either we can select predefined date range or can create new date range

2) Relative to report base date : we can create period with reference to report base date by using offset value and duration value. The period type can be year,month,week or days

3) No Date Filter

The source of the period can be of three type

1) Actuals : Values of the period will be the actual values
2) Sum Columns : Values of the period will be the sum or difference of other periods  
        Eg : period3 = period1  + period2    or  period3 = period2 - period1

3) Compare Column : Values of the period can be the comparison between two columns

After creating the periods, when we click on the preview button ,we can see the preview of the report with all styles that we have applied.When we click on the report,it will drill down to corresponding records.

If we click on the print button report will be created in pdf format .If we click on export button,report will be created on xls format.