COUNTCOUNT
Sign Up

API Reference

Reports

Generate trial balance, profit and loss, balance sheet, AR/AP aging, sales analytics, customer activity, and account transactions (general-ledger detail) reports for a workspace. All routes use POST with filters on the query string — there is no request body.

Last updated 2026-10-03

Overview

The Reports API generates accounting reports for the authenticated workspace. Each endpoint is POST with report filters passed as query parameters. No JSON body is accepted — this keeps report generation read-only and compatible with MCP tool annotations.

Account, tag, customer, vendor, product, and project filters accept comma-separated UUIDs from their respective list APIs. Do not pass internal numeric ids.

Key concepts

POST with query filters

Send POST with an empty body (or sign HMAC against `{}`). Put every filter on the query string — for example `?endDate=2026-03-31&transactionStatus=reviewed`.

Trial balance

Requires `endDate`. Optional `startDate` defaults to fiscal-year start. Filter by account UUIDs, tags, transaction status, and account type.

Profit and loss

Requires `startDate` and `endDate`. Revenue rows are positive; expense rows are negative; net profit is the algebraic sum.

Balance sheet

Requires `endDate` as the as-of date. Returns Assets, Liabilities, and Equity sections. Unposted manual entries may cause imbalance — surfaced in the response payload.

AR/AP aging

Aged receivables and aged payables compute open invoice/bill balances off the Accounts Receivable or Accounts Payable control account. Each response includes detail rows, counterparty summaries, bucket totals, and a reconciliation block against the control account GL balance.

Sales analytics

Sales-by-product/service and sales-by-customer summarize invoice line revenue and quantity over a date range. Customer activity is broader: it nets every journal entry linked to each customer (payments, tax, manual journals, expenses), not sales revenue alone.

Account transactions

The general-ledger detail report. Requires `startDate` and `endDate`, groups journal lines by ledger account, and returns opening/ending balances per account plus a running balance on each entry. Use `accountUuids` to pick the accounts and `categoryAccountUuids` to restrict the counterpart side. This is ledger activity — for bank/register rows use the Transactions API instead.

Report response shapes

Each endpoint returns a generated report under `data`. Exact row shapes vary by report type.

Attributes

accounts / rowsarray

Report line items with account UUIDs and amounts.

totalsobject

Section or report-level totals.

currencystring

Report currency (defaults to workspace currency).

startDatedate

Report period start when applicable.

endDatedate

Report period end or as-of date.

Example
{
  "trialBalance": [
    {
      "accountUuid": "c8d9e0f1-a2b3-4567-cdef-789012345678",
      "accountName": "Business Checking",
      "accountType": "Assets",
      "debit": 12500,
      "credit": 0,
      "balance": 12500
    }
  ],
  "profitAndLoss": [
    {
      "accountUuid": "d4e5f6a7-b8c9-0123-defa-234567890123",
      "accountName": "Consulting Revenue",
      "accountType": "Income",
      "amount": 45000
    }
  ],
  "balanceSheet": [
    {
      "name": "Assets",
      "total": 85000,
      "accounts": [
        {
          "accountUuid": "c8d9e0f1-a2b3-4567-cdef-789012345678",
          "accountName": "Business Checking",
          "balance": 12500
        }
      ]
    }
  ]
}

Use accountUuids not numeric ids

Pass comma-separated account UUIDs from the Chart of Accounts API via `accountUuids` or report-specific category filters.

transactionStatus filter

Supported values: all, reviewed, unreviewed, reconciled, unreconciled.

Recent changes

2026-10-03

Bill submit and refunds, reconciliation drafts, report filters, 30 MCP tools, and the Claude plugin

Documented the five partner routes the reference was missing: POST /partners/bills/{uuid}/submit, POST /partners/bills/{uuid}/assign-transaction (pay a bill, or refund a vendor memo with an income transaction), PATCH /partners/invoices/{uuid}/add-transactions (including credit memo refunds), and PATCH and DELETE /partners/reconciliations/{uuid} for correcting or discarding a draft. The account transactions report gains a reference-number range (checkNumberFrom/checkNumberTo) and the unknown-counterparty drill-down (unknownCustomerAr/unknownVendorAp), both accrual-only. Invoice and credit memo lines accept free-text Custom lines with categoryAccountUuid and name. Corrected the reference where it disagreed with the backend: dueDate is required on invoices and estimates, bills move through submitted and rejected as well as draft and approved, and a bill does have its own assign-transaction route. npm run check:parity now reports 178 documented routes against 178 backend routes. The MCP catalog adds 30 tools — customer contacts, addresses, notes, merge and revenue overview, GST settings, bill submit and memo refunds, reconciliation draft update/delete, COUNT_find_tool, COUNT_report_problem, and saved AI skills — moving the advertised count from 180 to 210. New pages cover the COUNT Claude plugin (/tools/claude-plugin) and the MCP brain, workspace memory and problem reports (/guides/mcp-brain-and-memory), and the FAQ gains the connector and API topics COUNT_knowledge serves to agents.

2026-09-01

Account transactions report and a complete MCP tool catalog

Documented POST /partners/reports/account-transactions, the general-ledger detail report, which was the only backend partner route missing from the reference. Brought the MCP tool catalog back in line with the remote server: added the six report tools (aged receivables/payables, sales by product-service, sales by customer, customer activity, account transactions), ten remote-only Payroll tools covering people, pay stubs, PTO accrual caps, and locations, and a new remote-only Firm Practice Manager category of eleven firm-wide task, time-entry, and project tools. The advertised tool count moves from 153 to 180; the three deprecated-name invoice aliases stay excluded.

2026-06-21

Complete Partner API reference

Documented all remaining API reference groups: Chart of Accounts, Vendors, Products & Services, Recurring Invoice Templates, Credit Memos, Bills, Journal Entries, Tags, People, Projects, Tasks, Time Entries, Expense Receipts, Reports, and Workspace Stats. Added missing invoice endpoints (audit log, attachments, credit application, remove transaction) and group overviews for Invoices and Transactions.

Endpoints