Reports execution
Read the exact action guide for prerequisites, identifier discovery, supported input, effects, captured successful and refused responses, verification and recovery. Synthetic fixture results do not authorize a live mutation or establish a provider outcome.
- Get profit and loss: Profit and loss statement for a date range (default: the current financial year to today), with accrual or cash recognition. compare can add earlier periods or the account budget; a reporting dimension can filter the statement or split its columns by value. Read
columnsfor the exact period, budget or dimension represented andamountsMinorfor each figure in that order.amountMinorandcomparativeMinorremain the first two figures for simpler callers. Amounts are natural-sign base-currency minor units. - Get balance sheet: Balance sheet at a date (default today): current and non-current assets and liabilities, equity with current-year and prior-years earnings computed from the ledger, and a balanced flag. compare adds the previous month or the previous year beside every figure. Amounts are natural-sign base-currency minor units. compare adds earlier columns, each stepping back again: previous_month by a month, previous_year by twelve. comparePeriods says how many, 1 to 11, and needs compare set. Read
columnsfor the date each column is drawn at andamountsMinorfor the figures in that order - Get aged receivables: What customers still owe at a date, by customer and currency, in buckets of how overdue it is (default 30,60,90 days past the due date; basis issue ages from the issue date instead). Outstanding is worked out at the date, so payments after it do not count. Includes every open document with its bucket for drill-down.
- Get aged payables: What is still owed to suppliers at a date, by supplier and currency, in buckets of how overdue it is (default 30,60,90 days past the due date; basis issue ages from the issue date instead). Outstanding is worked out at the date. Includes every open bill with its bucket for drill-down.
- Get sales by customer: Invoices issued in the range (default the financial year to today) grouped by customer and currency: count, subtotal, tax, total, paid and outstanding, largest first. Drafts and voids are excluded.
- Get purchases by supplier: Bills issued in the range (default the financial year to today) grouped by supplier and currency: count, subtotal, tax, total, paid and outstanding, largest first. Drafts and voids are excluded.
- Get the cash flow statement: Where the cash went over a range (default the financial year to today), grouped into operating, investing and financing, with opening and closing cash. Double entry does the work: every posting nets to zero, so the change in the bank is exactly the opposite of everything that moved outside it, and each non-cash account contributes the negative of its own movement. The statement therefore ties to the bank by construction; reconciles going false means the balance projection is stale, not that the statement disagrees. Year-end closes are left out, as on the profit and loss. compare and comparePeriods add earlier columns exactly as they do there.
- Get the month-by-month shape of the year: Every month in the range (default the financial year to today) with profit-and-loss income and expenses, actual money posted into and out of bank and cash accounts, the profit that leaves, and the cash and bank position at month end carried from before the range. Money in and out are cash movements, so owner funding and other balance-sheet transfers remain visible without being misreported as revenue. Year-end close postings are left out.
- Get the current UK VAT position: Read the current VAT reporting period, the amount estimated in box 5 so far, whether it is payable, reclaimable or nil, and the statutory filing and payment deadline. The reporting cadence is anchored to the active effective-dated VAT scheme.
- Get UK VAT return preview: Compute the nine UK VAT return boxes from posted invoices and bills for a date range, applying effective-dated standard, cash accounting, flat-rate or annual-accounting schemes and returning source-line drill-down.
- Get bank summary: Every bank, card and cash account with what moved through it in the range (money in, money out, net), how many statement lines are still unmatched and their value, the ledger account it maps to, and the latest balance the bank reported.
Evidence
Actual Books route handlers and the exported Worker were exercised against five local SQLite D1 concern databases with all committed migrations, the real posting Durable Object and local R2. Route captures use synthetic verified Auth; Worker captures use synthetic Auth transports. Nexus, Brand, Notify, Pay, Mercury and Xero responses are explicitly simulated at the provider transport boundary. Captures prove local request/response behavior and canonical SDK projection, not live bank access, payment movement, email delivery, provider eligibility, tax compliance, encrypted custody, scheduled execution, deployment or production completion. Fixture identities, credentials, addresses and records authorize no live operation.