-
-
Notifications
You must be signed in to change notification settings - Fork 113
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[12.0][ADD] budget_management (PO/EX budget commitment, easy budget planing by KPI/Analytic, warning if not enough budget) #27
Comments
@sbidoul the discussion moved here, the module can be here or in https://github.com/OCA/mis-builder-contrib ? |
@kittiu I like the idea of logging commitments explicitly. This allows for good traceability and handling of corner cases. Regarding the repository choice it does not matter much to me. What matter more for me is knowing who is stepping in to care of the maintenance of modules. |
Thank you, please come to comment. At this moment, I will try to make use of mis_builder as much. :) would need your support on mis_builder knowledge.
I am not sure what you mean by this. We do have PSC/maintainer for this repo, right? |
@sbidoul from the evaluate(), I could get kpi's figure form account.move.line, i..e, exp by time period. How can I get figure from Budget, Commit and Available?
|
Got this, def _add_column_actuals_alt() |
Hm, indeed |
Thank you, no worry if you are busy. :)
|
@sbidoul
To get the available amount (sum column) we can get from combine the two. |
@kittiu I'll try to answer your questions.
This repo is part of the Accounting PSC which covers a huge amount of modules. |
Regarding computation, I indeed sent you on the wrong track with the A better starting point is the So the geneal algorithm goes as follow.
for row in kpi_matrix.iter_rows():
if row.kpi == budgetable_kpi:
for cell in row.iter_cells():
if cell.subcol.col.key == period_available.id:
return cell.val or 0.0 So yeah, it's a bit complex. OTOH the subject matter is not an easy one either :) I'm open to discuss a higher level API that would make these kind of calculations easier. |
@sbidoul Thank you so much for taking your valuable time to explain. This helps a lot! |
@sbidoul As the check_budget() will be called quite often, i.e., every time a document is validate. I have one concern on _compute_matrix(), as it return the whole result set, which we only need only result of some kpi and some period. I worry about performance Do you have answer to this yet (i..e, filters)? Thank you! Note: I have some good progress, and soon can push the first demo. |
Closed as moved to PR #32 |
These module is built on top of already great budgeting capability of mis_buider_budget, but add more features to
Remarks: this is based on my experiences doing budget management with an organization, but for this I wanted to make it more lightweight and generic enough for most use. Feedback are greatly appreciated.
Design Goals
Goal 1: Budget Commitment
This one can be quite easy, by adding a new table to log all the commitment, i.e., budget.commit. I am looking into create followings addons one for each type of document.
Goal 2: Budget Control
This part will deal with calling available mis_builder's API to find out available budget, and give warning.
Goal 3: Budgeting with more Analytic Dimensions: (TBD)
N/A
Goal 4: Budget Planning and Budget Revision: (TBD)
For big organization, there will be preparation process, when organization discuss for next year budgeting. Normally it will occur, i.e, 2-3 months ahead of the budget year. Expected procedure can be,
The text was updated successfully, but these errors were encountered: