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

# Invoice status and aging

> Read where an invoice stands and how far past due it is, and filter your invoices by both.

Every invoice carries two separate answers to "where does this stand?":

| Field | Answers | Comes from |
| - | - | - |
| `status` | Is money still owed? | The open balance |
| `aging_status` | How far past its due date is it? | The due date |

Read them together. An invoice that is `Open` and `between_31_and_60_days` is owed and a month or more past due. Once it's `Closed`, its aging no longer matters.

## Status

| `status` | Means |
| - | - |
| `Open` | Some or all of the invoice is still owed. |
| `Closed` | The balance is zero: it was paid in full, or paid and credited down to zero. |
| `Has Credit` | More was paid or credited than the invoice was for. The extra sits on the invoice as credit. |
| `Voided` | The invoice was voided. Nothing is owed. |

`current_open_balance` is the amount still owed, in cents. A partly paid invoice stays `Open` until its balance reaches zero.

A payment on its way doesn't change the status. A bank debit takes a few business days to settle, and until it does the invoice stays `Open`. When the payments in flight cover the whole balance, `is_pending_close` is `true`, so you can show "Payment processing" instead of chasing the customer.

## Aging

| `aging_status` | Days past the due date |
| - | - |
| `not_yet_due` | Not due yet |
| `between_1_and_30_days` | 0 to 30. The due date itself counts as day 0. |
| `between_31_and_60_days` | 31 to 60 |
| `between_61_and_90_days` | 61 to 90 |
| `over_91_days` | More than 90 |

Days are counted in your account's time zone.

An invoice with billing milestones is aged by its earliest issued milestone that still has a balance. If no milestone has been issued yet, it's `not_yet_due`.

## Check one invoice

```bash theme={null}
curl https://api.staging.streamlinedpayments.com/api/v1/invoices/8d2c4a17-6b3e-4f95-a1d0-7e9c5b2f4a63 \
  -H "X-App-Id: $STREAMLINED_APP_ID" \
  -H "X-Api-Key: $STREAMLINED_API_KEY"
```

```json theme={null}
{
  "invoice": {
    "uuid": "8d2c4a17-6b3e-4f95-a1d0-7e9c5b2f4a63",
    "identifier": "W51846",
    "amount": 480000,
    "current_open_balance": 230000,
    "due_date": "2026-09-30",
    "status": "Open",
    "aging_status": "between_1_and_30_days",
    "is_pending_close": false,
    "is_voided": false,
    "billing_status": "manual_billing",
    "...": "..."
  }
}
```

This invoice was partly paid, \$2,300.00 is still owed, and it's up to 30 days past due. See [Get invoice details](https://docs.streamlinedpayments.com/api-reference/invoices/get-invoice-details.md) for every field.

## Filter your invoices

[List invoices](https://docs.streamlinedpayments.com/api-reference/invoices/list-invoices.md) takes two filters for this:

* `status=unpaid` returns `Open` invoices. `status=paid` returns everything else: `Closed`, `Has Credit`, and `Voided`.
* `invoice_state` takes one or more comma-separated values: the aging values above (or `overdue` for every past-due bucket at once), `closed`, `has_credit`, `voided`, and `quickpay` or `manual_billing`.

For example, every past-due invoice for one customer:

```bash theme={null}
curl "https://api.staging.streamlinedpayments.com/api/v1/invoices?customer_uuid=c1f0a92b-4d63-4e88-b0a7-2f9e4c6d1b35&status=unpaid&invoice_state=overdue" \
  -H "X-App-Id: $STREAMLINED_APP_ID" \
  -H "X-Api-Key: $STREAMLINED_API_KEY"
```

Aging and status values combine with "or": `between_61_and_90_days,over_91_days` returns invoices in either bucket. `quickpay` and `manual_billing` narrow the result, so `overdue,quickpay` returns past-due invoices for customers with QuickPay turned on.

## Billing status

`billing_status` is `quickpay` when the customer has QuickPay (a saved card or bank account) turned on today, otherwise `manual_billing`. It describes the customer's current setting, not how a particular invoice was paid. To see how an invoice was paid, look at its `transactions`.


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