PROJECT-052 · Crewbase · 5 stages · 27 tasks · draft for Jack

Business Activity Statement Agent

An agent that prepares each client's BAS the way the practice already does it — same Xero reports, same checks, same sign-off — and only interrupts a human when something doesn't balance.

Goal why

Take a client's BAS from “period ended” to “lodged” without anyone having to remember it, prepare it, or chase it — the agent detects the due date, reconciles the ledgers in Xero, calculates and cross-checks every label against the ATO prefill, and drives sign-off.

The agent does the preparation and the chasing. Jack keeps the judgement calls and the lodge button — it never lodges on its own.

Xero reports · activity statements Scheduler daily cron Google Chat escalations · sign-off Agent data file lodgement calendar

MVP what — one client, end to end

Five stages, mirroring the practice's existing FigJam flow. Every failure path is a Google Chat message to Jack with enough detail to act on.

  1. 1

    Know the calendar

    Read prior lodgements in Xero to learn the client's cycle (monthly / quarterly), then write period-end and due dates to the agent's data file.

  2. 2

    Watch daily

    A daily cron waits until 5+ days after period end, then confirms the bank rec is clean (zero unreconciled transactions). Not clean → urgent Chat to Jack.

  3. 3

    Reconcile the ledgers

    Print the relevant GLs, confirm each holds only the expected lines (PAYGW, Wages, GST + Sales for quarterly), and check the balance clears to $0 with the current period removed. Any failure → Chat with account + check + figures.

  4. 4

    Calculate & cross-check

    Compute the period's labels — monthly W1 W2; quarterly G1 W1 W2 1A 1B — ATO lines excluded, and compare against the ATO prefill on the draft Activity Statement. Mismatch → Chat with label, both figures, source GL; then apply Jack's call and fill in W1.

  5. 5

    Sign-off & lodgement

    Send the draft BAS and any concerns to the director on Chat. Approved → send Jack the Xero link to lodge; a next-day cron confirms it's lodged. Rejected or outstanding → investigate and loop back via Chat.

In the MVP

  • Monthly & quarterly lodgers
  • One pilot client, full cycle
  • All escalations via Google Chat

Not in the MVP

  • Annual lodgers (detected, not automated)
  • Auto-lodgement — Jack always lodges
  • Fixing books — the agent flags, never edits

Acceptance criteria how we'll know it works

To confirm with Jack feedback session

  1. Are the director and Jack the same approver, or is that two sign-offs?
  2. Escalations: direct message to Jack, or a shared practice Chat space?
  3. Which client do we pilot first — a quarterly lodger would exercise the most labels?
  4. Annual lodgers: fine to park until after the pilot?