---
title: "List non-invoiced charges of a connected Stripe account"
method: GET
path: "/companies/{company}/connected-accounts/{account}/non-invoiced-charges"
tags: ["Stripe"]
---

# List non-invoiced charges of a connected Stripe account

`GET /companies/{company}/connected-accounts/{account}/non-invoiced-charges`

## Request

- Base URL: `https://api.factuarea.com/v1`
- URL: `https://api.factuarea.com/v1/companies/{company}/connected-accounts/{account}/non-invoiced-charges`
- Auth: one of:
  - HTTP bearer
  - API key in header `X-API-Key`

Lists charges of a connected Stripe account that a rule deliberately excluded from invoicing, newest first.
- Items expose `amount`, `refunded_amount`, `net_amount`, `reason`, `charge_rule_id` and `occurred_at`.
- Filter with `occurred_from`/`occurred_to` (`YYYY-MM-DD`); an invalid range returns 422.

## Path parameters

- `company` string, uuid, required
- `account` string, uuid, required

## Query parameters

- `occurred_from` string, date
- `occurred_to` string, date
- `limit` integer
- `starting_after` string, uuid
- `ending_before` string, uuid

## Headers

- `Factuarea-Version` string, date

## Response `200`

Charges left out of invoicing by a rule, most recent first, with cursor pagination.

- object
  - `data` NonInvoicedCharge[], required
    - `id` string, uuid, required: UUID v7 of the record. Public identity (KEY `id`).
    - `object` 'non_invoiced_charge', required: Stripe-like discriminator. Always `non_invoiced_charge`.
    - `connected_account_id` string, uuid, required: UUID v7 of the connected account.
    - `transaction_id` string, required: External Stripe id of the charge (`pi_xxx`). NOT an internal UUID nor a foreign key.
    - `amount` string, required: Decimal string in major units of `currency`, at Stripe's decimal scale for that currency (3,000 JPY → `"3000"`, 30.00 EUR → `"30.00"`, 5.124 KWD → `"5.124"`), like every other v1 amount.
    - `refunded_amount` string, required: Cumulative amount refunded by Stripe for this charge (succeeded and pending refunds), in the same format as `amount`. `0` if nothing has been refunded. It never exceeds `amount`, and it goes down if a pending refund later fails or is canceled.
    - `net_amount` string, required: Net amount of the charge, what the merchant keeps: `amount` minus `refunded_amount`, in the same format as `amount`.
    - `currency` string, required: ISO 4217 currency code, uppercase.
    - `description` string, nullable, required: Charge description reported by Stripe, or `null`.
    - `reason` 'indemnity_not_subject' | 'multipurpose_voucher' | 'invoiced_elsewhere', required: Why the charge was not invoiced.
    - `charge_rule_id` string, uuid, nullable, required: UUID v7 of the rule that decided it, or `null` if the rule was deleted afterwards.
    - `occurred_at` string, date-time, required: When the charge happened (ISO 8601).
    - `refunded_at` string, date-time, nullable, required: When the most recent refund of the charge was recorded (ISO 8601), or `null` if nothing has been refunded.
  - `has_more` boolean, required: Whether there are more results after this page.
  - `next_cursor` string, uuid, nullable, required: Cursor to pass as `starting_after` to get the next page, or `null` on the last page.

## Other responses

- `400`: `parameter_unknown` with `subcode` `retired_active_profile_header`: the retired `X-Active-Profile` header was sent; the company goes in the path. `parameter_invalid_format` on `Factuarea-Version`: the header is not a `YYYY-MM-DD` date. `unsupported_api_version`: the `Factuarea-Version` date is not a supported version.
- `401`: Missing or invalid API key.
- `403`: The request is authenticated but not allowed: the API key lacks the required scope (`insufficient_scope`), the plan does not include the public API or this feature (`addon_not_active`, `feature_not_available_in_plan`), or the module is not available with a test key (`module_not_available_in_sandbox`). `company_inactive`: the company in the path is deactivated; reactivate it to operate.
- `404`: The requested resource does not exist or belongs to another company. `profile_not_found`: the company in the path does not exist, is not in the API key scope or belongs to the other environment (live or test).
- `422`: Validation failed. The `error.param` field identifies which input is invalid.
- `429`: Rate limit exceeded. Retry after the duration in `Retry-After`.
- `500`: Unexpected server error.

---

[API](https://skmtc.dev/factuarea/apis/factuarea-public-api.md) · [All operations](https://skmtc.dev/factuarea/apis/factuarea-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/factuarea/apis/factuarea-public-api/revisions/718e77934422?raw)
