Key takeaways
- Code every hour to a client, an engagement, a task, a person and a billable status.
- Decide the billing status of review and extension work in the engagement letter, not after the fact.
- Record hours worked each workday for nonexempt staff, because the regulation requires it.
- Compare standard value with billed value for each engagement every month, not once a year.
Build the code structure first
Every time entry should carry five fields: client, engagement, task, person and billable status. The client and engagement show where the fee comes from. The task shows what kind of work it was, and the billable status tells the billing run whether the hours can go on an invoice. If any field is optional, staff leave it blank under deadline pressure, and a blank entry cannot be priced later.
Set engagement codes by service line, not by client. One client may have a Form 1065 return, a monthly bookkeeping engagement and a payroll engagement, and each has its own budget and billing basis. A workable set is one code per recurring service: monthly close, payroll, Form 1040 preparation, Form 1065 preparation, Form 1120-S preparation, sales tax and advisory.
Use three billable statuses, not two. Billable means the work is inside the engagement letter and the firm intends to invoice it. Write-off means the work is inside scope but the firm has decided not to bill it, which is common on fixed-fee jobs. Non-billable means internal work such as staff training, software administration and continuing education.
Decide which compliance work is billable
Compliance work is billable only if the engagement letter names it. The decision rule is simple: if the engagement letter lists the return or the service, code the hours to that engagement as billable. If the client asks for work the letter does not cover, such as a notice response for a prior year, open a separate engagement before the first entry, not after.
Partner and manager review causes most of the disputes. On an hourly engagement, code review as billable time on the same engagement, with a task such as 'Return review, manager'. On a fixed-fee engagement, code it to a budgeted task so the realization report shows how much of the fee went to review rather than preparation.
Extension work needs its own task. If a return will be extended, code the time to the return's engagement with the task 'Extension filing' and do not open a new engagement. The Form 7004 instructions state that the automatic extension period for time to file is generally 6 months, so the extension work will sit in the engagement for longer than the return itself.
Set entry rules at the task level
A task code should describe the work, not the department. A workable list includes 'Intake and document review', 'Bank reconciliation', 'Journal entries', 'Depreciation schedule', 'Client call', 'Return preparation', 'Return review' and 'Client correspondence'. Keep the list under about fifteen tasks. Longer lists push staff toward whichever code is nearest, and the nearest code is usually wrong.
Require a description on every entry in the form verb, object, quantity. 'Reconcile operating account, 42 transactions, September' can be priced and reviewed. 'Work on file' cannot.
Set one entry increment for the whole firm and hold it. Many firms use 0.1 hour. Mixed increments produce rounding gaps that show up as unexplained variance in the realization report.
Lock the previous week's entries on a fixed day, and reopen them only through the manager. Late entries in March and April are the most common reason the realization report disagrees with the invoices.
Meet the hours-worked rule for nonexempt staff
For employees who are nonexempt under the Fair Labor Standards Act, the rule requires the employer to keep records of hours worked each workday and total hours worked each workweek, as set out in 29 CFR 516.2(a)(7). The regulation defines a workday as any fixed period of 24 consecutive hours and a workweek as any fixed and regularly recurring period of 7 consecutive workdays.
A timekeeping system can serve as that record only if it captures the clock hours each day, including non-billable time. A bookkeeper who logs 7.5 billable hours and half an hour of admin has still worked 8 hours, and the record should show both.
Failure mode: billing rounds to the 0.1-hour increment, payroll pays from the billing entries, and the payroll hours stop matching the hours actually worked. Fix: payroll reads daily hours from the timekeeping record, billing reads the task entries, and a weekly reconciliation compares the two totals.
Feed time into engagement pricing
Start every engagement with a budget in hours by task and by person level, not just a total. A Form 1065 engagement might carry a budget of 24 staff hours, 6 manager hours and 2 partner hours. Those hours are the standard value of the work, and every fee decision starts from them.
Under a fixed fee, the firm absorbs the difference between budget and actual. Take a budget of 24 staff hours and 6 manager hours. Actual time comes in at 31 staff hours and 9 manager hours. The overrun is 7 staff hours and 3 manager hours that the firm did not bill. On an hourly engagement the same overrun goes on the invoice at the rate card. On a fixed fee, the firm only protects the margin if it sees the overrun while the work is still happening.
Monthly bookkeeping is a retainer. Set the retainer against the expected hours per month and check it every quarter. If a bookkeeper spends 18 hours a month on a client whose retainer assumes 10, either the retainer is wrong or the books need a cleanup project first.
Build the realization and utilization reports
Realization compares what the firm billed with the standard value of the time recorded. Calculate it per engagement: the billed amount divided by the standard value of the billable hours at standard rates. A realization below 1.0 means the firm recorded more standard value than it billed, through write-offs, discounts or unbilled overruns. Run it monthly, per engagement and per person.
Utilization compares billable hours with available hours for each person. Available hours are the paid working hours in the period less leave. A high utilization figure can hide poor realization when the hours sit in fixed-fee work that was never budgeted.
Three reports cover most of the work: time by engagement, task and person for the period; unbilled time in progress by engagement; and billed amount against standard value by engagement. Decision rule: if an engagement's realization is below the firm's target for two consecutive months, review its scope with the manager before the next billing run. Set the target from the firm's own history, not from a vendor survey.
Fix the failure modes before tax season
Non-billable admin coded to client engagements. The symptom is realization that looks low on one client and high on others. The fix is to move firm admin to internal codes and make billable status a required field.
Late entries before a deadline. The symptom is April entries appearing in the billing run after the invoice has gone out. The fix is a weekly lock and a weekly submission from every person on the tax calendar. Decision rule: an entry more than 7 days old goes to the manager for approval before it can be billed.
Budgets set after the work starts. The symptom is a fixed fee with no baseline to measure against. The fix is to set the hour budget in the engagement letter, before the first entry is made.
Time the rollout for the 2026 returns
The 2026 returns are filed in 2027. For a calendar-year partnership, the Form 1065 due date falls on the 15th day of the third month after the year ends, which puts it on March 15, 2027. For calendar-year S corporations, the Form 1120-S instructions use the same March 15 date. For individual returns, the Form 1040 date is April 15, so the 2026 return is due April 15, 2027.
The 2025 returns follow different dates. The Form 1120-S instructions show March 16, 2026 for calendar-year corporations because March 15 fell on a Sunday, and the Form 1040 instructions show April 15, 2026.
Set the code list and entry rules before tax season opens in January, and run them for at least one month before the first March deadline. That gives the realization report one clean period before the busiest billing weeks.