You probably need this if…
- You find out an engagement lost money at the end of it.
- Timesheets arrive late, and the bill goes out later.
- Utilisation is calculated in a spreadsheet that only one person understands.
- Work-in-progress and revenue recognition are a month-end argument.
- Scope creep is visible to the delivery team long before it's visible to finance.
- Subcontractor cost lands somewhere other than the engagement that used it.
What's already built
Modules configured
Projects with phases, work packages and budgets; timesheets with approval chains; expenses with policy limits and rebilling rules; sales with fixed-fee, time-and-materials and retainer contract types; invoicing with milestone, progress and time billing; resource planning; CRM; and accounting with WIP and revenue recognition.
Automations running
Approved time converting to draft invoice lines, held time surfaced with a reason rather than silently dropped, expense rebilling per policy, WIP accrual and release on invoice, revenue recognition on approval, budget-versus-actual alerts at thresholds you set, utilisation calculated on a single agreed definition, and subcontractor cost attributed to the engagement.
AI agents
A scope-drift detector that compares logged effort against the work-package plan and flags divergence early; an estimate assistant that prices new work from the actual effort profile of comparable delivered engagements.
Reports and documents
Engagement margin with WIP and realisation, utilisation by person and grade, pipeline against capacity, backlog and revenue forecast, invoice with drill-down to timesheet, and a WIP report that agrees with the ledger.
The system, before we touch it
The portfolio, with margin per engagement
Built from approved timesheet lines rather than estimated. Contracted, delivered and unbilled WIP side by side; status called plainly — on plan, scope creep, at risk. Underneath, utilisation by person against target, split into billable, internal and unassigned, with the people below target named rather than averaged away.
One week becoming one invoice
The timesheet grid with billable and held entries, the reason each held entry is held and who has to resolve it, expenses with their rebilling treatment, and the draft invoice on the right — every line expandable back to the entries and the approver behind it.
Illustrative data. Your instance is configured to your entities, currency and chart of accounts.
What we tailor
Your engagement types and rate cards, approval hierarchy and thresholds, your utilisation definition (the number that causes the most arguments — we make you define it once), expense policy, revenue recognition basis, invoice layout, and the grade structure your pricing depends on.
Back-date a utilisation methodology to make a past quarter look better. One definition, applied consistently, from a stated start date.
Weeks to live, in phases
Typical first practice live in 8–10 weeks.
Connects to
What it moves
- Days from period end to invoice
- Realisation rate
- Utilisation by grade
- Engagement margin variance against plan
- Unbilled WIP age
- Proportion of time logged within 48 hours
We baseline each of these in the fit review so the change is provable rather than asserted.
Yours at the end of the engagement
- The production system
- Rate cards and contract templates
- The utilisation and recognition definitions documented
- Custom code in your repository
- Approval configuration
- The reporting layer
Relevant experience
Custom business platform for an advertising and communications group across two legal entities, covering HR, finance, traffic and resource management (Pakistan).
Three-year IT-controls audit support for that group, covering access control, evidence and audit readiness.
Metabase and Power BI reporting layers built over live Odoo accounting and operations data.
Common questions
Our people won't fill in timesheets.
They will if it takes under two minutes a day and the categories match how they actually think about their work. That's a configuration problem more than a discipline problem, and it's where the pilot spends its time.
Can we run fixed-fee and time-and-materials in the same engagement?
Yes — mixed contracts with different billing rules per work package are part of the blueprint. Recognition follows the rule on the package, not the header.
What about multi-currency and cross-border delivery?
Configured in the blueprint. People bill in their entity's currency, engagements report in the contract currency, and the group consolidates. Intercompany recharge is automatic, with the transfer-pricing basis documented.
How does this compare to a dedicated PSA tool?
A dedicated PSA is often better at resourcing. It is almost always worse at the ledger, and it means a second system and a reconciliation. If you're big enough to need both, we integrate rather than argue.