Business Services · Accounting, bookkeeping and tax

Every hour against a client, and every retainer billing itself.

Time that lands on the right engagement, a portal your clients actually send documents through, engagement letters signed without a printer, and monthly fees that go out without anyone raising them.

How the day is built Retainers and engagements Monthly fees that raise themselves, project work billed as it is delivered, and hourly work billed from the clock.
Job types it starts with
Monthly bookkeepingPayroll runYear-end accountsTax returnVAT / sales tax filingAdvisory hoursClean-up project
Each with its own checklist, required fields and duration. All editable.
What the Vault holds here 31% of an accounting firm’s logged hours never make it onto an invoice.

One job, end to end

What an accounting & bookkeeping job looks like in OnSight.

  1. 01
    The clock runs against a client, not a dayA timer belongs to one person and one piece of work, and starting a second stops the first — never two answers to what somebody is doing now.
  2. 02
    Documents arrive in the portal, not the inboxStatements and receipts are uploaded where the engagement lives, so the file is attached to the work rather than buried in a thread.
  3. 03
    The engagement letter is signed the same day it is sentSend it for signature through DocuSign or PandaDoc and the executed copy files itself back against the client. No printer, no scanner, no chasing.
  4. 04
    The fee goes out whether anyone remembers or notA retainer raises its own invoice and charges the card or bank on file. Overruns are billed from the clock, on the same document.

The Deferred Work Vault

The half they said no to, sold back to you.

The clean-up you scoped in March and they never approved, the advisory work they said “after year-end” to, the extra return nobody went back to. Repriced at today’s rate and back in front of them when it is actually the right month.

Captured with its photograph and its measurement, repriced nightly at today’s cost, ranked by what is most likely to be recovered, and resurfaced when the customer is actually ready. Not a list somebody is supposed to work.

How the Vault works →

What ends up in it, in this trade

  • Clean-up projects scoped and not approved
  • Advisory hours deferred to after year-end
  • Additional entities and returns
  • Payroll or filing services quoted once
  • System migrations discussed and shelved

The OnSight Agent

Ask for it in a sentence. It builds the automation.

It knows your job types, price book, crews and pricing program. Two an accounting & bookkeeping business asks for on the first day:

“When unbilled time on a client passes twenty hours, tell me before it passes forty.”

Watches work in progress per client, and puts it on the partner’s list with the hours, the value at billing rates and who has been logging them.

“When an engagement letter has been out a week unsigned, chase it once.”

Sends the client their copy again, and if it is still unsigned it goes on the office list rather than being chased a third time.

See the agent build one →

More in this branch

The engagement

The container is what the client bought, not a job and not a visit.

“FY26 year end” collects work for nine months. “Managed bookkeeping” runs until somebody cancels it. Neither has a start time or a crew, which is why a scheduling system can never quite hold one.

Four billing models Fixed fee, time and materials, retainer, non-billable The same firm runs all four at once, and they behave differently at invoice time rather than being four names for one behaviour.
A budget, never a limit In hours, in fee, or both Nothing here refuses an hour for being over budget. The work happened, and software that argues with you just moves the truth into somebody’s notebook.
Covered activities The list the fee actually pays for Leave it empty and nothing is ever flagged. Fill it in and the scope guard switches itself on, which is the whole of the configuration.
Retainers are computed Never stored as a balance Eight hours included, then an hourly rate. The balance is worked out from the time recorded, because a stored one is wrong the first time anybody edits an old entry.

Rates

A rate card is a set of rules, and the most specific one wins.

A partner’s hour is not a junior’s hour. One client negotiated a discount three years ago that is still honoured. The annual accounts are priced differently from advisory for that same client. Those are rules, not a number.

Rules are effective-dated and resolved at the date the work happened, never today. Re-bill a quarter you closed in March and it prices at March’s rates, which is the only answer a client will accept.

Most specific wins

This engagement, manager $120 · beats everything below
This client, manager $135 · beats role and firm rules
This client, negotiated $130 · beats role and firm rules
Role: partner $295 · beats the firm default
Firm standard $145

When somebody logs an hour the rate arrives filled in, and the screen says why — “this client, manager · $135”. It can be overridden, because no resolver knows about a deal done on the phone. But a rate nobody can explain is a rate that gets overridden every time, and that is where realization quietly goes.

Time

An hour does not need a visit to exist.

That sounds obvious and it is the structural thing most field-service software gets wrong: every hour has to belong to a scheduled appointment, so somebody on a phone call has nowhere to put twenty minutes. Here it is two ends, an activity and a note, with the rate already filled in.

The screen has to be nearly free to use, because an hour nobody logs is an hour the firm cannot bill, cannot cost and cannot learn from.

The moment that pays for the feature

Outside the agreed scope. The engagement covers year end, accounts prep and the tax return. This entry says advisory.

It is logged, flagged, and not refused — then somebody rings the client that afternoon, while they still remember asking. By billing day that conversation is unwinnable.

It notices before the partner does Over budget, announced once The hour that crosses the line raises a task, not a banner — assignable, reschedulable, and on the record. It does not re-fire on every subsequent hour, because an alert people learn to close unread takes the important one with it.
Raising the budget re-arms it Re-pricing does not silence the guard Otherwise the one action that should reset the warning would be the action that switches it off for good.
Every hour is work in progress Until somebody decides otherwise Nothing bills itself. The billing run opens on one row per client — how many entries, how many hours, what it is worth, and what is unresolved.
Billed once, provably Hours are stamped against the invoice The same guard that stops a person pressing the button twice, and the invoice is built through the same pricing engine as every other invoice in the product.

Month end

Four decisions, and keeping them apart is the entire point.

Flagged time gets a third and fourth option that most systems never offer, because most systems only know how to bill something or not bill it.

DecisionWhat it actually is
Bill as an extraRevenue the firm would otherwise have lost. The client already agreed, in the call somebody made on the day.
We absorb itA deliberate gift, recorded at the time. The hour is marked non-billable so it cannot slip onto next month’s invoice.
HoldNot this month. It stays in work in progress for the next run.
Write offThe firm eats it — and has to say why. Blank will not do.

An extra is revenue recovered. An absorption is a decision made while the client was still on the phone. A write-off three weeks later is what happens when nobody was ever asked. Reported as one number they all look like “we lost some money”, which is why most firms sit somewhere in the high eighties on realization and cannot say why.

And the number that re-prices a client

Four figures, because the gaps between them have three different owners.

Recorded$4,292at standard rates
Billed$3,910put on an invoice
Collected$3,180actually paid
Realization91%$382 written off

Recorded to billed is the biller. Billed to collected is credit control. Recorded itself is whether anybody logged their time at all. And on a fixed fee none of it shows the real problem — a $6,500 year end that took 14.5 hours is an effective $448 an hour, and one that runs long falls through the floor while realization still reads 100%.

Anything not yet billed reads as a dash, never 0%. Unbilled is a different fact from unrecovered, and a false zero would sink every current engagement to the bottom of the table.

Records chase

Nothing is late because the accountant is slow.

It is late because the bank statements have not arrived. One list, oldest first, of what the firm is waiting for and who from — and against each one, the number of times it has actually been asked for.

The count is the feature. “We asked four times” is the entire conversation when a deadline is missed, and it is precisely the thing no firm can ever produce. It only moves when somebody really chases, so it cannot be edited into being flattering.

What the list tells you

  • What is outstanding, and how long it has been
  • Who it was asked of, and when
  • How many times it has been chased
  • Never chased — asked once and left

The tile worth watching is the last one. A request sitting there is not a client problem yet. It is a firm one.

Obligations

The dates you cannot move, and what is quietly blocking them.

Year ends, sales tax quarters, payroll runs. Two columns matter more than the rest: how long you have, and whether the thing is actually able to move.

DueObligationClientInState
Aug 29Trust tax returnWhitaker Family Trust4d lateStarted
Sep 8Q2 sales taxCrescent Dental6dStarted
Sep 23FY26 statutory accountsBayou Brewing21d2 outstanding
Blocked is computed Not a status somebody remembers to set An obligation with outstanding record requests against it is blocked, whatever anyone typed. Deadlines slip because the link between “waiting on the client” and “due in 21 days” usually only exists in somebody’s head.
Period end and due date are separate On purpose, and it matters A December year end is filed months later; a quarterly return weeks after. Deriving one from the other would bake one jurisdiction’s rules into the software.

Filing one does not yet open the next period automatically, and chasing builds the list and the count rather than sending the email for you. Both are on the way; neither is claimed here as done.

Book a demo

See it running an accounting & bookkeeping business, not a generic one.

Thirty minutes on data that looks like yours, with the arithmetic run on your own job count and average ticket. No card, and no obligation to switch anything.