Time, Expenses & Projects
Capture time and expenses against anything, resolve rates from a rate card, and run projects with budgets, capacity and billing plans.
Recording Time, Expenses and Absence
Time, expenses and absence share a shape: somebody records what they did, against what, and the entry keeps the financial facts that were true when it happened.
Where to find it
Architect Panel → ERP - Projects & Time:
- Projects & Time — the console — enter, review, approve
- Time Entries — the individual entries
- Timesheets — the periodic batch entries are submitted in
- Expenses — expense claims, with receipts
- Absence — holiday, sickness and other non-working time
- Work Breakdown — the structure everything is booked against
A time entry
An entry carries the resource, the date, the duration (start and end times, or simply minutes), what was worked on, and the work breakdown element it belongs to. It also carries an activity — the kind of work — which is what makes analysis by activity possible rather than only by person.
The rate is stored on the entry
Each entry keeps its own bill rate and cost rate, resolved from the rate cards when the entry is created rather than looked up when a report runs.
This is the same principle as stock cost layers and ledger currency amounts. If the rate were looked up later, raising your charge-out rates in April would silently restate the margin on every project delivered in March — and a project reported as profitable would become unprofitable, or the reverse, with no transaction to explain it.
Storing it means historical margin is fixed. It also means a rate change applies to future work only, which is almost always what was intended.
Billable and non-billable
Every entry is flagged. Record non-billable time too — internal work, training, admin — because utilisation is only meaningful if the denominator is real. A system holding only billable time reports 100% utilisation and tells you nothing.
Timesheets and status
Entries are grouped into timesheets for submission and approval, and each carries a status. Approval is what makes time eligible for billing; entries that were never approved should not appear on an invoice, and the status is what enforces that.
Expenses
An expense records the date, category, what it was for, the gross amount, the tax element, the currency and the exchange rate applied, and links to an uploaded receipt. Where it is billable it can carry a markup.
Capture the receipt at the point of claim. Reconstructing receipts at year end is nobody's favourite week, and a claim without one is usually disallowed.
Absence
Absence reduces available capacity, so it belongs in the same place as time rather than in a separate spreadsheet. A resourcing plan that does not know somebody is on leave for a fortnight will confidently promise work they cannot do.
Imported time
Entries record their source and an external reference, so time brought in from another system stays identifiable. That matters when reconciling: you can tell what was keyed here from what arrived from elsewhere.
Worked example
A consultancy has staff submit weekly. An entry against a project's "Discovery" work breakdown element captures 7.5 hours of Analysis at a bill rate of £95 and a cost rate of £41 — both stamped on the entry. In June the standard rate rises to £105; the March entries still read £95, so the March margin report is unchanged.
Recommendations
- Record non-billable time or utilisation is fiction.
- Attach receipts at claim time.
- Approve before billing, and check the status is respected.
- Keep absence here, not in a separate calendar.
Rate Cards and Capacity
Rate cards answer one question: for this person, doing this kind of work, on this project, on this date — what do we charge and what does it cost us?
Where to find it
Architect Panel → ERP - Projects & Time:
- Rate Cards — the rates and how they are matched
- Resource Capacity — available minutes per period and the utilisation target
What a card matches on
- Resource — a specific person.
- Role — a grade or job title.
- Activity — the kind of work.
- Scope — a specific project or client, for negotiated rates.
Any of these can be left open, which is what lets one card cover a default and another cover an exception.
Priority decides overlaps
Cards will overlap, and that is intended rather than a mistake. A standard rate for a role, a different rate for one client, and a personal rate for one senior consultant can all apply to the same entry.
Priority resolves it: the highest-priority matching card wins. Set priorities so specific beats general — the client-specific card above the role default, the individual above the client — and leave gaps in the numbering so a new tier can be inserted without renumbering everything.
Dates
Cards carry validity dates. Change a rate by ending the old card and starting a new one from the effective date, exactly as with structure effectivity. Do not edit a card in place: entries already created keep the rate they captured, so editing the card leaves you with a card that does not explain the entries.
Dated cards also let a rate rise be entered in advance, which is much better than remembering to do it on the first of the month.
Both rates, always
Fill in cost as well as bill. Without cost, you have revenue but no margin, and revenue alone cannot tell you which work is worth doing. Cost should include real employment cost, not bare salary.
Capacity
Resource Capacity records available minutes per period against a working calendar, plus a target utilisation.
Capacity is what turns a plan into a check: demand exceeding capacity is visible before the commitment rather than after the deadline. The target is what makes utilisation reporting meaningful — 68% is neither good nor bad until you know you were aiming at 75%.
Set targets honestly
A 100% target guarantees the figure is missed and the metric ignored. Set it to what is genuinely achievable after admin, training and leave, and it becomes a useful management signal instead of a stick.
Worked example
An agency runs a role-based default card at priority 10, a client-specific card for its largest account at priority 50, and a personal card for its technical director at priority 90. A director's entry on that client resolves to the personal card. When the client's rates are renegotiated, only that one card is ended and replaced.
Recommendations
- Number priorities in tens so tiers can be inserted later.
- Always populate cost rates.
- End and replace cards; never edit in place.
- Set achievable utilisation targets and review them annually.
Projects, Budgets and Billing Plans
A project is where time, expenses, budgets and billing meet. The work breakdown is the spine that connects them.
Where to find it
Architect Panel → ERP - Projects & Time:
- Projects & Time — the console
- Work Breakdown — the recursive structure work is booked against
- Project Budgets — versioned budgets per element
- Billing Plans — how a project turns into invoices
The work breakdown
A recursive structure: elements containing elements, to whatever depth the work needs. Time and cost are booked against elements, and each carries its own billable flag — so a project can have billable delivery and non-billable internal phases without splitting it in two.
The breakdown links to your existing project and task records rather than replacing them, so this is a costing spine over the work you already track, not a second place to manage it.
How deep
Deep enough that a variance tells you something, shallow enough that people book to the right element without thinking hard. Three levels suits most work. Ten produces precise numbers about the wrong things, because everybody books to whatever element is nearest the top of the list.
Budgets are versioned
Budgets carry a version and an effective date, and hold quantity, cost and revenue by cost type.
Versioning is what lets you compare against the original as well as the current one. A project delivered exactly to its third revised budget, having tripled, is not a success — and only the version history shows that. Keep the original baseline and add versions rather than overwriting.
Billing plans
The plan decides how work becomes an invoice:
- Time and materials — approved billable time and expenses, at their captured rates.
- Fixed price — an agreed total, invoiced to a schedule or on milestones, with time recorded for costing rather than billing.
- Retainer — a recurring amount, with time recorded against it.
A plan can carry a cap, which is what stops a time-and-materials engagement quietly exceeding what the client agreed. Set it when the client set one; discovering the overrun at invoicing is the expensive way.
Revenue recognition and document type
The plan holds a revenue recognition method and the document type the invoice is raised as, so billing produces a proper transactional document that posts through the normal ledger rules rather than a special case.
Currency
Set the billing currency on the plan. It is stored on the entries too, so a project billed in euros stays consistent from time entry to posted ledger line.
Worked example
A fixed-price implementation is broken into Discovery, Build and Handover. The baseline budget is 60 days at £520 cost with £180,000 revenue. A change request adds version 2 with 12 more days. Billing is milestone-based on completion of each phase, and the profitability report compares actual cost against both versions — showing the project made its revised budget and missed its original by 20%.
Recommendations
- Three levels of breakdown unless you have a specific reason for more.
- Keep the baseline budget and add versions.
- Set the cap whenever the client agreed one.
- Choose the plan type before work starts — changing it mid-project means re-deriving what was already billed.