# tax.reports.reconciliation

Read every trial-balance reconciliation component with exact report totals, original record and account evidence links, and separate source, accounting and page completeness. Use { period?, limit?, cursor? }; continue with page.nextInput while page.hasMore. Components sort by stable key and the cursor binds to the source snapshot: restart on RECONCILIATION_CHANGED. A matched bank payment, explained difference or complete page does not prove accounting is complete. No balancing entry or source changes are made.

`GET | POST /api/v1/accounting/tax.reports.reconciliation`

Permissions: `accounting:read` · Roles: admin, finance

MCP tool: `accounting_tax_reports_reconciliation`

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `period` | object |  | The period to cover. No other fields. |
| `period.from` | string | Yes | The first date to include, as YYYY-MM-DD. |
| `period.to` | string | Yes | The last date to include, as YYYY-MM-DD. |
| `period.kind` | enum | Yes | Which kind of record or job this is. One of: `corporate`, `gst_hst`. |
| `limit` | integer |  | How many results to return at most. 1 to 100. Default `25`. |
| `cursor` | string |  | Where the next page starts: the nextCursor value from the previous response. 1–4000 characters. |

## Example request

```bash
curl https://app.getoatmilk.com/api/v1/accounting/tax.reports.reconciliation \
  -H "Authorization: Bearer $OATMILK_API_KEY"
```

Reference page: https://app.getoatmilk.com/docs/api/tax.reports.reconciliation
