Budget Control and Blocking in Odoo#
Odoo's budget module can warn or prevent transactions that would exceed an approved budget - enforcing financial discipline before expenses are committed, not after.
Budget Control Mode#
Accounting → Configuration → Settings → Budgets:
- Budget Control: None / Warning / Blocking
| Mode | Effect |
|---|---|
| None | No enforcement - budget is informational only |
| Warning | Alert shown when transaction would exceed budget, but user can proceed |
| Blocking | Transaction is rejected if it would exceed the budget |
Setting the Budget#
Accounting → Accounting → Budgets → New:
- Set a budget for each analytic account and account category
- Example: Marketing Department - Q3 2027 - $50,000
How Blocking Works#
When a user creates a purchase order and posts a vendor bill:
- Odoo checks the analytic account and GL account
- Compares the transaction against the remaining budget
- If remaining budget < transaction amount:
- Warning mode: "Budget exceeded by $1,200 - proceed?"
- Blocking mode: "Cannot post - budget exceeded. Contact your manager."
Exceptions and Overrides#
In blocking mode, managers can override:
- Manager opens the PO/bill
- Action → Authorize Budget Override
- Budget override is logged with the manager's name, reason, and amount
This maintains control while allowing genuine exceptions with accountability.
Budget vs. Commitment#
Odoo can include committed amounts (confirmed POs not yet invoiced) in budget calculations:
Accounting → Configuration → Settings → enable Budget Commitment.
With commitment tracking:
- Confirmed PO reduces available budget even before the bill is posted
- Prevents double-spending the budget on multiple POs
Reporting#
Accounting → Reporting → Budget Analysis:
- Planned | Committed | Actual | Remaining
- Color-coded: green (under budget), orange (>80% used), red (exceeded)
Finance teams can monitor in real-time rather than discovering overruns in monthly reports.

