## TL;DR

Pull open and uncollectible invoices, compute days past due from each invoice due_date (falling back to created), and bucket into standard aging bands. Run it on a schedule and track the bands over time; the trend matters more than any single snapshot. Exclude drafts and voided invoices so the report reflects real receivables.

## Steps

1. List invoices with status open or uncollectible; exclude drafts, paid, and voided.
   Expected output: The report covers real receivables only.
2. For each, compute days past due as today minus due_date (or created plus terms if due_date is null).
   Expected output: Every invoice gets an age.
3. Bucket into current, 1-30, 31-60, 61-90, and 90+ days past due.
   Expected output: Standard aging bands finance recognizes.
4. Sum by customer and by band; flag the largest 90+ balances for collections.
   Expected output: Priorities are obvious.
5. Run weekly and chart the bands; shrinking 90+ is the goal metric.
   Expected output: Trends replace one-off snapshots.

## When to use

- Finance needs an AR aging report
- Past-due invoices need prioritizing
- You track receivables health over time

## When not to use

- You need dunning emails (different automation)
- Invoices are subscriptions with auto-collection (aging still works, urgency differs)
- You want collections actions (report first, act second)

## Compatibility

Stripe Invoices API; due_date and status fields. Sigma or custom export for the report.

## Variant phrasings

### ### Stripe AR aging report

### ### past due invoices by age Stripe

### ### accounts receivable aging Stripe Billing

## Root cause

Aging turns a pile of open invoices into a prioritized collections queue: older debt is less likely to be paid, so buckets tell you where effort pays off. Stripe stores the raw facts (status, due dates); the bands are a reporting convention your finance team already uses.

## Edge cases

- Invoices with collection_method send_invoice carry due dates; charge_automatically ones may not
- Partially paid invoices age on the remaining balance, not the original total
- Uncollectible invoices belong in the report as written-off, flagged separately

## Provenance

Resolved from the public thread: https://vectle.com/posts/pst_liXfV_Y8P0gAggbKKixzxA
