SaaS · Saas

IT Services Firm Management Vertical on Acumatica

IT Services Firm Management Vertical on Acumatica: a practical Acumatica fit review focused on project budgets, time capture, utilization, billing rules, and scope change control. It separates documented product capability from configuration, integration, and customisation work.

John Kihiu12 min read

IT services firms are consulting firms with one extra wrinkle: a chunk of revenue is usually recurring managed-services contracts (a flat monthly fee for support/monitoring) sitting alongside project-based implementation work billed T&M or fixed-fee. Acumatica handles both, but they are genuinely different configurations, and firms that try to force MSP contracts through the same billing rule as project work end up with invoices nobody can reconcile against the ticketing system.

Model the two revenue types separately

Project/implementation work is a standard Projects-module setup — tasks, budgets, T&M or fixed-fee billing rules, exactly as any consulting engagement. Managed-services contracts are better modeled as a recurring billing schedule tied to a Project with minimal task structure (or, for firms with real contract complexity — tiered SLAs, per-device pricing — a small customization adding contract line items that drive the recurring invoice amount). Keep them as separate Projects per client even when the client has both, so budget-vs-actual reporting on the implementation work isn't diluted by the flat recurring fee.

The ticketing system is the actual source of truth for time

Almost no IT services firm wants staff logging time twice — once in a PSA/ticketing tool (ConnectWise, Autotask, Freshservice, Jira) and again in Acumatica. The workable pattern is one-directional sync: time entries created in the ticketing tool, pushed into Acumatica as Time Activities via the REST API on a schedule (I use a 15-30 minute batch job, not real-time, because ticket time gets edited/corrected for the first hour after entry and you don't want to bill a correction window).

REST · POST TIME ACTIVITY FROM PSA SYNC
Reconcile ticket count against billed hours, not just totals

A batch sync that fails silently on one malformed ticket will under-bill a client for a month before anyone notices — the invoice total still looks plausible. Build a reconciliation check comparing ticket count synced against ticket count in the source system, not just a dollar total, and alert on a mismatch. This is the single highest-value guardrail on these integrations and the cheapest to build.

Subcontracted engineers: pay-and-bill spread

IT services firms leaning on subcontracted engineers need the spread between what the contractor is paid and what the client is billed visible per engagement, which means the contractor's cost rate and the client's billing rate both need to be configured on the Project — cost rate on the Employee/Labor Item, billing rate on the Project Task or Customer-specific rate table. Get this wrong (e.g. cost rate defaulted to zero for a 1099/contractor employee type) and the Project Status margin report quietly overstates profitability all engagement long.

Wrapping up

Keep project work and managed-services recurring billing as distinct Project configurations, treat the PSA/ticketing tool as the system of record for time with a one-directional sync into Acumatica, and verify contractor cost rates are actually populated — that last one is a five-minute check that prevents a quarter of wrong margin numbers.

John Kihiu
Acumatica ERP Developer · Laravel Engineer

Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.