COUNTCOUNT
Sign Up
ReportsGenerate trial balance

Generate trial balance

POST/partners/reports/trial-balance

Generates a trial balance as of a date.

Filters are query parameters only. Required: endDate (YYYY-MM-DD).

HMAC signature + Bearer access token
Try this request

Query parameters

endDatedaterequired

As-of date for the trial balance.

startDatedateoptional

Period start. Defaults to fiscal-year start when omitted.

currencystringoptional

Report currency. Defaults to workspace currency.

transactionStatusenumoptional

Filter transactions by review/reconciliation state.

One of: all, reviewed, unreviewed, reconciled, unreconciled

accountUuidsstringoptional

Comma-separated account UUIDs to include.

tagUuidsstringoptional

Comma-separated tag UUIDs to filter by.

noTagsstringoptional

Set to true to include only entries with no tags.

accountTypeenumoptional

Restrict to a single account type.

One of: Assets, Liabilities, Equity, Income, Expenses

Responses

200Trial balance report generated.
400Missing or invalid query parameters.
401Missing or invalid HMAC signature, expired timestamp, or invalid Bearer token. Troubleshoot
403The credential does not have access to this workspace or resource. Troubleshoot
429Rate limit exceeded (100 requests per minute per clientId). Retry after the Retry-After header. Troubleshoot
POSThttps://api.getcount.com/partners/reports/trial-balance
Request
import crypto from 'node:crypto';

const BASE_URL = 'https://api.getcount.com';
const CLIENT_ID = process.env.COUNT_CLIENT_ID;
const CLIENT_SECRET = process.env.COUNT_CLIENT_SECRET;
const ACCESS_TOKEN = process.env.COUNT_ACCESS_TOKEN;

const method = 'POST';
const signingPath = '/reports/trial-balance';
const timestamp = Math.floor(Date.now() / 1000).toString();
const bodyString = '';

const bodyHash = '';
const baseString = `${method}:${signingPath}:${timestamp}:${bodyHash}`;
const signature = crypto.createHmac('sha256', CLIENT_SECRET).update(baseString).digest('hex');

const response = await fetch(`${BASE_URL}/partners/reports/trial-balance`, {
  method,
  headers: {
    'x-client-id': CLIENT_ID,
    'x-timestamp': timestamp,
    'x-signature': signature,
    Authorization: `Bearer ${ACCESS_TOKEN}`,
  },
});

console.log(await response.json());
Response · 200
{
  "status": "success",
  "message": "Success on generating trial balance report",
  "data": {
    "report": {
      "endDate": "2026-03-31",
      "currency": "USD",
      "rows": [
        {
          "accountUuid": "c8d9e0f1-a2b3-4567-cdef-789012345678",
          "accountName": "Business Checking",
          "accountType": "Assets",
          "debit": 12500,
          "credit": 0,
          "balance": 12500
        }
      ]
    }
  }
}