Budget Control on Sale with Stock
This module is a bridge between budget_control_stock and sale_stock.
When a Sale Order is confirmed, the system auto-creates a Delivery Order (DO). At this point, the Budget Control may not yet be confirmed (the user needs to set KPIs first). This module bypasses the stock budget commit check during SO confirmation so the DO can be created without a budget error.
After SO confirmation, all subsequent DO operations (validate, unreserve, etc.) enforce the budget check normally, requiring the user to confirm the Budget Control before the DO can be processed.
An SO that creates a new Project defaults to Lifetime budgeting. The system creates one Project-scoped Budget Period and one Budget Control for the total estimated SO cost. After the user enters the Project Planned Dates, the draft period follows those dates. Commitments and actual costs in every fiscal year inside that range consume the same total Project balance.
The SO can instead select Fiscal Period before confirmation. That mode keeps the annual behavior: one Budget Control per fiscal period, with audited carry forward between Fiscal Periods when required.
Lifetime periods are exclusive to one analytic account, so they may overlap the normal fiscal periods used by departments. They do not use carry forward because the Project balance does not reset at fiscal year end.
This also supports department analytics that are not linked to a Project. If a control is managed by a Budget Plan, the plan remains the owner of its allocated amount; a Sale Order only links to that control.
The Sale Order cost added to a Budget Control is a planning snapshot taken when the order is linked. Later quantity, cost, or cancellation changes do not silently rewrite an approved budget; a budget manager reopens and adjusts the control explicitly when required.
One Sale Order may create only one budgeted Project. Splitting an SO that would generate several Projects keeps cost ownership explicit.
Table of contents
Usage
To control one total cost budget for a Project that may span several years:
Configure a service product with Create on Order = Project (or Project & Task).
Add that product to one Sale Order. Leave Project Budget Scope as Lifetime and confirm the order.
Odoo creates the Project and Analytic Account. This module copies the fiscal period’s control configuration into a private Lifetime period and creates one draft Budget Control for the total SO cost.
Open the generated Project and enter both Planned Start and End dates. The draft Budget Control follows those dates automatically.
Open the Budget smart button, select the KPIs, prepare plan amounts equal to the total estimated cost, then submit and control the budget.
Use the same Project Analytic Account on purchases, stock moves, expenses, and bills. Documents in every year within the Planned Dates consume the same Project balance.
Use the Project’s Budget Controls smart button for monitoring.
The Project Lifetime Budget cannot be submitted until both Planned Dates are set. Once submitted, set it back to Draft before changing the Project dates. It does not use Forward Budget Balance.
The allocated amount is a snapshot of the Sale Order line costs at the time the Budget Control is created. Later Sale Order edits do not silently rewrite an approved budget.
For annual Project budgeting, choose Fiscal Period on the SO before confirmation. Create or link real SOs/Budget Plans in each fiscal period. Use a Forward Budget Balance document when unused annual balance may continue.
Bug Tracker
Bugs are tracked on GitHub Issues. In case of trouble, please check there if your issue has already been reported. If you spotted it first, help us to smash it by providing a detailed and welcomed feedback.
Do not contact contributors directly about support or help with technical issues.
Credits
Contributors
Saran Lim saranl@ecosoft.co.th
Maintainers
Current maintainer:
This module is part of the ecosoft-odoo/budgeting project on GitHub.
You are welcome to contribute.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file odoo_addon_budget_control_sale_stock-18.0.1.3.0.1-py3-none-any.whl.
File metadata
- Download URL: odoo_addon_budget_control_sale_stock-18.0.1.3.0.1-py3-none-any.whl
- Upload date:
- Size: 44.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
336827b4d040991c4e795bb87bf7fdfba47436ba97dc470d3aa81dcf64a8098b
|
|
| MD5 |
284cf4a7f2b87df42c909b9c32698670
|
|
| BLAKE2b-256 |
5a0ec321723087d99640df6bfbe9f3abd684393b3d1103df61311c9d3f6e9455
|