account-budgeting's Issues
Blocked access to General Settings and all Settings applications menu's, when installed on Odoo Community 12.0
When the module is installed on Odoo Community 12.0, an error is throwed with a web message "Uncaught Error Unknown field module_account_budget in domain", preventing and blocking access to General Settings and all Settings applications menu's.
The reason is that, the Odoo Community 12.0 don't have an "Account Budget" module or a field named "module_account_budget".
For me the solution was to delete all calls or declared view field for "module_account_budget ", in the views of the two Odoo OCA modules Budgets Management and Account Budget Template.
The request is to get the two Odoo OCA modules Budgets Management and Account Budget Template, compatible with the Odoo Community Edition.
Migration to version 11.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-11.0
Modules to migrate
- budget
- budget_crm
- budget_invoice
[12.0][ADD] budget_control [WIP]
Note: start in [12.0] budget expected to continue in [13.0] as soon an required dependencies are ready.
Overview of Budget Control for Public Sector
This is a set of modules aimed for efficiently manage budgeting for public sector. It will include the following features,
- Budget Period
For control period, i.e., 1 fiscal year, a central configurator on how budget will be control over the period. - Budget Control Sheet
For each costcenter/project (analytic account), there will be 1 control sheet per control period, allowing user to do the planning and then approval on how much budget allocated in each expense category. - Budget Commitment (budget moves)
In addition to invoiced amount (actual), system can now track budget commitment on all related documents for PR/PO/EX or SO. This give ability to control budget since the beginning. - Budget Controlling
Ability to block the confirmation of any document that will result in overall consumed amount (PR+PO+INV) exceed the allocated budget. - Budget Transfer
During the control period, ability to transfer budget from one analytic account to another. - Budget Year End Closing Process
- Budget allocation carry forward. Allocated amount remain form older period, to be carried into the new period.
- Budget commitment carry over, ie.., PR/PO, from the old period, to also moved to commit in the new period.
- Multi Dimensions
Extend the analytic_tag_dimension module to cover all document required. This will ensure that, the reporting is more useful when compare more dimensions - Budget Reporting
Enhance the mis builder report, i.e., to be more fined grained when displaying the report.
Budget Monitoring Report that can see the entire picture of budget, using Odoo BI.
Some other useful report.
Current WIP: #35
Budget Process
Before new Fiscal Year
-
Prepare new Budget Period
- Budget Manager :: Create budget period for new fiscal year, identify all expense group.
-
Create Budget Control Sheets
- Budget Manager :: Prepare draft (inactive) budget control sheet with allocated budget for every budget code (analytic)
- Budget Approval Process (optional)
- Budget User :: Submit budget control sheet through final approval process in order to activate the budget (Optional step). At this point, each budget code (analytic) will have remaining balance to use.
During Fiscal Year
- Budget Commitment and Actual
- Budget commitment on PR/PO/EX
- Budget actual in INV
- Budget Balance = Budget Allocation - Budget Consumed (all commit + actual)
- Budget Monitoring and Control
- Budget Manager and Users will have visibility of all budgets (based on permission)
- At any point, if the confirmation of a any document will result in Budget Balance < 0.0, system will block the document confirm and show warning message that budget is not enough
- Budget Transfer
- Budget User and Budget Manager :: can always transfer unused budget from one budget code (analytic) to another. Optional approval process is possible. During budget transfer process, budget will be locked for transferring budget code (analytic).
Year End Closing Process
In additional to normal account closing process, we will have a new budget closing process too.
-
Budget Commitment Carry Forward
- Budget Manager :: can see all document (PR/PO/EX) with commitment amount of the current fiscal year, after confirm, those commitment amount will be moved to next fiscal year.
-
Budget Initial Allocation
- Budget Manager :: can use commitment amount forwarded as the initial budget allocation.
Migration to version 12.0
Migration to version 13.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-13.0
Modules to migrate
- account_budget_oca
- account_budget_template
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
Migration to version 14.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-14.0
Modules to migrate
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
[12.0][ADD] budget activity [TODO]
Migration to version 10.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-10.0
Modules to migrate
- budget
- budget_crm
- budget_invoice
Bug when creating a budget (Button SAVE)
Hi,
I just installed this module on my Odoo 12 CE (on premise). Going to Invoices > Accounting > Budget
and creating a test budget, the following error message appeared on pressing SAVE
:
Error:
Odoo Server Error
Traceback (most recent call last):
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/api.py", line 1039, in get
value = self._data[key][field][record.id]
KeyError: 1
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/fields.py", line 963, in __get__
value = record.env.cache.get(record, self)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/api.py", line 1041, in get
raise CacheMiss(record, field)
odoo.exceptions.CacheMiss: ('crossovered.budget.lines(1,).practical_amount', None)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 654, in _handle_exception
return super(JsonRequest, self)._handle_exception(exception)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 312, in _handle_exception
raise pycompat.reraise(type(exception), exception, sys.exc_info()[2])
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/tools/pycompat.py", line 87, in reraise
raise value
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 696, in dispatch
result = self._call_function(**self.params)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 344, in _call_function
return checked_call(self.db, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/service/model.py", line 97, in wrapper
return f(dbname, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 337, in checked_call
result = self.endpoint(*a, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 939, in __call__
return self.method(*args, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/http.py", line 517, in response_wrap
response = f(*args, **kw)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/addons/web/controllers/main.py", line 962, in call_kw
return self._call_kw(model, method, args, kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/addons/web/controllers/main.py", line 954, in _call_kw
return call_kw(request.env[model], method, args, kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/api.py", line 749, in call_kw
return _call_kw_multi(method, model, args, kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/api.py", line 736, in _call_kw_multi
result = method(recs, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/models.py", line 2780, in read
data[record][name] = convert(record[name], record, use_name_get)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/models.py", line 5065, in __getitem__
return self._fields[key].__get__(self, type(self))
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/fields.py", line 967, in __get__
self.determine_value(record)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/fields.py", line 1078, in determine_value
self.compute_value(recs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/fields.py", line 1034, in compute_value
self._compute_value(records)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/fields.py", line 1025, in _compute_value
getattr(records, self.compute)()
File "/opt/bitnami/apps/odoo/data/addons/12.0/account_budget_oca/models/account_budget.py", line 154, in _compute_practical_amount
(line.analytic_account_id.id, date_from, date_to, acc_ids,)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/sql_db.py", line 148, in wrapper
return f(self, *args, **kwargs)
File "/opt/bitnami/apps/odoo/lib/odoo-12.0.post20190118-py3.7.egg/odoo/sql_db.py", line 225, in execute
res = self._obj.execute(query, params)
psycopg2.ProgrammingError: function to_date(date, unknown) does not exist
LINE 5: AND (date between to_date('2019-06-0...
^
HINT: No function matches the given name and argument types. You might need to add explicit type casts.
Migration to version 16.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-16.0
Modules to migrate
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
[12.0][ADD] budget_management (PO/EX budget commitment, easy budget planing by KPI/Analytic, warning if not enough budget)
These module is built on top of already great budgeting capability of mis_buider_budget, but add more features to
- Tighten the control during document transaction
- Simplify process for an organization to setup and make use of budget control add reporting especially in the context of cost/profit center (based on analytic_account)
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
- Budget Commitment: PR/PO/EX and SO to have accounting budget commitment. I.e., PR-PO-INV, budget will commit when document is confirmed, and reversed commit when passed to next document.
- Budget Control: Ability to lock document when the commit/actual of any document will result in budget balance < 0.0
- Budget Chartfield: Chartfield means, Costcenter/Project, which is analytic_account in Odoo. We want extend 1 and 2 to allowing operate at Costcenter/Project level.
- Budget Planning: As a new budget planning document, for a user in a costcenter to easily fill in a fiscal year budget for his/her business unit. And once confirmed, system to auto create mis report instances as we know about in order to control budget as refer to 1, 2, 3.
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.
- invoice_budget_control -- I.e., allow user to set to control on invoice, and lock budget on validate invoice.
- purchase_budget_control
- expense_budget_control
- purchase_request_budget_control
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,
- Budget committee call for new budget year (budget.management for new year), and setup budget target (for each operating unit)
- Each unit, by analytic account (unit / project), create new budget.plan for given budget.management.
- Approval process, to ensure budget allocated properly to all units/projects also withing budget target.
- After approved, budget.plan is converted into budget.control, and system can use it to control budget
Migration to version 9.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-9.0
Modules to migrate
- budget_crm
- budget_invoice
- budget
Migration to version 15.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-15.0
Modules to migrate
- account_budget_oca - By @ikapasi-initos - #55
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
Migration to version 17.0
Todo
https://github.com/OCA/maintainer-tools/wiki/Migration-to-version-17.0
Modules to migrate
- account_budget_oca
Missing module? Check https://github.com/OCA/maintainer-tools/wiki/%5BFAQ%5D-Missing-modules-in-migration-issue-list
Invoicing -> Accounting - where is it ?
Installed this module in Odoo 16
According to the "Installed Features" of the module, one of the entry points in the GUI is
Invoicing -> Accounting -> Management -> Budgets
But I can't find
Invoicing -> Accounting
Any hint appreciated
Thanks in advance
This repository seem to not have gitignore file.
I create an PR, and it got all the .pyc
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.