Auditlab: 70 hours of audit work a month, moved to a supervised query engine
Auditlab is an audit client whose auditors ask questions of accounting data that arrives as database export files. I built an engine that reads each export, works out its structure and answers a plain-language question inside Jira. Auditors get 70 hours a month back, and each answer can be traced.
Key takeaways
- The saving is 70 hours of audit work a month, measured on the client’s side.
- The model never gets full direct access to the client’s tables and never trains on the data.
- Auditors ask and read the answer in Jira, through a Forge interface, so nobody learns a new tool.
- Complex questions go back to the auditor for confirmation before a query runs.
01The gap: every question began with an import
An export from a client’s accounting system is complete and awkward at once. Before an auditor could ask anything of it, somebody had to work out the file layout, get the data into a tool that could query it, and write the query. The auditing judgment came last, after the plumbing.
The engagement started with a requirement analysis, the same step an AI Readiness Audit formalises today: which questions auditors ask most, where the hours go, and what a regulator would want to see afterwards.
02The build: an inference engine behind a Forge interface
One question now travels this path, and the auditor only sees the two ends of it:
- Export files arrive
- Engine reads format and structure
- Data lands in a queryable database
- Auditor asks in Jira
- Question becomes SQL
- Result returns in Jira
The Jira side is a Forge app, so the question and its answer sit on the ticket the audit already runs on. The engine behind it does the work that used to take a specialist: reading the files, understanding how the tables relate, loading them, and translating the question.
03The number that moved
of audit work saved, with traceability of the audit built in.
Most of those hours were preparation, the part of the job that produced no finding. The auditors still spend the same care on what the answer means.
04What stayed human at Auditlab
- The auditor decides what to ask and what the answer means for the audit.
- A complex query is discussed with the agent and confirmed by the auditor before it runs.
- Where the data may be processed follows the regulation Auditlab’s customers fall under, and a person set that, not the model.
Around those decisions sit the controls from Supervised AI Delivery: no training on the data, no full direct table access for the model, and guardrails that stop a runaway query from burning tokens.
05What was handed over
The log holds each question, its SQL and what came back, which is what makes the engine usable in an audit file at all. Ownership was settled in the engagement agreement, as it is on every build. The engine was made for Auditlab and is not a product I resell.
Questions
Can I buy this engine for my firm?
Does the model see the client’s accounting data?
Why Jira and not a separate app?
If your team spends its first hours on every engagement preparing data instead of examining it, bring one such process to a call.