Reports

Totals over a date range. Dates are inclusive calendar dates in the account's own bookkeeping. Every money figure is keyed by currency code, with a total and a count for each, since amounts in different currencies don't add. A currency with nothing to count is absent.

Summary

GET /api/v2/reports/summary

from_date: Start date, YYYY-MM-DD. Defaults to the first of the current month.
to_date: End date, YYYY-MM-DD. Defaults to today.
client_id: Optional. Narrows every figure to one client.

{
  "from_date": "2026-09-01",
  "to_date": "2026-09-11",
  "client_id": null,
  "invoiced": { "USD": { "total": 1750.0, "count": 3 }, "EUR": { "total": 400.0, "count": 1 } },
  "paid": { "USD": { "total": 250.0, "count": 1 } },
  "outstanding": {
    "current": { "USD": { "total": 1000.0, "count": 1 } },
    "overdue": { "USD": { "total": 500.0, "count": 1 }, "EUR": { "total": 400.0, "count": 1 } }
  },
  "hours": { "total": 3.0, "billable": 2.0 }
}

invoiced: Invoices dated in the range, excluding drafts and cancelled invoices. Retainer invoices are not included. The Invoice report in the app includes cancelled invoices unless you exclude them.
paid: Payments received in the range, by the day they were received. Retainer deposits count. Draws against a retainer do not, as on the Payments report.
outstanding: The open balance of every sent or viewed invoice, whenever it was issued, split by due date as of today, as the dashboard counts outstanding. Not limited to the range.
hours: Time entries dated in the range with hours on active or billable projects, as the Timesheet report counts, in total and billable only.

Available to staff who can view invoices. HTTP 403 otherwise.