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.What the copy holds, and what it deliberately doesn’t
The copy holds the parts of your books that keep: your lists, and transactions that have already happened. A bill entered last March reads the same today as it will next year. It holds no balances at all — not an account balance, not what a customer owes, not what’s still open or unpaid. Those are true at an instant and false one payment later, so a copy of one is wrong rather than merely old, and wrong in the way nobody catches: it looks like a number. They’re answered against QuickBooks itself instead, by a report or by the tools that read open invoices and bills directly.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.