Consulting firms are the textbook case Acumatica's Projects module was built for, and it shows in the fact that consultants, engineering firms, and marketing companies show up explicitly in Acumatica's own positioning of the Project Accounting module. The interesting part is not whether it fits — it does — but which of the several available billing patterns actually matches how a given firm sells work, because getting that wrong produces a system everyone routes around within a quarter.
Three billing shapes, one module
Consulting firms usually sell some blend of three patterns, and Acumatica's Billing Rules (PM207000) can express all three, often on the same project:
- Time and material — bill actual hours at resolved rates. The straightforward case; the only real decision is rate resolution order (employee override, then project-task rate, then a default labor-item rate).
- Fixed-fee / milestone — bill a contracted amount on task completion or a defined percentage schedule. Configured as Progress billing steps against defined milestones on the Project Tasks screen (PM302000).
- Retainer — bill a recurring amount, draw down against it with time, true-up any overage. This is the one that needs the most care: model it as a recurring billing schedule with a running balance check against consumed time, not as a plain recurring invoice, or nobody notices when a client blows through their retainer in week two of the month.
Contract line: Retainer — $8,000/month, recurring
Billing step: Time and Material, rate = 0 (already prepaid)
Reporting: GI comparing MTD time value (at standard rate)
against the $8,000 line — surfaces overage before
month-end, not after the invoice run
Budget vs actual is the whole value proposition
The reason a consulting firm outgrows QuickBooks-plus-spreadsheets and moves to Acumatica is almost always budget-to-actual visibility mid-engagement, not the invoicing itself. Set project budgets at the task level (PM302000) at kickoff, and the Project Status inquiry gives a live burn-rate view — hours consumed against budgeted hours, cost against budgeted cost — without anyone building a spreadsheet. The discipline this requires: someone has to actually enter a budget at project setup, which sounds obvious and is the step I see skipped under deadline pressure more than any other, at which point the "insight" the client bought the software for silently stops existing.
Utilization reporting for the bench
Firms with a bench of consultants care about utilization — billable hours over available hours, per consultant, per week. This is not a stock dashboard; it's a GI joining PMTimeActivity to employee calendar/availability data, exposed on a dashboard. Simple to build, worth building early, because it's usually the first report a managing partner asks for once the system is live and the honest answer without it is "we don't actually know."
A firm billing a US client in USD while paying a Nairobi-based consultant in KES needs the project's base currency and each contract line's currency confirmed before the first timesheet is entered, not after — reclassifying time entries across currencies after the fact is a manual cleanup, not a button. Set this in the Customer's currency and the Project's base currency at creation.
Wrapping up
Consulting is close to the ideal Projects-module fit — the risk isn't whether Acumatica can do it, it's configuring the billing rules to match how the firm actually sells (T&M, fixed-fee, retainer, or blended) and insisting on budgets being entered at kickoff so the burn-rate reporting that justified the purchase actually exists.
Independent software engineer in Nairobi specialising in Acumatica customisations, Laravel backends, and tax fiscalisation integrations across East and Southern Africa.