Repository
odoo/odoo · module folder
Module version
0.1.0
Category
Accounting
Folder size
0.98 MB
License
LGPL-3
Application
No
Auto-installable
No
Website
https://www.odoo.com/page/accounting
Last tracking update
2026-08-07 05:03:21
Authors
Maintainers
None
Committers
Christophe Simonis, Martin Trigaux, Odoo Translation Bot, Richard Mathot, qdp-odoo, GitHub, Yannick Tivisse, Martin Geubelle, Odoo Online
Odoo dependencies
Python dependencies
None
System dependencies
None
Required by
account_budget_template
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.tree crossovered.budget tree 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.tree account.budget.post tree 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.tree crossovered.budget.lines tree 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 One2many → crossovered.budget.lines
    args: 'crossovered.budget.lines', 'analytic_account_id', 'Budget Lines'
Public methods (0)

No public methods.

New fields (4)
  • account_ids Many2many → account.account
    domain=[('deprecated', '=', False)] args: 'account.account', 'account_budget_rel', 'budget_id', 'account_id', 'Accounts'
  • company_id Many2one → res.company
    default=<expr> required=True args: 'res.company', 'Company'
  • crossovered_budget_line One2many → crossovered.budget.lines
    args: 'crossovered.budget.lines', 'general_budget_id', 'Budget Lines'
  • name Char
    required=True args: 'Name'
Public methods (2)
  • create(self, vals)
    @api.model
  • write(self, vals)
    @api.multi

New fields (7)
  • company_id Many2one → res.company
    default=<expr> required=True args: 'res.company', 'Company'
  • creating_user_id Many2one → res.users
    default=<expr> args: 'res.users', 'Responsible'
  • crossovered_budget_line One2many → crossovered.budget.lines
    copy=True states={'done': [('readonly', True)]} args: 'crossovered.budget.lines', 'crossovered_budget_id', 'Budget Lines'
  • date_from Date
    required=True states={'done': [('readonly', True)]} args: 'Start Date'
  • date_to Date
    required=True states={'done': [('readonly', True)]} args: 'End Date'
  • name Char
    required=True states={'done': [('readonly', True)]} args: 'Budget Name'
  • state Selection
    copy=False default='draft' index=True readonly=True required=True track_visibility='always' args: [('draft', 'Draft'), ('cancel', 'Cancelled'), ('confirm', 'Confirmed'), ('validate', 'Validated'), ('done', 'Done')], 'Status'
Public methods (5)
  • action_budget_cancel(self)
    @api.multi
  • action_budget_confirm(self)
    @api.multi
  • action_budget_done(self)
    @api.multi
  • action_budget_draft(self)
    @api.multi
  • action_budget_validate(self)
    @api.multi

New fields (11)
  • analytic_account_id Many2one → account.analytic.account
    args: 'account.analytic.account', 'Analytic Account'
  • company_id Many2one → res.company
    comodel_name='res.company' readonly=True related='crossovered_budget_id.company_id' store=True string='Company'
  • crossovered_budget_id Many2one → crossovered.budget
    index=True ondelete='cascade' required=True args: 'crossovered.budget', 'Budget'
  • date_from Date
    required=True args: 'Start Date'
  • date_to Date
    required=True args: 'End Date'
  • general_budget_id Many2one → account.budget.post
    required=True args: 'account.budget.post', 'Budgetary Position'
  • paid_date Date
    args: 'Paid Date'
  • percentage Float
    compute='_compute_percentage' string='Achievement'
  • planned_amount Float
    digits=0 required=True args: 'Planned Amount'
  • practical_amount Float
    compute='_compute_practical_amount' digits=0 string='Practical Amount'
  • theoritical_amount Float
    compute='_compute_theoritical_amount' digits=0 string='Theoretical Amount'
Public methods (0)

No public methods.

Loading…

Loading…

Loading…

Loading…

Loading…