Running a report
Anything a client would recognise as a statement — a profit and loss, a balance sheet, a trial balance, an A/R aging, job profitability — is one request: “Run a P&L for the first quarter, compared to last year.” The agent callsqb_report, which runs QuickBooks’ own report engine against the open file. The answer uses the file’s account hierarchy, its item-to-account mappings, its accrual-or-cash basis, and its fiscal calendar, so the numbers are the ones the client sees on their screen.
Ask what reports are available and the agent fetches the catalogue.
Questions no report covers
“Which vendors did we spend more with this year than last” or “margin by class by quarter” need joins and totals, and QuickBooks has no query language to express them. For those, Zeno keeps a local copy of your company file — synced withqb_sync_mirror, queried with SQL the agent writes from a plain-language question.
Your first questions walks it end to end: syncing a client, asking, and spanning every synced client in one query with QuickBooks closed. The rest of this page is what to know once you’re relying on the answers.
The sync reads the open company file, so a long date range takes minutes, and it waits its turn behind any batch that’s running. Querying needs no QuickBooks session at all.
What it can’t do to your books
The copy is a separate file, opened read-only. A query can’t write to it, can’t reach the company file, and can’t reach your run journal. The worst a wrong query does is return the wrong rows. Postings never go through this path. They go through plan and approve, against QuickBooks itself.Checking how stale it is
Anything posted since the last sync is missing from the copy. “How fresh is the mirror?” That reports each table, its row count, when it was last filled, and what date range it covers. Sync again before relying on an answer that has to include this morning’s work.Balances in the mirror are the balances QuickBooks reported at sync time, not live balances. For a figure you’re going to act on — a payment run, a client report — check it against QuickBooks, or run the report instead.
Where the copy lives
%LOCALAPPDATA%\Zeno\qb-mcp\mirror\, one file per company, next to the run journal but separate from it.
Deleting a file there is a complete reset. The next sync rebuilds it, and nothing else is affected — the run journal that records what you posted is a different file entirely.
To rebuild rather than add to it — after restoring a backup, or a heavy cleanup in QuickBooks — ask for a rebuild and the old copy is dropped first.