All documentation

Professional services

Contracts and allowances

Block hours, retainers, included tickets, per-seat units and unlimited support — one mechanism, and a ledger that can always explain a balance.

A contract holds one or more allowances, and an allowance is a quantity of something drawn down by work. What differs between a block of hours, a retainer, a bundle of tickets and a per-seat service is the unit and what counts as consumption — not the mechanism.

There is deliberately no contract type

Listing them as types is how a tool ends up with seven code paths and a consultant needed to configure it — and the types are not even the real variety. Block hours with the excess billed, block hours with the excess absorbed, incidents included, billed per incident and support included are five arrangements a type list would make five types. They are two decisions on one allowance.

The five units

UnitBought asDrawn down byTypically sold to
Hours40 hours up front, or 10 a monthRecorded timeEverybody
Money on account£5,000 on accountAny priced charge, at what it was worthAgencies, retainers
Tickets20 tickets a monthA ticketManaged service providers
Units40 seats, 12 devicesA counted quantity per periodManaged service providers
Unlimited“Support included”Nothing — it covers without depletingManaged service providers

Unlimited is an allowance with no quantity, not the absence of a contract

It still decides what is covered and still records the value of everything it covers, which is the only way “is this all-you-can-eat client profitable” has an answer at all. Modelled as “no contract”, that question is unanswerable — and it is the one question that matters about the deal.

What a ticket consumes

A property of the contract, not of the ticket. The same ticket, closed by the same agent after the same two hours, is one incident under one agreement and 120 minutes under another. You choose whether a ticket counts when it is raised or when it is closed; closed is the default and the commoner arrangement, because the work is finished and its size is known.

One charge draws down at most one allowance

This is what stops double-billing. Where a contract counts incidents, the labour on the ticket must not also deplete an hours block — the client would pay twice for one piece of work and it would look correct on both reports. The non-consuming half is still recorded and still valued: a ticket billed at £50 that took three hours is £300 of delivered value against £50 of revenue, which is how a loss-making contract becomes visible before renewal rather than after.

What happens when it runs out

Four answers, per allowance — and the wrong one costs real money. A retainer that quietly overflowed to time and materials sends an invoice the client never agreed to; one that quietly absorbed loses revenue nobody noticed.

Keep going and say so
Nothing is refused and nothing is charged. The excess is visible and waiting for a decision.
Charge the excess
Anything beyond the allowance is billed at the ordinary rate.
Absorb it
Work continues, is valued, and is never invoiced. The retainer is the fee.
Stop
Refuse to record more against this contract. Rare, and deliberately available.

“Up to 20% over, then we talk” is one number, not a fifth behaviour

An absorbing allowance can carry a ceiling, measured against what the charge in front of it would take the total to. Past the ceiling it falls to whatever you named — and where you named nothing it goes on absorbing, which is the reading that never surprises a client with an invoice.

What happens at the end of a period

An unused balance expires, carries over, or carries over up to a limit. This is where clients argue, so the rule is recorded rather than remembered — and both halves are posted: “twelve hours expired in March” is exactly the entry somebody comes looking for. An overrun never carries forward as a debt.

The balance is a ledger, not a counter

Every grant, drawdown, rollover, expiry, correction and manual adjustment is a row, and the balance is their sum. Nothing is ever edited or deleted — a correction posts a reversal pointing at what it undoes, the same shape the leave ledger uses.

Because “why does this client have four hours left” has to have an answer

A decremented counter cannot answer it. A ledger can, months later, to somebody who was not there — which is exactly when the question gets asked.

Grants post the first time somebody looks rather than on a schedule, so a contract nobody has touched for three months is correct when it is opened — and so is one entered retrospectively, which a job that only ever looks forward would leave with no grant at all for the months already gone.

Seeing coverage before doing the work

An agent looking at a ticket can see whether it is covered and by what before spending two hours on it. It is a read of the same ledger, resolved by the same rule a real charge will be, so what they are shown is what will actually happen. The alternative is finding out at the end of the month, which is when it is already somebody's loss.

What a contract refuses

  • Changing the currency or the unit once anything has been granted or drawn. Both decide what a number in the ledger means, so changing either restates every entry silently.
  • Deleting a contract with a ledger behind it. End it instead — deleting would destroy the record of what was bought and used.
  • An allowance of nothing, a quantity on an unlimited allowance, a ceiling where nothing is being absorbed, or a carry-over limit where nothing carries over. Each would save cleanly and then behave wrongly.
  • An adjustment with no reason. *Take two hours off the block for last week* is a real instruction; an adjustment nobody explained is a balance nobody can account for.

Who can do what

ActionNeeds
See contracts and what is leftfinance:view
Create or change a contract, adjust a balancefinance:configure