> ## Documentation Index
> Fetch the complete documentation index at: https://growi.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Settlement statements

> Returns the shop's daily settlement statements from TikTok. TikTok cuts one statement each day at 00:00 UTC covering the previous day's settled transactions, with data from 2023-07-01. Each row has `id`, `statementTime`, `currency`, `settlementAmount`, `revenueAmount`, `feeAmount`, `adjustmentAmount`, `netSalesAmount`, `shippingCostAmount`, `paymentStatus` (`PAID`, `FAILED` or `PROCESSING`), `paymentId` (null while processing) and `paymentTime`.

Filter with `statement_time_ge` (inclusive) and `statement_time_lt` (exclusive), both Unix seconds, and with `payment_status`. Results are newest first unless you set `sort_order=ASC`. `page_size` is 1 to 100 (TikTok's default is 20). Pass `nextPageToken` back as `page_token`; it is null on the last page. To match a bank deposit, use `settlementAmount` and `paymentId`, then open the statement's transactions. Amounts keep TikTok's signs. Read live from TikTok on every call.



## OpenAPI

````yaml api-reference/tik-tok-shop-openapi.json GET /tik_tok_shop/finance/statements
openapi: 3.0.3
info:
  title: 'Growi API: TikTok Shop'
  version: 1.0.0
  description: >-
    Generated by scripts/gen_tik_tok_shop.rb from Growi's TikTok Shop route
    table.
servers:
  - url: https://api.growi.io/api/public/v1
security:
  - bearerAuth: []
paths:
  /tik_tok_shop/finance/statements:
    get:
      summary: Settlement statements
      description: >-
        Returns the shop's daily settlement statements from TikTok. TikTok cuts
        one statement each day at 00:00 UTC covering the previous day's settled
        transactions, with data from 2023-07-01. Each row has `id`,
        `statementTime`, `currency`, `settlementAmount`, `revenueAmount`,
        `feeAmount`, `adjustmentAmount`, `netSalesAmount`, `shippingCostAmount`,
        `paymentStatus` (`PAID`, `FAILED` or `PROCESSING`), `paymentId` (null
        while processing) and `paymentTime`.


        Filter with `statement_time_ge` (inclusive) and `statement_time_lt`
        (exclusive), both Unix seconds, and with `payment_status`. Results are
        newest first unless you set `sort_order=ASC`. `page_size` is 1 to 100
        (TikTok's default is 20). Pass `nextPageToken` back as `page_token`; it
        is null on the last page. To match a bank deposit, use
        `settlementAmount` and `paymentId`, then open the statement's
        transactions. Amounts keep TikTok's signs. Read live from TikTok on
        every call.
      parameters:
        - name: statement_time_ge
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 9999999999
          description: >-
            Unix seconds, inclusive lower bound on statementTime. Absent = the
            shop's first statement.
        - name: statement_time_lt
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 9999999999
          description: >-
            Unix seconds, exclusive upper bound. Absent = now. Must be after
            statement_time_ge.
        - name: payment_status
          in: query
          required: false
          schema:
            type: string
            enum:
              - PAID
              - FAILED
              - PROCESSING
          description: Only statements in this payment state. Absent = all.
        - name: sort_order
          in: query
          required: false
          schema:
            type: string
            enum:
              - ASC
              - DESC
            default: DESC
          description: DESC (newest first) unless set. TikTok's own default is ASC.
        - name: page_size
          in: query
          required: false
          schema:
            type: integer
            minimum: 1
            maximum: 100
          description: Rows per page, 1 to 100. TikTok's default is 20.
        - name: page_token
          in: query
          required: false
          schema:
            type: string
          description: The nextPageToken from the previous page. Omit on the first page.
        - name: organization_id
          in: query
          required: false
          schema:
            type: integer
          description: >-
            Use the TikTok Shop of this child brand (organization id) of your
            API key's organization
      responses:
        '200':
          description: '{ statements: [...], nextPageToken (null on the last page) }'
          content:
            application/json:
              example:
                statements:
                  - id: '7440000000000000001'
                    statementTime: 1758844800
                    currency: USD
                    settlementAmount: 1234.56
                    revenueAmount: 1580
                    feeAmount: -310.44
                    adjustmentAmount: 0
                    netSalesAmount: 1580
                    shippingCostAmount: -35
                    paymentStatus: PAID
                    paymentId: '7440000000000000901'
                    paymentTime: 1758931200
                nextPageToken: b2Zmc2V0PTIw
        '400':
          description: >-
            Invalid params: a bad window (negative or ge not before lt), unknown
            payment_status or sort_order, page_size out of range
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '401':
          description: Missing or invalid API key
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '403':
          description: >-
            The shop's TikTok authorization doesn't include this data (`code:
            scope_not_granted`), so the seller has to re-authorize the shop
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '404':
          description: >-
            `organization_id` isn't an active child brand of your organization,
            or the record you asked for doesn't exist
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '422':
          description: >-
            No TikTok Shop is connected for this organization. A parent
            organization whose shops sit on its child brands has to pass
            `organization_id`. Also returned when the shop isn't connected
            through TikTok's official API (`code: unsupported_on_web_only_shop`)
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '429':
          description: >-
            Rate limited: one call every 2 seconds and an hourly cap per API
            key. See `Retry-After` and the `X-RateLimit-*` headers
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
        '502':
          description: >-
            TikTok refused or failed. `error` is a fixed message and `code`
            names the failure when there is one
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TikTokShopError'
components:
  schemas:
    TikTokShopError:
      type: object
      required:
        - error
      properties:
        error:
          type: string
          description: What went wrong
        code:
          type: string
          description: Machine-readable reason, when there is one
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.