---
title: "Get Invoice Statement"
method: POST
path: "/invoice/statement"
---

# Get Invoice Statement

`POST /invoice/statement`

## Request

- Base URL: `https://dc-region.zuperpro.com/api`
- URL: `https://dc-region.zuperpro.com/api/invoice/statement`
- Auth: API key in header `x-api-key`

Generates a customer account statement aggregated from payment transactions (not invoices directly) for a given customer or organization. Despite the name, this is a multi-mode endpoint: `type: JSON` returns the data inline, `type: PDF` synchronously renders and returns a PDF, and `type: SEND` synchronously renders and emails it — all three run fully in-request with no job queue, so large date ranges can be slow.

Fields are accepted interchangeably from the request body, query string, or path — the body is canonical.

## Request body

- object
  - `type` 'JSON' | 'PDF' | 'SEND'
  - `filter` object
    - `customer_uid` string: One of customer_uid or organization_uid is required.
    - `organization_uid` string: One of customer_uid or organization_uid is required. If both are given, customer is scoped to the organization.
    - `from_date` string: Required together with to_date to filter by payment date.
    - `to_date` string
    - `invoice_status` 'DRAFT' | 'AWAIT_PAYMENT' | 'PARTIALLY_PAID' | 'PAID' | 'BAD_DEBT' | 'ARCHIVED' | 'CLOSED' | 'CANCELED' | 'READY_TO_INVOICE': Comma-separated values.
    - `over_due` boolean: If true, restricts to unpaid invoices past their due date.
    - `invoice_uid` string: Optional. Restricts to one invoice's payment transactions.
  - `email` string: Required when type is SEND.
  - `email_cc` string[]
  - `email_bcc` string[]
  - `email_subject` string
  - `email_body` string
  - `email_config_uid` string
  - `template_uid` string: A CUSTOMER_STATEMENT-type template uid. If omitted, a built-in fallback template is used.

## Response `200`

200

- object
  - `type` string
  - `title` string
  - `message` string
  - `data` object: Present for type=JSON only. type=PDF returns a raw application/pdf body instead.

## Other responses

- `400`: 400

## Changes

- **2026-11-03** `3c21bc232e16`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/zuper/apis/zuper-pro-api/changes/invoice/statement/post.md)

---

[API](https://skmtc.dev/zuper/apis/zuper-pro-api.md) - [All operations](https://skmtc.dev/zuper/apis/zuper-pro-api/llms.txt) - [OpenAPI document](https://skmtc.dev/zuper/apis/zuper-pro-api/revisions/3c21bc232e16?raw)
