Set the budget. Track the spend. Stop the overrun.
Category-level budgets with real-time spent + committed tracking, threshold alerts and enforcement that can warn or block before an order is placed. Know where you stand before the invoice arrives - not after.
One budget model. Every scope. Every frequency.
Budgets sit between procurement and finance - answering "are we on track?" before the invoice arrives, not at the month-end review when it's too late.
Spent. Committed. That's the whole story.
Spreadsheet budgets show one number: what's been invoiced. That's the figure you see at month-end - long after the order was placed and the spending decision became irreversible. OmniPATH tracks both.
Spent = net amount on invoices already posted in this period. Committed = value of approved orders not yet invoiced. Remaining = budget − spent − committed.
A site might have £500 left on paper, but £2,000 in approved orders about to land as invoices. Without the committed figure, you don't see the overrun coming until the invoice hits - and at that point, the goods are already received and the supplier's expecting payment.
- Hierarchical category match - a budget at "Food & Beverage" automatically captures Dairy, Meat, Produce
- Multi-currency aware - invoices converted at the posting-rate, totals in your base currency
- Status syncs after every action - order approval, send, void, invoice post - usage recomputed live
- Period-scoped - previous cycles don't bleed into the current one
Three scope levels. Five frequencies.
Budgets attach to a category at one of three scope levels - site, area, or org - and roll on the cycle that matches how you plan: weekly, monthly, quarterly, annually, or as a one-off.
One budget model. Whole organisation.
Same field schema, three scope settings. Run a £5,000 monthly food budget at Old Harbour Inn. Or a £20,000 monthly food budget across the London region. Or a £100,000 monthly food budget org-wide. The category-matching, the spent/committed logic, the enforcement - all identical.
- Site · "£5,000/mo on Food at Old Harbour Inn"
- Area · "£20,000/mo on Food across the London region"
- Org · "£100,000/mo total Food spend"
Period is computed on the fly from the budget's creation date - spent and committed always scoped to the current cycle.
Six states. Automatic transitions.
Every budget moves through a defined lifecycle. Active → Warning → Alert transitions happen automatically as spend and commitments accumulate. Draft, Paused and Complete are manual - they only move when an admin moves them.
Created but not yet active. Visible in the directory, not yet tracking live, no enforcement applied. The starting state when you create a budget.
Live and tracking - usage below the threshold. Spent and committed update on every order approval, send, void and invoice post. Enforcement applies based on org config.
Spent + committed has crossed the configured threshold (default 80%). Visible inline on the budget and in the dashboard. Approvers see the warning when raising a new order.
Spent + committed is at or above 100% of the budget amount. The line is crossed. In Block mode, new orders against this budget are rejected. In Warn mode, approvers see the overage explicitly.
The cycle has ended and the budget is archived. Final variance recorded. The budget itself stays in the directory with read-only history; new spend doesn't accumulate against it.
Temporarily suspended. Not enforced. Tracking is paused - spend doesn't accumulate. Use for category freezes, audit periods, or budgets you want to keep on the books but pause control on.
Warn. Or block. Your choice.
Three enforcement modes set at the org level - applied to every budget on every order approval and purchase request submission. Pick the level of control your team needs without rebuilding the model.
Budgets are informational only. Spent and committed still track, the dashboard still works, the variance reporting is still generated - but orders proceed regardless of budget state.
Soft gate. The order proceeds, but the approver sees a warning inline with the budget detail and the percentage usage. The decision is logged. Useful when you want awareness without blocking the line.
Hard gate. If the order would push spent + committed over the budget, it's rejected with a 409 error and a structured error code. The order doesn't proceed until the requester adjusts, an admin overrides, or the budget is increased.
Configured via budget_enforcement at org level. Threshold (default 80%) configured via budget_warn_threshold_pct.
Click any budget. See every invoice and order behind it.
The budget figure isn't a black box. Open any budget and see exactly which invoices contribute to Spent, which orders contribute to Committed and how much each one is worth. Credits shown separately as negative line items.
- Spent view · every contributing invoice - number, supplier, net, gross, issue date, due date
- Committed view · every approved order with line-item detail - product, quantity, unit price, line total
- Combined view · merged timeline with type indicator (order vs invoice) and chronological flow
- Credits handled separately · split totals for invoices, credits and net total
- FX-converted · multi-currency amounts converted at the posting rate of each invoice
Variance. Trends. One dashboard.
Beyond the per-budget detail, the analytics dashboard rolls the whole supplier-spend picture into summary cards, a per-category variance breakdown and four time-series trend charts.
- Summary cards - total budget, actual spend, variance £ + %, on-track count
- Variance breakdown table - every category with budget, actual, variance, status, sparkline
- Utilisation distribution - best category, worst category, overall utilisation %
- Four trend charts - Budget vs Actual, Cumulative, Category Spend, Utilisation Rate
- Filterable by site, area, supplier, category, date range, time frame
From "check the spreadsheet" to live, drilled-down spend control.
Most operators run budgets in Excel - updated monthly, missing committed spend, no enforcement and absolutely no way to see the overrun until the invoice arrives.
- Budgets tracked in spreadsheets - updated monthly, always out of date
- No committed spend visibility - only see invoiced amounts after the fact
- No enforcement - orders placed regardless of budget remaining
- No threshold alerts - overspend discovered at month-end review
- Category spend requires manual classification and cross-referencing
- Multi-site budgets aggregated manually across separate spreadsheets
- Live spent + committed tracking - remaining visible in real-time
- Hierarchical category matching - one budget covers the whole tree
- Configurable enforcement - warn or block before the order is placed
- Threshold-based status transitions when usage crosses the line
- Drill-down to every invoice and order behind a number
- Multi-scope - site, area, or org budgets in a single system
- Variance analytics with trend charts and per-category detail
Ask LEDGE where the spend went.
Every budget, every variance, every approved order is in scope. LEDGE pulls real numbers from the live system - categories, sites, suppliers, periods - and explains the answer with the underlying data behind it.
The practical details.
Will I be notified when a budget hits 80%?
Warning automatically and the inline warning appears on the budget detail page, the analytics dashboard and any approval screen for an order against that budget. Email or Slack push notifications for budget threshold events aren't part of the platform yet. LEDGE can give you the answer on demand and you can make budget queries part of a recurring review.Does the budget period roll over automatically at month-end?
cumulative_variance and cycles_completed track the long-term picture across cycles.Does it forecast end-of-period spend?
Can I import budgets from Xero, QuickBooks or Sage?
There's an "approver" field - is that a workflow?
Are expenses included in budget tracking?
budget_link field that points to a specific budget, but the automatic matching of expense → budget hasn't been built yet. For now, procurement spend (invoices and approved orders) is what flows into the live spent + committed figures. If you want expenses counted, link them explicitly during the expense workflow, or run a periodic LEDGE query that combines expense and procurement spend by category.What happens to historic cycles when a period rolls?
Can the same category have multiple budgets?
See your spend against budget - in real time.
Bring three of your real budgets to a 30-minute demo and we'll set them up live. Watch the spent + committed figures move as we approve test orders against them. No card needed.