Solutions / Accounting and bookkeeping

AI automation for accounting and bookkeeping firms

Everything is finished and the return still cannot be filed, because the signature authorisation has not come back.

The trial balance is the centre of this work, and most of the repeated labour is getting source material into a shape the trial balance can accept. Statements arrive as PDFs, receipts arrive as photographs, and bank data arrives through an aggregator that authenticates against a bank which changes its login flow without notice.

When a feed stops, it stops quietly. Nobody is told. The gap is found weeks later when a reconciliation refuses to balance, and the backfill by comma-separated file then duplicates transactions that had already arrived, so the cleanup costs more than the outage.

Season is serialised in a way that resists parallelism. An individual return waits on a partnership return, which waits on schedules from an entity the firm does not prepare. That is a dependency graph rather than a queue, and in most firms it is held in the head of whoever has been there longest.


Figure 01 / the ground

What this work runs through

Systems / commonly in place Yours may differ, and that is the point of week one
  • QuickBooks Online
  • Xero
  • CCH Axcess
  • UltraTax CS
  • Drake Tax
  • BILL
  • Dext
  • Excel

Artefacts that move through the business

  • Trial balance, and the adjusting entries against it
  • Bank feed data as OFX, as QFX, as a comma-separated export or as a scanned statement
  • Schedule K-1, which blocks every return downstream of it
  • Signature authorisation, which is a hard gate on filing
  • Electronic filing reject codes, which arrive after the deadline
documents
Documents and records
compliance
Compliance and audit
billing
Billing and collections
reporting
Recurring reporting
follow up
Follow up and status

Figure 02 / where it breaks

The specific things that go wrong here

The bank feed fails silently

A change to multi-factor login or an expired credential kills the connection. There is no alert. The failure surfaces at reconciliation, and the manual backfill then duplicates rows that were already imported.

The same client exists four times with four spellings

Legal entity name in the tax software, trading name in the ledger, a third variant in the practice management system, and a fourth in the portal. Nothing joins automatically because no shared identifier was ever assigned.

The chart of accounts drifts under you

A client adds or renames accounts mid-year, and the mapping from trial balance to tax code silently sends amounts to the wrong line. The return still produces a number, which is what makes it dangerous.

Notices have no system at all

Tax authority notices arrive on paper or in a portal, get scanned, and are tracked in a spreadsheet with a response deadline attached. Missing one escalates rather than expires.


Figure 03 / candidates

What we would automate, and when we would not

source document intake

Getting statements and receipts into one shape

Classifying what arrived, naming it to convention, matching it to a client and a period, and flagging what is missing against a checklist.

Runs against Dext / QuickBooks Online / Xero

uncategorised chase

Turning uncategorised transactions into one question list

Grouping the unknowns per client, drafting the question in plain language, and applying the answer back across every matching transaction rather than one at a time.

Runs against QuickBooks Online / Xero / Gmail

client identity crosswalk

Joining one client across the ledger and the tax file

One client exists as a legal entity name in CCH Axcess, as a trading name in QuickBooks Online, as an abbreviation in the practice management record, and as whatever a receptionist typed into the portal.

Runs against CCH Axcess / QuickBooks Online / Xero / Excel

trial balance mapping

Checking a trial balance against the tax grouping before import

UltraTax CS will not take an account number longer than twelve characters, and when truncation drops two accounts into the same tax grouping one of them simply does not arrive.

Runs against UltraTax CS / CCH Axcess / QuickBooks Online / Excel

efile reject precheck

Catching the rejects a return will come back with

Rejects are cheap to fix and expensive to receive, because the acknowledgement can arrive after the filing date has gone.

Runs against UltraTax CS / Drake Tax / CCH Axcess


Constraint / why a person stays in the loop Checked against your own jurisdiction

Tax return information is governed by a statute that makes disclosure or use outside preparation a criminal matter, with a parallel civil penalty, and consent has to be obtained in a prescribed form naming the recipient and the purpose. Routing return information into any third-party service is therefore a legal question before it is a technical one, and whether a given tool falls inside a permitted disclosure is fact specific. Firms preparing returns for compensation are also treated as financial institutions for data security purposes and must maintain a written information security plan. Smaller firms are relieved of several of the detailed requirements rather than of the plan itself. Separately, where a firm performs bookkeeping for an attest client, independence rules require the client to designate someone with the skill to oversee and accept responsibility for the work, which means the human in the loop is on the client side rather than the firm side.

Related: Law firms Wealth management. Or start from the four shapes of work instead of from an industry.