Budget Blueprint


(Cédric Krier) #1

Continuing the discussion from Add support for budget:

Rational

Tryton should allow to enter budget for accounts or analytic accounts.
A budget is a plan over a period to define the balance per sets of accounts.

Proposal

It should be possible to define a budget based on accounts or analytic accounts.
It should be possible to compare actual with budget.

Implementation

account_budget should define Mixin to be reused for other similar modules.

Budget

account.budget

  • name: Char
  • company: Many2One to company.company
  • fiscalyear: Many2One to account.fiscalyear
  • parent: Many2One to account.budget
  • children: One2Many to account.budget
  • amount: Numeric in company currency
  • accounts: Many2Many of account.account
  • balance: Function of Numeric with the sum of accounts balance over the fiscal year including the children budget.
  • periods: One2Many to account.budget.period

sum of period must be <= than amount
sum of children must be <= than amount
account must be only once per budget root

account.budget.period

  • budget: Many2One to account.budget
  • period: Many2One to account.period
  • amount: Numeric in company currency
  • balance: Function of Numeric with the sum of accounts balance over the period.

Unique per budget and period

A wizard should allow to copy the entire budget tree but changing the fiscal year by a new one (skipping the period as no direct link could be done). It must also have an option to zero the amount.
A wizard should allow to distribute the amount of a budget over all the period using a selected method (default: evenly).

Analytic Budget

analytic_account.budget

Same as account.budget but over date period.

Future Improvements and Ideas

  • Modules base on sale, project etc.
  • Budget debit/credit amount

Implementation

Accounting & Analytic Budget: https://bugs.tryton.org/issue6089


Long Term Purchase Agreements
(Sergi Almacellas Abellana) #2

Could you clarify which is this objective of this Mixin, and which structure should define?


(Cédric Krier) #3

We should be able to reuse most of the code from account_budget for analytic_account_budget.


(Sergi Almacellas Abellana) #4

Acknowledged.

By the way, on the analytic module we should also have the period distribution? If so I understand we must create a period based on a end_date and the dates must not overlap.

What about the distribute wizard? Shall we also support period distribution? If so, how we create the dates? Based on a selection method? For example create monthly and 3-months periods based on the fiscalyear start and end dates (similare to the create period button from the fiscalyear)?


(Cédric Krier) #5

I do not think there must be any period with distribution kind.

No, distribution of budget will always be custom and so done using a wizard to just fill the budgets of an account over a selected set of periods.


(Sergi Almacellas Abellana) #6

Thanks for your comments, I have added the implementation of both account_budget and analytic_budget modules, so I think we are now ready for testing. See: https://bugs.tryton.org/issue6089