“We don’t lose money on projects,” the CFO said at our first meeting. “We just lose time.” The senior architect sitting next to her laughed — he had just spent a full week on a facade the client approved in an email, even though the contract clearly stated no work begins before a purchase order arrives.
That week’s time, about 40 hours in total, sat in a timesheet for three weeks. Then it got quietly deleted because nobody knew how to bill it.
Where the hours were hiding
This was a 40-person architecture and engineering firm, and the ERP Consulting review started with one month of timesheets. It took two days to reconcile them. The consultants found 620 hours of logged work that had no project attached, no billing code, and no owner. At the firm’s average billing rate of $145 an hour, that was almost $90,000 in work the firm performed and never invoiced.
The root cause was not lazy staff. It was a broken handoff. The project manager tracked change requests in a spreadsheet, the accounting team used a completely separate system, and sales kept its own list of promised discounts.
The three lists never talked to each other. Work got done, hours got logged, and the invoice left out anything that didn’t match the original contract.
The fix: no hour exists without a billing destination
The ERP Consulting team introduced one rule and enforced it for 45 days, and it applied to every single hour worked.
- Every hour entered in the timesheet must carry a project number, a phase code, and a billing status — “billable,” “not billable,” or “needs approval” — before it can be saved.
- Every change request from a client gets a code in the system within 24 hours, so the work and the billing path exist before the employee starts.
- Every Monday, the project manager reviews the previous week’s “needs approval” hours and either chases the change order or reclassifies them as not billable. No hour stays unassigned for more than seven days.
The first week was painful; experienced architects hated typing an extra code. By week four, it was automatic. By the end of the fourth month, unbilled and unassigned hours had dropped to 28 hours for the entire month — down from 620.
What that meant for the owner
With the hours finally visible, the firm discovered it had been underbidding its own services for years. Two standard project types were consistently running 14 percent over estimate, and the firm had never adjusted its prices because the data was scattered. The owner raised rates on those two project types, and the backlog stayed full. That single pricing correction added more profit than winning one new client.
Your move this week: pull your firm’s last thirty days of timesheets and count the hours that have no project or no billing code. If that number is more than 50, you are leaving at least one employee’s worth of revenue on the table. You don’t need a new department — you need a rule that no hour exists without a billing destination. ERP Consulting can design that rule for your workflow, but the count first is all yours.