Use case · bookkeeping firms

Thirty closes, and the odd one out.

A bookkeeping firm does the same close thirty times in eight days. Most of each one matches cleanly and needs no thought at all, and the work that actually needs a bookkeeper is buried inside it. So the skilled part of the job is gated behind the mechanical part.

Company
A bookkeeping and fractional finance firm
Team
12 people, ~30 retained clients
Region
US
Stack
QuickBooks, Stripe, Gmail, Slack
01The situation

The hard 10% of a close only surfaces once you've done the easy 90%.

Close ran client by client for the first eight working days of every month, and the firm had already tried hiring against it. The problem was not that the work was hard, it was that the hard 10% only surfaces once you have done the easy 90%, so a bookkeeper spends most of the window matching lines that were never in doubt.
02How it works

How the droid took it on.

Rather than have a bookkeeper work through every client from the top, the firm handed over the matching and the chasing. What reaches a person now is the exceptions, with both sides of each one already pulled up.

TASK#341Month-end close, per clientActive
Schedule
1st of each month, one instance per client
Reads
QuickBooks, Stripe, Gmail
Sends
Receipt chase to the client contact, one follow-up at day 3
Writes
Exception doc + Slack handover to the owning bookkeeper
Never
Posts journal entries or edits the ledger

The read-only rule was the firm's condition for running it at all, and it hasn't changed since.

FIG. 1The durable task, exactly as it exists in the runtime.

Every client trips the same loop:

FIG. 2The loop each run walks.
03Ongoing handling

How it ran, client after client.

The first two days of a close. Thirty clients, roughly six hundred exceptions between them, and one client where it stopped and refused to carry on.

  1. Day 1, 07:00client 3 of 30

    2,140 lines reconciled, 2,118 matched clean. 22 exceptions written up and 9 receipts chased.

  2. Day 1, 09:40client 11 of 30escalated

    Same charge appeared twice four days apart with different references. Flagged as a probable duplicate rather than resolving it either way.

  3. Day 1, 14:15client 19 of 30escalated

    Ledger had been edited mid-run by someone at the client. Stopped rather than reconcile against a moving target, and asked the bookkeeper how to proceed.

  4. Day 3, 08:00follow-ups

    Chased 14 clients who hadn't sent receipts. Eleven replied the same day, which is roughly eleven more than usually reply to a person.

FIG. 3One night, run by run.

The close didn't get cleverer, it got shorter. We spend the week on the twenty things that were actually wrong instead of the two thousand that weren't.

Managing partnerBookkeeping firm, 12 people
The result

What changed, by the numbers.

8 days → 3close window
~20exceptions raised per client, from thousands of lines
day 1receipt chases go out, every month

An illustrative workflow built from real product mechanics. The connected apps, the schedule and the exception rules are how a droid actually runs; the firm, the quote and the figures are composites rather than a customer's numbers.

Try this workflow

Run this workflow yourself.

Copy the brief below and paste it into Unify. It’ll walk you through the prerequisites, connect what it needs, and stand the workflow up with you.

Workflow brief
We're a bookkeeping firm and we close about thirty clients' books at the start of each month. Connect each client's QuickBooks and Stripe, plus our Gmail. Schedule a task for the 1st of the month, one run per client. On each run, reconcile Stripe payouts and fees against the ledger on amount, date and reference, and close off everything that matches cleanly without telling anyone. Then find what's missing or wrong: transactions with no receipt attached, duplicate charges within the same week, payments recorded but never settled, and any expense category this client hasn't used before. Email the client's contact one list of the missing receipts, and follow up once after three days if nothing arrives. Put every exception in a doc with both sides of the discrepancy and what you think happened, and post it to the bookkeeper who owns that client in Slack. Don't post journal entries or change anything in the ledger — leave it for review.
Read next

Other jobs handed over

All use cases →

What would you take off your desk?

Tell us the job that never gets done before close. We'll wire it up on a call and you can watch it work.