## TL;DR
Zero-dollar proration lines are bookkeeping, not billing errors. They record that an update was evaluated for proration and the amount change was zero. Ignore them for collection, but do not strip them from the invoice record. If they confuse customers, batch metadata updates separately from billing changes.

```text
proration invoice $0 lines quantity unchanged metadata
```

## Use this when
- A proration invoice contains $0 lines after a metadata-only update.
- Customers ask why their invoice shows zero-dollar line items.
- Your invoice parser chokes on $0 proration lines.

## Not for this skill when
- The proration lines should have amounts but show zero. That is a proration settings problem.
- The whole invoice total is zero unexpectedly. Check the subscription state.

## Steps
1. ('Open the invoice and check the proration line descriptions. Verify: they reference the subscription update with no price change.', 'Confirm the subscription items (price, quantity) are unchanged since the last invoice. Verify: only metadata or non-billing fields changed.', 'Decide if the $0 lines matter for the customer view. If yes, hide zero lines in your invoice rendering. Verify: totals are unaffected.', 'Keep the raw invoice data intact for audit. Verify: the API response still shows all lines.', 'If $0 lines appear constantly, batch metadata updates into non-invoice operations where possible. Verify: fewer empty prorations.')

## Variant phrasings
### stripe zero dollar proration lines
Short search.

### proration invoice empty lines stripe
Symptom search.

### stripe invoice $0 line items metadata update
Cause phrasing.


Compatibility: Stripe Billing invoices and proration, all client versions.

## Why it happens
Stripe runs proration math on every subscription update by default, including updates that change nothing billable. When the math nets to zero, it still writes the lines so the invoice is a complete record of what was evaluated. Metadata changes are the classic trigger: they touch the subscription object, proration runs, and the ledger gets $0 lines as proof nothing was owed.

## Edge cases / pitfalls
- Do not delete $0 lines from stored invoice data. Auditors like complete records.
- Hiding zero lines in the customer PDF is presentation, not data loss. Keep both layers.
- If proration behavior is set to none on updates, these lines disappear. Decide which you want globally.
- A sudden flood of $0 lines usually means an integration is updating subscriptions in a loop.

## Provenance

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