---
title: "Complete an annual ending balance true-up"
method: POST
path: "/statement-coverage/periods/{id}/true-up"
tags: ["Banking"]
---

# Complete an annual ending balance true-up

`POST /statement-coverage/periods/{id}/true-up`

## Request

- Base URL: `https://ledgerhq.pro/api/v1`
- URL: `https://ledgerhq.pro/api/v1/statement-coverage/periods/{id}/true-up`
- Auth: one of:
  - HTTP bearer and API key in header `x-organization-id`
  - HTTP bearer and API key in header `x-organization-id`

Posts one guarded year-end adjustment from explicit offset allocations, then stores an immutable completion snapshot. A zero difference completes without a journal entry. Transactions are never marked reconciled.

## Path parameters

- `id` string, uuid, required

## Headers

- `Idempotency-Key` string, required

## Request body

- object
  - `allocations` object[], required
    - `accountId` string, uuid, required
    - `amountCents` integer, required
    - `description` string

## Response `200`

Completed true-up and immutable detail snapshot

## Other responses

- `409`: The statement or ledger changed, or the true-up is already complete
- `422`: Offset allocations do not total the balance difference
- `default`: Error response

---

[API](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api.md) · [All operations](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ledgerhq-pro/apis/ledgerhq-bookkeeping-api/revisions/9a8269f0a586?raw)
