The whole consulting spine. In one product.
CRM, delivery, timesheets, invoicing, PO matching, margin, forecasting, AI — and a multi-company model that knows the difference between Acme UK Ltd and Acme DE GmbH.
Opportunity CRM
Stage workflow (Qualify → Develop → Propose → Win/Loss), financial plan, probability, action tracking. Converts to Engagement in one click on Win.
Engagement delivery
T&M and Fixed Price. Multi-currency. Billable and non-billable. Parent/child assignments with deliverable structure. Planned Work and Planned Margin.
Weekly timesheets
Submit/approve workflow. AI auto-fill from calendar + Teams/Slack/Jira. Extra-hours requests with manager approvals. Leave with balance tracking.
Invoicing & PO matching
Generate invoices straight from delivered work. Match incoming POs, credit notes, split lines. Recurring on Premium. Branded PDF.
People & hierarchy
Person levels, EBR codes, contract types. Org tree visualization. Custom roles on Premium. Multi-tenancy for users who belong to several workspaces.
Margin & utilization
Per-person, per-engagement, portfolio. Role-scoped (TeamMember sees own, Director sees all). Forecasted on Premium. Snapshot history.
Engagement health
Margin trend, scope-creep flag, utilization variance. Surfaced as RAG badges on the home dashboard. Alerts on Premium.
Tenant isolation
Every query filtered by TenantId at the EF layer. SaveChanges stamps the tenant. Cross-tenant reads return 404, never data.
Public REST API
OpenAPI 3 surface. Per-tenant API keys. 60 req/min on Pro (read), 600 req/min on Premium (read/write). Webhooks on engagement, timesheet, invoice, opportunity events.
AI auto-fill timesheets
Claude reads Microsoft Graph calendar + Slack / Teams / Jira webhooks and proposes Timesheet_Line rows. Confidence-scored. Human approves — the AI never writes silently.
Most PSAs lie to you about margin.
We’ve dissected every consultancy PSA on the market. They sum pounds and euros into the same total. They drop engagements that straddle the period. They show portfolio CM to junior staff who shouldn’t see it.
EMS does none of that. Every margin number we render is scoped to your role, converted to your base currency, overlap-windowed and tagged with completeness.
Currency is converted, not added
A £100k UK engagement and a €100k EU engagement convert to your tenant base currency at the engagement start date. No raw additions across currencies — ever.
Date window is overlap, not inside
A six-month engagement straddling a quarter boundary stays visible. Most PSAs hide it. EMS shows you the share of work in the period.
Role-scoped at the service layer
TeamMember sees their own contribution. Engagement Manager sees managed engagements. Director sees the portfolio. Defence-in-depth on top of the controller attribute.
Tagged with completeness & confidence
Each margin number ships with a badge — how complete the data is and how stale the FX rate is. Buyers want to know they can trust it before they quote it.
One workspace. Many legal entities.
A holding group is not one company. Acme UK Ltd invoices in pounds, files its own VAT, and reports to its own board. Acme DE GmbH does the same in euros. EMS knows the difference — and rolls them up.
- Per-company invoicing, VAT and registration
- Per-company branding (logo + colour) on Premium
- Consolidated P&L for the parent · scoped P&L for each subsidiary
- Two-click switch in the topbar — no separate workspace
Workspace · Acme Group
ConsolidatedRevenue
£820k
this quarter
Margin
27%
CM %
Engagements
8
active
Why it matters: when Acme UK Ltd invoices a client, the invoice carries the correct VAT, currency and registration number. Same template everywhere — different legal reality at the bottom.
Ask in plain English. Get answers grounded in your data.
The Assistant uses Anthropic’s Claude Haiku (Pro) or Opus on demand (Premium). It calls the same internal tool catalogue the app uses — your data never leaves your tenant boundary, and it’s never used to train any model.
- Tenant- and company-scoped tool calls — no cross-tenant leakage
- Zero-retention API tier — prompts and completions deleted by Anthropic on receipt
- Customer data never used for model training
- Choose your model: Haiku for speed, Opus for hard reasoning
What's my worst engagement this quarter?
Acme · Phase 2 — contribution margin 3% (vs 24% portfolio average). The biggest driver is 38 hours of unbilled work by JN since week 14. Want me to draft a scope-change email to the client?
get_worst_engagementsget_unbilled_hoursYes, draft the email. Cc Sarah from Finance.
Drafted. The email frames it as a deliverable adjustment, references the original SoW, and proposes a $14k change order. Sarah is cc'd. Ready in your drafts.
draft_emailcreate_change_order
One product. One trail. Quote → cash.
Most consultancies run their pipeline in HubSpot, their delivery in Jira, their timesheets in a spreadsheet, and their invoicing in Xero. EMS gives you the entire spine in one product — without taking the integrations away when you need them.
Win the opportunity
Pipeline stages, financial plan, probability. The CRM has been there from day one — not bolted on.
Convert to engagement
One click on a Won opportunity. The financial plan copies into an Engagement with the right currency, type and team.
Plan, track, log
Assignments with parent / child structure. Weekly timesheets with AI auto-fill. Extra-hours approvals. Leave.
Issue and match
Generate from delivery in one step. Match incoming POs, credit notes, split lines. Recurring on Premium.
See what comes next
Roll up planned work and planned margin across portfolio. Health-score engagements with RAG badges. Alerts on drift.
Connect the tools you already pay for.
EMS is the spine. The leaves stay in the tools your team already loves — Xero for the books, HubSpot for marketing, Slack for messages. The public REST API and webhooks make everything else possible.
Don’t see your stack? Vote on the roadmap.
Stripe
Billing
Microsoft Entra ID
Identity
Google Workspace
Identity
Postmark
Anthropic Claude
AI
Microsoft Graph
Calendar
Xero
Accounting
QuickBooks Online
Accounting
HubSpot
CRM
Slack
Messaging
Microsoft Teams
Messaging
Jira
Project tracking
Sage
Accounting
Salesforce
CRM
Zapier
Automation
Ready when you are
Sign up in 30 seconds. See your margin in five.
Three people, one active engagement, all the features. Forever free — no credit card needed. Upgrade when the team grows.
— Magic-link sign-in · No card · Cancel anytime
