Repository
OCA/mis-builder · module folder · Try on Runboat
Module version
1.0.1
Category
Uncategorized
Folder size
0.43 MB
License
AGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/mis-builder
Last tracking update
2026-08-07 09:06:25
Authors
ACSONE SA/NV, Odoo Community Association (OCA)
Maintainers
ACSONE SA/NV, Odoo Community Association (OCA)
Committers
Stéphane Bidoul, OCA-git-bot, oca-ci
Odoo dependencies
OCA/mis-builder:
OCA/reporting-engine:
OCA/server-ux:
odoo/odoo:
- web
- bus
- uom
Python dependencies
xlrd, xlsxwriter
System dependencies
None
Required by
mis_builder_demo
Description
Create budgets for MIS reports.

This module lets you create budgets for any MIS report. Several budgets
can be created for a given report template (ie one budget per year).
Budget figures are provided by KPI or by GL account, with different time
periods. A budget can then be selected as a data source for a MIS report
column, and the report will show the budgeted values for each KPI,
adjusted for the period of the column.

Code Analysis

Views touched (13)
XML IDNameModelTypeStatus
mis_budget_by_account_form_view mis.budget.by.account.form (in mis_builder_budget) mis.budget.by.account form New
mis_budget_by_account_item_list_view mis.budget.by.account.item.list (in mis_builder_budget) mis.budget.by.account.item list New
mis_budget_by_account_item_search_view mis.budget.by.account.item.search (in mis_builder_budget) mis.budget.by.account.item search New
mis_budget_by_account_list_view mis.budget.by.account.list (in mis_builder_budget) mis.budget.by.account list New
mis_budget_by_account_search_view mis.budget.by.account.search (in mis_builder_budget) mis.budget.by.account search New
mis_budget_form_view mis.budget.form (in mis_builder_budget) mis.budget form New
mis_budget_item_list_view mis.budget.item.list (in mis_builder_budget) mis.budget.item list New
mis_budget_item_search_view mis.budget.item.search (in mis_builder_budget) mis.budget.item search New
mis_budget_list_view mis.budget.list (in mis_builder_budget) mis.budget list New
mis_budget_search_view mis.budget.search (in mis_builder_budget) mis.budget search New
mis_report_instance_period_form_view mis.report.instance.period.form (in mis_builder_budget) mis.report.instance.period form Inherits mis_builder.mis_report_instance_period_view_form
mis_report_view_form mis.report.view.form (in mis_builder_budget) mis.report form Inherits mis_builder.mis_report_view_form
mis_report_view_kpi_form mis.report.view.kpi.form (in mis_builder_budget) mis.report.kpi form Inherits mis_builder.mis_report_view_kpi_form
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (10)

New fields (3)
  • active Boolean
    copy=False default=True
  • item_ids One2many → mis.budget.item
    comodel_name='mis.budget.item' copy=True inverse_name='budget_id'
  • report_id Many2one → mis.report
    comodel_name='mis.report' required=True string='MIS Report Template'
Public methods (0)

No public methods.

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr>
  • date_from Date
    required=True string='From' tracking=True
  • date_range_id Many2one → date.range
    comodel_name='date.range' string='Date range'
  • date_to Date
    required=True string='To' tracking=True
  • description Char
    tracking=True
  • name Char
    required=True tracking=True
  • state Selection
    default='draft' required=True tracking=True args: [('draft', 'Draft'), ('confirmed', 'Confirmed'), ('cancelled', 'Cancelled')]
Public methods (4)
  • action_cancel(self)
  • action_confirm(self)
  • action_draft(self)
  • copy(self, default=None)

New fields (4)
  • active Boolean
    copy=False default=True
  • allow_items_overlap Boolean
    help='If checked, overlap between budget items is allowed'
  • company_id Many2one
    required=False
  • item_ids One2many → mis.budget.by.account.item
    comodel_name='mis.budget.by.account.item' copy=True inverse_name='budget_id'
Public methods (0)

No public methods.

New fields (8)
  • account_id Many2one → account.account
    check_company=True comodel_name='account.account' required=True
  • balance Monetary
    compute='_compute_balance' currency_field='company_currency_id' inverse='_inverse_balance' store=True
  • budget_id Many2one → mis.budget.by.account
    comodel_name='mis.budget.by.account'
  • company_currency_id Many2one → res.currency
    help='Utility field to express amount currency' related='company_id.currency_id' store=True string='Company Currency' args: 'res.currency'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • credit Monetary
    currency_field='company_currency_id' default=0.0
  • debit Monetary
    currency_field='company_currency_id' default=0.0
  • name Char
    string='Label'
Public methods (0)

No public methods.

New fields (5)
  • budget_company_id Many2one
    related='budget_id.company_id' string='#Technical field: Budget Company'
  • budget_id Many2one → mis.budget
    comodel_name='mis.budget'
  • company_id Many2one → res.company
    comodel_name='res.company' compute='_compute_company_id' readonly=False store=True
  • kpi_expression_id Many2one
    domain="[('kpi_id.report_id', '=', report_id), ('kpi_id.budgetable', '=', True)]"
  • report_id Many2one
    related='budget_id.report_id'
Public methods (0)

No public methods.

New fields (6)
  • budget_date_from Date
    related='budget_id.date_from' string='Budget Date From'
  • budget_date_to Date
    related='budget_id.date_to' string='Budget Date To'
  • budget_id Many2one → mis.budget.abstract
    comodel_name='mis.budget.abstract' index=True ondelete='cascade' required=True
  • date_from Date
    required=True string='From'
  • date_range_id Many2one → date.range
    comodel_name='date.range' domain="[('date_start', '>=', budget_date_from), ('date_end', '<=', budget_date_to)]" string='Date range'
  • date_to Date
    required=True string='To'
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (1)
  • drilldown(self, arg)

New fields (3)
  • source Selection
    ondelete={SRC_MIS_BUDGET: 'cascade', SRC_MIS_BUDGET_BY_ACCOUNT: 'cascade'} selection_add=[(SRC_MIS_BUDGET, 'MIS Budget by KPI'), (SRC_MIS_BUDGET_BY_ACCOUNT, 'MIS Budget by Account')]
  • source_mis_budget_by_account_id Many2one → mis.budget.by.account
    comodel_name='mis.budget.by.account' string='Budget by Account'
  • source_mis_budget_id Many2one → mis.budget
    comodel_name='mis.budget' string='Budget by KPI'
Public methods (0)

No public methods.

New fields (1)
  • budgetable Boolean
    default=False
Public methods (0)

No public methods.

New fields (0)

No new fields.

Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…