# trial_balance

`POST /api/v1/queries/trial_balance`

Base URL: `https://boringbooks.io`.



## Request body

| Field | Type | Required | Description |
|---|---|---|---|
| `as_of_date` | string (date) | yes | The date the balances are stated at, including that day's postings. |
| `ledger_id` | string (uuid) | yes |  |
| `from_date` | string (date) | no | Optional. The first date of the activity columns; adds `opening`, `period_debit`, and `period_credit` to every row. Must be on or before `as_of_date`. |

Example:

```json
{
  "as_of_date": "2026-09-15",
  "from_date": "2026-09-01",
  "ledger_id": "11111111-1111-4111-8111-111111111111"
}
```

## Response (200)

| Field | Type | Required | Description |
|---|---|---|---|
| `as_of_date` | string (date) | yes |  |
| `currency` | `Currency` | yes |  |
| `rows` | array of object | yes |  |
| `rows[].account_id` | string (uuid) | yes |  |
| `rows[].closing_net` | `Amount` | yes |  |
| `rows[].code` | string | yes |  |
| `rows[].credit_balance` | `Amount` | yes |  |
| `rows[].debit_balance` | `Amount` | yes |  |
| `rows[].name` | string | yes |  |
| `rows[].type` | string | yes |  |
| `rows[].opening` | `Amount` | no |  |
| `rows[].period_credit` | `Amount` | no |  |
| `rows[].period_debit` | `Amount` | no |  |
| `total_credit_balance` | `Amount` | yes |  |
| `total_debit_balance` | `Amount` | yes |  |
| `from_date` | string (date) | no |  |

## Shared types

Fields typed with one of these names refer to it.

- `Amount` (string): A monetary amount as a decimal string, fixed to the currency's scale — two fraction digits for most supported currencies, none for JPY, e.g. "1000.00" or "1000" for JPY. Never a JSON number. Report figures may be negative; a journal line's `debit` and `credit` are always non-negative, with "0.00" ("0" for JPY) on the side the line is not on.
- `Currency` (string): An ISO 4217 alphabetic currency code — a ledger's own functional currency. The supported set is additive, so do not treat it as closed.

## Errors

Every error response is a single `error` object with a closed `type` and a refining
`code`. The codes, and the conventions every operation shares, are in
[llms-full.txt](https://boringbooks.io/llms-full.txt).
