## TL;DR

A subscription pause that never resumes bills the customer during the pause window: the pause state was set but no resume was ever scheduled or executed. Track pause state explicitly with a resume date, run a scheduled job that resumes due pauses, and alert on pauses past their resume date. Credit the customer for the wrongly billed period.

```text
agent's subscription pause never resumed: customer billed during the pause window
```

## Use this when

- A paused subscription kept billing because the pause never resumed
- Pause state has no resume scheduling
- You need pause lifecycle management

## Not for this skill when

- The pause was intentionally indefinite (then billing should have stopped differently)
- The customer was billed after legitimately resuming
- You are debugging pause creation rather than resumption

## Steps

1. Confirm the billing during the pause window and quantify the overcharge.
   Expected: The harm is measured.
2. Credit or refund the wrongly billed period and notify the customer.
   Expected: The customer is made whole.
3. Record every pause with an explicit resume date at pause time.
   Expected: Pauses are never open-ended by accident.
4. Run a scheduled job that resumes pauses on their resume date and confirms the state change.
   Expected: Resumption is automatic and verified.
5. Alert on any pause older than its resume date.
   Expected: Stuck pauses surface immediately.
6. Add a pause-state dashboard for support so customers get answers, not guesses.
   Expected: The state is visible.

## Tool compatibility

Stripe subscription pause (pause_collection); subscription state machines generally.

## Variant phrasings

### subscription pause never resumed billed

The incident phrased directly.

### paused subscription billing during pause

The symptom phrasing.

### pause resume scheduling subscription

The lifecycle fix phrasing.

## Why it happens

A pause is a two-part state change (pause now, resume later), and systems that implement only the first half strand customers in limbo: the subscription looks paused to the customer but the billing engine, never told to resume or never told to stop, keeps charging. Pause-without-resume is especially damaging because the customer was promised no billing. Making the resume date mandatory at pause time and enforcing it with a scheduled job turns the pause into a complete lifecycle. The alert on overdue pauses is the backstop for when the job itself fails.

## Edge cases / pitfalls

- Distinguish pause-collection behaviors: mark_uncollectible vs void affects what the customer owes on resume.
- A customer who cancels during a pause needs the pause cleared, not resumed.
- Proration on resume can surprise customers; communicate what the first post-pause invoice will show.

## Provenance

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