Design cost centres, budgets and rules

Budgets

Amount, period, carry-over, and what happens when it runs out.

A budget puts an amount and, optionally, a period on a monetary cost centre, and keeps a ledger of every movement against it. It is the control the customer's controller actually asked for.

Before you begin. The cost centre has to exist and be monetary; a tracking-only centre cannot hold a budget. You need three answers from the customer: the amount, the period it covers, and what should happen when it runs out. A budget that only reports is a different setup from one that stops orders.

Where you find it

Procurement › Cost centres › Budgets lists every budget; the same budgets appear on the Budgets tab of their cost centre, with the remaining total in the footer. A budget's detail view has the tabs Overview and Ledger.

What a budget carries

FieldWhat it decides
Cost centreWhat it applies to
NameHow it reads in lists and reports: Q4 2026, Sonderfreigabe Reparatur
AllowanceThe amount the budget opens with, in the cost centre's currency
Consumed in positionThe order in which a centre's budgets are drained
Period starts / Period lengthThe first day, and how many months it runs: month, quarter, half-year or year
RecurringWhether a new budget opens automatically when the period ends. Offered once a length is set
RemainingWhat is left. Written only by the ledger, never typed
ActiveWhether it is still spent from. The nightly run switches it off when a period closes

The last day of the period is worked out from the start and the length. A quarter that opens on 1 January closes on 31 March, and the next one opens on 1 April. A budget without a period is a one-off allowance.

Amounts are in the cost centre's currency and nothing converts. Budgets are monetary only; there is no quantity budget ("twelve laptops a year"). Where a customer asks for one, the answer is a restriction on the cost centre or an approval rule.

Several budgets on one cost centre

A centre can carry more than one budget at a time. They are drained in the order of Consumed in position: the lowest first, then the next. The last one absorbs whatever the others cannot cover and may go below zero.

That is how the real cases are modelled: a one-off supplement (the €15,000 approved in March for an unplanned repair) as its own budget so it can be reported separately, or a project pot beside the running budget. A negative remaining value on the last budget is not an error. It is the overrun the controller wants to see, and whether an overrun is allowed at all is decided by the approval rules, not by the budget.

When the period ends

Once a night the platform closes every recurring budget whose period has ended and opens its successor for the next period, on the same allowance plus whatever carries over. Nobody has to press anything.

What carries over is the budget's carry-over rule:

RuleEffectFits
never (default)The successor opens on its allowance. The remainder lapsesConsumables, where an underspend should not fund a spree in January
alwaysThe whole remainder carries into the successorProject and investment budgets
limitedThe remainder carries up to a cap, the rest lapses"Up to €2,000 may move into the next quarter"

Three things hold whatever the rule says:

  • An overspend never carries. A period that ended below zero stays below zero; the successor opens on its full allowance.
  • What does not carry is written off. The closed budget shows a lapsed entry for it and is switched to inactive. Money is moved, not copied, so the ledger always balances.
  • One period per night. A budget whose period ended longer ago than its own length (a monthly budget that ended three months ago) is reported as stale and left alone. It means the nightly run did not happen. Open the current period's budget by hand.

The carry-over rule is set when a budget is created through the API, for example by the integration that creates your budgets. The Cockpit form does not offer it, so a budget created there carries nothing over. The period and the carry-over rule can be corrected only while nothing has been booked on the budget.

What happens when it runs out

The budget itself never refuses anything. What a buyer experiences at the limit is decided by the approval rule watching it, through the condition Available budget:

BehaviourRuleWhat the buyer experiences
Report onlyNo ruleThe order goes through. The budget may go negative on its last position
Soft limitAvailable budget → Pending order (needs approval)Over budget, the cart becomes a purchase request and somebody signs for the overrun
Hard limitAvailable budget → PreventThe submit is refused. No request, no order
A hard limit stops your revenue, not only their spend. A Prevent rule on a maintenance cost centre means that at 15:40 on a Friday in November, the person trying to buy a seal for a leaking machine gets a refusal. Most customers who ask for a hard limit want an overrun that a manager signs for. Ask what should happen to the genuine emergency before you configure Prevent.

One more limit the customer should know about: a monetary centre whose budgets are all inactive is not offered to buyers at all. A non-recurring budget that is retired without a successor closes the centre for ordering until a new budget exists.

How spending moves the budget

Every movement adds a ledger entry; nothing overwrites the number.

MomentEffect on the budget
A purchase request is submittedThe amount is reserved at once, so the next request sees what is left
A waiting request's lines are correctedOnly the difference is reserved or given back
The request is approved and the order placedThe reservation becomes the order's; no further money moves
The request is declined or cancelledThe reservation is credited back
An order is placed with no approval neededThe amount is spent in one step
An order is cancelledWhat it booked comes back, unless the budget's period has closed

Two simultaneous spends against the same budget are not protected against each other: both are booked, and the ledger shows both. The budget sends no alerts; low balances are found by looking. See Reading the budget ledger.

Set one up

  1. Open Procurement › Cost centres › Budgets and choose New budget, or use New budget on the cost centre's Budgets tab.
  2. Choose the cost centre and give the budget a name.
  3. Enter the allowance in the cost centre's currency.
  4. Set Consumed in position if the centre already has a budget. Decide explicitly which is drained first.
  5. Set the period start and length. Use the customer's financial year, which is not always the calendar year. Leave both empty for a one-off allowance.
  6. Tick Recurring if a new budget should open each period.
  7. Configure the rule that gives it teeth, or deliberately none.

To add money mid-period, open a supplementary budget on the same centre. A correction to an existing budget is an adjustment through the API, recorded as a manual entry with the name of whoever made it. Editing a budget never changes its remaining value.

What to check

  • The budget shows its full allowance as remaining, and one ledger entry recording that it was opened.
  • The cost centre now appears for buyers. Before its first budget it did not.
  • Submit a test purchase request against the centre. Remaining falls at once. Cancel the request on its detail view. Remaining returns, and the ledger shows both movements.
  • The morning after the first period end, the closed budget is inactive and a budget for the new period sits next to it on the cost centre.

Next