Customizing Financial Reports with Odoo

Every company has its unique characteristics and generally needs to tailor part of the Odoo system. It is always recommended to focus on system configurations, minimizing future risks and the development of specific applications. Today, we will delve into one of those cases – the creation of financial reports.

MIS Builder: OpenSource Tool

The Odoo Community Association (OCA) has developed a powerful tool for creating financial reports. This tool was crafted by the Acsoneteam, an implementer based in Belgium.

The main motivation behind creating such a tool was to establish a configurable system that could adapt to all types of companies for generating accounting reports. Although its configuration may seem complex at first, it is not difficult to achieve, allowing us to have well-crafted reports with complex formats.

Configuring the Report Format

The first step is to create the visual style of our report. To do this, we will navigate to the menu Billing/Accounting > Configuration > MIS > MIS Report Styles. Here, we can create different styles, including font information, background color, or text format.

In these cases, it is always recommended to create an initial base format with the letter format so that everything is consistent. Afterward, we can make specific specifications for certain lines.

Creating Our Template

The second step is to access the menu Billing/Accounting > Configuration > MIS > MIS Report Templates. Here, we can create our specific template.

The objective of the template is to define the rows of the report, allowing us to specify how each one is calculated. In the template header, we will define basic information such as the base style or the data source (default is Journal Entry). Our task is then to define KPIs or lines of the report. For each indicator, we need to define:

However, the most important things to define are the name (a field we can use for other indicators) and expression, which will be how we calculate the indicator. Additionally, in the help tab, we can find a brief summary of how to perform the calculation. Nevertheless, we will try to explain it in detail.

Indicator Formula

The indicator formula will consist of several elements that can be of two different types:

  1. Existing indicators, which we will mark using their technical name
  2. Calculated indicators, which we will calculate based on the report model

Calculated indicators will be calculated as follows: {Calculation Formula}[accounts][extra domain]. Note that the extra domain is optional. Therefore, we can do things like:

  • bale[1%,2%]: balance of accounts starting with 1 or 2 at the end of the period
  • balp[][('tax_line_id.tag_ids', '=', ref('l10n_be.tax_tag_56').id)]: balance for the period of all accounts such that their associated tax is in the Belgian box 56.

In terms of the formula, the main ones are:

  • bal: Balance
  • crd: Credit
  • deb: Debit

Finally, we will add a last letter to indicate how we calculate it:

  • p: Calculated during the period 
  • i: Calculated as the balance at the beginning of the period
  • e: Calculated as the balance at the end of the period

Creating Our Report

The final step is to access Billing/Accounting > Reports > MIS > MIS Reports. Here, we can define a report and add the periodicity we want. Additionally, if desired, we can add different columns in the same report calculated in different periods or by adding specific filters. To do this, we need to activate the Comparison mode.

With all this, we can now create our report by clicking on the Preview button.

Signing documents with Odoo: Everything you need to know