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:
- Existing indicators, which we will mark using their technical name
- 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.