---
title: "Settlement statements in a window"
method: POST
path: "/finance/statements"
tags: ["Finance"]
---

# Settlement statements in a window

`POST /finance/statements`

TikTok's daily settlement statements for the shop, newest first: what was settled, what fees and adjustments were taken, and whether the payout is PAID, PROCESSING or FAILED. Windowed by statement date (UTC). Sums are per currency over the whole window, before paging. Read ``data_status`` before trusting an empty page: ``scope_missing`` means the shop's TikTok authorization lacks the finance scope.

## Request body

- FinanceStatementsRequest — POST /finance/statements request body — statements in a window.
  - `start_date` string, date, nullable — Inclusive statement-date window start (UTC). Defaults to 29 days before ``end_date``.
  - `end_date` string, date, nullable — Inclusive statement-date window end (UTC). Defaults to yesterday.
  - `payment_status` 'PAID' | 'PROCESSING' | 'FAILED', nullable — Only statements whose payout is in this state.
  - `limit` integer — Page size.
  - `offset` integer — Page offset; narrow the window instead of paging deeper.

## Response `200`

Successful Response

- FinanceStatementsResponse — Statements for one shop in a window, newest first.
  - `shop_id` integer, required
  - `tts_shop_id` string, required
  - `start_date` string, required
  - `end_date` string, required
  - `pagination` PublicApiCorePaginationPaginationMeta, required — Pagination metadata returned in responses.
    - `total_count` integer, required
    - `page` integer, required
    - `page_size` integer, required
    - `total_pages` integer, required
  - `currencies` string[], required — Currencies present in the whole window, before paging.
  - `total_settlement_by_currency` object, required — Sum of settlement_amount over the whole window, per currency, before paging.
  - `data` FinanceStatementOut[], required
    - `statement_id` string, required
    - `statement_time` string, required — ISO timestamp; statements are generated daily at 00:00 UTC.
    - `currency` string, required
    - `settlement_amount` number, nullable — What TikTok settled. Signs are TikTok's: charges negative.
    - `revenue_amount` number, nullable — Absent for UK and US shops.
    - `net_sales_amount` number, nullable — Local sellers outside SEA only.
    - `shipping_cost_amount` number, nullable — Local sellers outside SEA only.
    - `fee_amount` number, nullable
    - `adjustment_amount` number, nullable
    - `payment_status` union — PAID | PROCESSING | FAILED. Absent while no payout exists yet.
      - 'PAID' | 'PROCESSING' | 'FAILED'
      - string
    - `payment_id` string, nullable
    - `payment_time` string, nullable
    - `transactions_complete` boolean, required — True once every line item of this statement is available under /transactions.
  - `data_status` FinanceDataStatus, required — Freshness and reachability of this shop's finance statements. ``scope_missing`` means the shop's TikTok grant refused the finance scope on the last sync; the fix is to re-authorize, not to retry.
    - `state` union, required — Latest statements-sync status: never_run | ok | empty | partial | scope_missing | unsupported | failed.
      - 'never_run' | 'ok' | 'empty' | 'partial' | 'scope_missing' | 'unsupported' | 'failed'
      - string
    - `last_synced_at` string, nullable — ISO timestamp of the last completed statements window.
    - `covered_from` string, nullable — ISO timestamp where the unbroken run of synced windows begins; nothing before it is known.
    - `covered_until` string, nullable — ISO timestamp up to which data is known to be complete (exclusive); the end of that same unbroken run.
    - `transactions_backlog` integer — Statements whose line items have not fully landed yet.

## Other responses

- `422` — Validation Error

## Changes

> 29 revisions in range; 1 not diffed.

- **2026-09-24** `8640294d0f3d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/reacherapp/apis/reacher-data-api/changes/finance/statements/post.md)

---

[API](https://skmtc.dev/reacherapp/apis/reacher-data-api.md) · [All operations](https://skmtc.dev/reacherapp/apis/reacher-data-api/llms.txt) · [OpenAPI document](https://skmtc.dev/reacherapp/apis/reacher-data-api/revisions/881910053958?raw)
