---
title: "Get customer invoice summary"
method: GET
path: "/customers/{id}/invoices/summary"
tags: ["Invoices"]
---

# Get customer invoice summary

`GET /customers/{id}/invoices/summary`

Use when showing a customer's invoice overview (e.g. billing portal or balance summary). Includes totals and multi-currency breakdown.

## Path parameters

- `id` string, required

## Response `200`

OK

- CustomerMultiCurrencyInvoiceSummary
  - `customer_id` string — customer_id is the unique identifier of the customer
  - `default_currency` string — default_currency is the primary currency for this customer
  - `summaries` CustomerInvoiceSummary[] — summaries contains the invoice summaries for each currency
    - `currency` string — currency is the three-letter ISO currency code for this summary
    - `customer_id` string — customer_id is the unique identifier of the customer
    - `overdue_invoice_count` integer — overdue_invoice_count is the number of overdue invoices for this customer in this currency
    - `total_invoice_count` integer — total_invoice_count is the total number of invoices for this customer in this currency
    - `total_overdue_amount` string — total_overdue_amount is the total amount of overdue invoices in this currency
    - `total_revenue_amount` string — total_revenue_amount is the total revenue generated from this customer in this currency
    - `total_unpaid_amount` string — total_unpaid_amount is the total amount of unpaid invoices in this currency
    - `unpaid_fixed_charges` string — unpaid_fixed_charges is the total amount of unpaid fixed charges in this currency
    - `unpaid_invoice_count` integer — unpaid_invoice_count is the number of unpaid invoices for this customer in this currency
    - `unpaid_usage_charges` string — unpaid_usage_charges is the total amount of unpaid usage-based charges in this currency

## Other responses

- `400` — Invalid request
- `500` — Server error

## Changes

- **2026-05-18** `8ec2edea6b20` — 4 warning
  - removed the optional property `details` from the response with the `400` status
  - removed the optional property `details` from the response with the `500` status
  - added the new `too_many_requests` enum value to the `code` response property for the response status `400`
  - added the new `too_many_requests` enum value to the `code` response property for the response status `500`
- **2026-04-06** `95af41a12111` — 4 warning, 8 info
  - removed the optional property `error` from the response with the `400` status
  - removed the optional property `error` from the response with the `500` status
  - removed the optional property `success` from the response with the `400` status
  - removed the optional property `success` from the response with the `500` status
  - …8 more

[Change history](https://skmtc.dev/flexprice/apis/flexprice-api/changes/customers/:id/invoices/summary/get.md)

---

[API](https://skmtc.dev/flexprice/apis/flexprice-api.md) · [All operations](https://skmtc.dev/flexprice/apis/flexprice-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/flexprice/flexprice-api/revisions/2a40f94de722/schema)
