Repository
OCA/account-budgeting · module folder · Try on Runboat
Module version
1.1.0
Category
Accounting
Folder size
1.28 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://github.com/OCA/account-budgeting
Last tracking update
2026-08-07 09:06:34
Authors
Odoo Community Association (OCA), Odoo S.A.
Maintainers
Odoo Community Association (OCA), Odoo S.A.
Committers
Pedro M. Baeza, Weblate, OCA-git-bot, oca-ci, Yusuke1998
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
None
Description
This module allows accountants to manage analytic and crossovered
budgets.

Once the Budgets are defined (in Invoicing/Budgets/Budgets), the Project
Managers can set the planned amount on each Analytic Account.

The accountant has the possibility to see the total of amount planned
for each Budget in order to ensure the total planned is not
greater/lower than what he planned for this Budget. Each list of record
can also be switched to a graphical view of it.

## Three reports are available:

1.  The first is available from a list of Budgets. It gives the
    spreading, for these Budgets, of the Analytic Accounts.
2.  The second is a summary of the previous one, it only gives the
    spreading, for the selected Budgets, of the Analytic Accounts.
3.  The last one is available from the Analytic Chart of Accounts. It
    gives the spreading, for the selected Analytic Accounts of Budgets.

Code Analysis

Views touched (12)
XML IDNameModelTypeStatus
crossovered_budget_view_form crossovered.budget.view.form crossovered.budget form New
crossovered_budget_view_tree crossovered.budget.view.list crossovered.budget list New
res_config_settings_view_form res.config.settings.view.form.inherit.account.budget res.config.settings form Inherits account.res_config_settings_view_form
view_account_analytic_account_form_inherit_budget account.analytic.account.form.inherit.budget account.analytic.account form Inherits analytic.view_account_analytic_account_form
view_budget_post_form account.budget.post.form account.budget.post form New
view_budget_post_search account.budget.post.search account.budget.post search New
view_budget_post_tree account.budget.post.list account.budget.post list New
view_crossovered_budget_kanban crossovered.budget.kanban crossovered.budget kanban New
view_crossovered_budget_line_form crossovered.budget.line.form crossovered.budget.lines form New
view_crossovered_budget_line_search account.budget.line.search crossovered.budget.lines search New
view_crossovered_budget_line_tree crossovered.budget.line.list crossovered.budget.lines list New
view_crossovered_budget_search crossovered.budget.search crossovered.budget search New
HTTP endpoints (0)

No HTTP endpoints found for this module.

Models touched (4)

New fields (1)
  • crossovered_budget_line_ids One2many → crossovered.budget.lines
    comodel_name='crossovered.budget.lines' inverse_name='analytic_account_id' string='Budget Lines'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    column1='budget_id' column2='account_id' comodel_name='account.account' domain="[('active', '=', True), ('company_ids', 'in', company_id)]" relation='account_budget_rel' string='Accounts'
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • crossovered_budget_line_ids One2many → crossovered.budget.lines
    comodel_name='crossovered.budget.lines' inverse_name='general_budget_id' string='Budget Lines'
  • name Char
    required=True
Public methods (2)
  • create(self, vals_list)
    @api.model_create_multi
  • write(self, vals)

New fields (7)
  • company_id Many2one → res.company
    comodel_name='res.company' default=<expr> required=True
  • creating_user_id Many2one → res.users
    comodel_name='res.users' default=<expr> string='Responsible'
  • crossovered_budget_line_ids One2many → crossovered.budget.lines
    comodel_name='crossovered.budget.lines' copy=True inverse_name='crossovered_budget_id' string='Budget Lines'
  • date_from Date
    required=True string='Start Date'
  • date_to Date
    required=True string='End Date'
  • name Char
    required=True string='Budget Name'
  • state Selection
    copy=False default='draft' index=True readonly=True required=True selection=[('draft', 'Draft'), ('cancel', 'Cancelled'), ('confirm', 'Confirmed'), ('validate', 'Validated'), ('done', 'Done')] string='Status' tracking=True
Public methods (5)
  • action_budget_cancel(self)
  • action_budget_confirm(self)
  • action_budget_done(self)
  • action_budget_draft(self)
  • action_budget_validate(self)

New fields (11)
  • analytic_account_id Many2one → account.analytic.account
    comodel_name='account.analytic.account'
  • company_id Many2one
    readonly=True related='crossovered_budget_id.company_id' store=True
  • crossovered_budget_id Many2one → crossovered.budget
    comodel_name='crossovered.budget' index=True ondelete='cascade' required=True string='Budget'
  • date_from Date
    required=True string='Start Date'
  • date_to Date
    required=True string='End Date'
  • general_budget_id Many2one → account.budget.post
    comodel_name='account.budget.post' required=True string='Budgetary Position'
  • paid_date Date
  • percentage Float
    compute='_compute_percentage' string='Achievement'
  • planned_amount Float
    digits=0 required=True
  • practical_amount Float
    compute='_compute_practical_amount' digits=0
  • theoretical_amount Float
    compute='_compute_theoretical_amount' digits=0
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…

Loading…

Status
Open migration PR — not merged yet for this version
CI status
no CI data
Open since
1433 days ago
Last activity
1049 days ago
Repository
OCA/account-budgeting
Pull request
[MIG] account_budget_oca 15.0 (#56)
Status
Open migration PR — not merged yet for this version
CI status
no CI data
Open since
1549 days ago
Last activity
1045 days ago
Repository
OCA/account-budgeting
Pull request
15.0 mig account budget oca (#55)