Budget Control on Purchase with Stock
This module bridges purchase and stock budget control with a product-category inventory recognition policy and a company fallback:
Vendor Bill: posting the bill releases the PO commitment and records budget actual. Outgoing stock operations do not affect budget.
Stock Issue Valuation: posting the bill affects neither actual nor the PO commitment. Confirming an outgoing operation replaces the traceable PO commitment with a stock commitment; posting its valuation entry replaces that stock commitment with budget actual.
Each product category can use Company Default, Vendor Bill, or Stock Issue Valuation. The resolved policy is captured independently on each purchase order line and stock move, so mixed-policy purchase orders are supported and later configuration changes do not rewrite confirmed transactions. Returns preserve the original stock move policy.
Services and other non-storable products always use Vendor Bill. Stock Issue requires automated inventory valuation. It also applies to outgoing quantities that did not originate from a purchase (for example, manufactured stock) when their product category uses Stock Issue; a Vendor Bill category intentionally excludes all of its outgoing stock operations from budget.
Lot-tracked products trace their source PO lines through completed receipts. When a lot was received on several PO lines, each outgoing move line prefers the source with the same analytic accounts, then the oldest receipt. If no source has matching analytics, receipt FIFO still releases the original PO commitment when stock is issued to another project. Different outgoing moves can therefore release different PO lines even when they share one lot.
Non-lot products use company- and budget-period-scoped product FIFO across received PO lines, ordered by PO date. Quantity is converted between stock and purchase UoMs, and remaining commitment caps use company-currency values. Cancelling an outgoing operation restores its PO commitment, while a stock return reverses the issue actual without recreating the fulfilled PO commitment.
Table of contents
Configuration
In Budget > Configuration > Settings, choose the company’s Default Inventory Budget Actual Source.
On each Product Category, choose Company Default, Vendor Bill, or Stock Issue Valuation under Inventory Valuation.
Categories using Stock Issue must use automated inventory valuation.
The category setting is company-specific. Services and non-storable products always use Vendor Bill. Company and category changes apply to new PO-line and stock-move snapshots; finish open purchase/delivery flows before changing a policy for the same product.
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.
Metadata
Release files for odoo-addon-budget-control-purchase-stock 18.0.2.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| odoo_addon_budget_control_purchase_stock-18.0.2.1.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / odoo_addon_budget_control_purchase_stock-18.0.2.1.1-py3-none-any.whl
| Download URL | odoo_addon_budget_control_purchase_stock-18.0.2.1.1-py3-none-any.whl |
|---|---|
| Size | 50.1 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
db9916e227cf0be228e3ab51be224d1c121d7d9ed040e6d64ae92305dadbc636
|
|
BLAKE2b-256 checksum How to use checksums |
e4d6b45845af2c9a3b440f3ca9c58c583bada3a01aecbe74b31299a239317a53
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|