Run your consultancy.Stop chasing timesheets.Ship EMS.
The PSA built for consulting firms. Margin you can trust under multi-currency. Multi-company by design so a holding group works the way it really works. AI that fills the timesheets so your people don’t have to.
Portfolio CM
24.2%
+1.4 pp
vs Q1
Revenue (base £)
£1.08m
3 currencies
FX as of today
Confidence
High
92% complete
14 engagements
Your portfolio CM is 24% — healthy. Watch Acme · Phase 2 (3%) — scope drift since week 14.
Northwind · Data Mesh
GBP · £412k
31%Fabrikam · Cyber Programme
EUR · €328k
27%Contoso · Cloud
GBP · £196k
18%Acme · Phase 2
USD · $142k
3%
Assistant: “Acme · Phase 2 lost 12 pp of margin in the last 4 weeks — top driver: 38 unbilled hours by JN.”
— For consultancies · engineering studios · holding groups · fractional CFOs
Why teams choose EMSBuilt for the firms that run on billable hours
What a buyer judges in the first ten minutes.
We built EMS around the five things a consulting-firm buyer will judge us on inside the first ten minutes — margin, multi-company, navigation, mobile and AI. Get those right and everything else follows.
Margin you can trust
Multi-currency, role-scoped, completeness-tagged. The number on the screen is the number you can quote to your CFO — not a rough estimate that mixes pounds and euros.
- Per-tenant base currency with auto FX
- Overlap-window calculation (no engagements vanish at quarter-edges)
- Role gates: TeamMember sees own · Manager sees managed · Director sees all
Multi-company by design
Holding group with subsidiaries? Each entity invoices clients separately, files its own VAT, and rolls up to the parent. Switch in two clicks. Per-entity branding on Premium.
- Tenant → many Companies (legal entities)
- Per-company invoicing, VAT, registration number
- Per-company brand colour + logo (Premium)
AI that fills the timesheet
Claude reads calendar + Teams + Jira and proposes weekly timesheet lines the user accepts or rejects. The #1 PSA pain killed by your team's existing data trail.
- Auto-fill from Microsoft Graph calendar + Slack / Teams / Jira
- Confidence scored — humans approve, the AI never writes silently
- Customer data is never used to train models
Mobile-first by build
Submit timesheets on iPhone. Approve leave on the train. Install as a PWA in one tap. Competitors' mobile is universally weak — EMS is mobile-first from day one.
- PWA — installs from the browser
- Responsive tables that flip to cards under 768px
- Approve, submit, escalate in one thumb
Built to integrate
Public REST API on Pro, full read/write on Premium. Native Xero, QuickBooks, HubSpot, Slack and Teams connectors. Webhooks for everything that matters.
- OpenAPI 3 surface · 60 req/min Pro · 600 req/min Premium
- Webhooks: engagement.created · timesheet.submitted · invoice.issued
- Tenant-scoped API keys with audit log on Premium
Sign up in 30 seconds. See your margin in five minutes.
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
Built for the CTO who reads the security page.
EMS runs on Microsoft Azure (EU West / Ireland), with row-level tenant isolation, AES-256 at rest, and a DPA signed by the Alsvior Global UK / ES / PT entity that bills you.
Read the security overviewTenant isolation
Every query filtered by TenantId at the EF layer. Cross-tenant reads return 404, never data.
Encryption everywhere
TLS 1.2+ in transit. AES-256 at rest. Per-tenant column encryption for sensitive fields.
EU data residency
Azure West Europe (Ireland) by default. UK and US on Premium (waitlist).
GDPR DSR endpoints
/api/gdpr/export and /api/gdpr/erase satisfy Article 15 access and Article 17 erasure.
AI without compromise
Zero-retention API · customer data never used to train models · per-tenant tool scoping.
Audit log
Every write tagged with TenantId, CompanyId, PlanId, Role. 30 days on Pro, unlimited on Premium.
Questions a founder would ask.
Straight answers — including the awkward ones about price rises, shutdown, and what we do with your data.
Consulting firms with 3–500 people that bill by the hour or by the deliverable. We sit between thin time-trackers (Ruddr) and heavyweight enterprise PSAs (Kantata). If your team uses HubSpot, Jira, a spreadsheet and Xero — EMS replaces all four with one tool, integrated.
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
