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

# Get Billing Statement

> A footed statement for one account and billing period — line items that add up to the totals.

Returns a statement for a single account and period: the individual line items and the totals they foot to. Unlike [usage summary](/api-reference/v2/usage/usage-summary), this does **not** roll up children — it reports one account (the caller by default, or the child named in `childAccountId`).

## Path Parameters

<ParamField path="period" type="string" required>
  The billing month as `YYYY-MM`.
</ParamField>

## Query Parameters

<ParamField query="childAccountId" type="integer">
  Report on one owned child instead of the caller. **No portfolio rollup** — use [usage summary](/api-reference/v2/usage/usage-summary) for that.
</ParamField>

## Response Fields

<ResponseField name="period" type="string">The `YYYY-MM` period.</ResponseField>
<ResponseField name="generated_at" type="string">When the statement was computed.</ResponseField>
<ResponseField name="lines" type="array">Billed line items (succeeded + refunded records; see [billing record](/api-reference/v2/usage/billing-records#response-fields)). Foot to `billed_total`.</ResponseField>
<ResponseField name="bypassed_lines" type="array">Comped/bypassed line items. Foot to `bypassed_total`.</ResponseField>
<ResponseField name="billed_total" type="number">Sum of `lines`.</ResponseField>
<ResponseField name="refunds_total" type="number">Total refunds within the period.</ResponseField>
<ResponseField name="net_total" type="number">`billed_total − refunds_total`.</ResponseField>
<ResponseField name="bypassed_total" type="number">Sum of `bypassed_lines`.</ResponseField>
<ResponseField name="currency" type="string">Currency.</ResponseField>
<ResponseField name="reconciliation" type="string">A plain-language note describing how the lines foot to the totals.</ResponseField>

## Examples

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.tracklysms.com/api/v2/billing/statements/2026-06?childAccountId=1042" \
    -H "X-Api-Key: trk_your_parent_key"
  ```
</RequestExample>

<ResponseExample>
  ```json Success (200) theme={null}
  {
    "period": "2026-06",
    "generated_at": "2026-07-26T16:00:00Z",
    "lines": [ { "id": "66a...", "charge_type": "usage", "status": "succeeded", "amount": 812.44, "currency": "usd" } ],
    "bypassed_lines": [],
    "billed_total": 812.44,
    "refunds_total": 0.0,
    "net_total": 812.44,
    "bypassed_total": 0.0,
    "currency": "usd",
    "reconciliation": "lines (succeeded+refunded) foot to billed_total; bypassed_lines foot to bypassed_total; net_total = billed_total − refunds_total"
  }
  ```
</ResponseExample>

## Error Codes

| HTTP Status | Error Code        | Description                                 |
| ----------- | ----------------- | ------------------------------------------- |
| 400         | `invalid_period`  | `period` is not a valid `YYYY-MM`.          |
| 400         | `invalid_child`   | `childAccountId` is malformed.              |
| 404         | `child_not_found` | The `childAccountId` is not an owned child. |
