---
title: How proration works
description: The credit and charge that keep a mid-period plan change fair, computed day by day.
domain: subscription
status: shipped
visibility: public
last_verified: 2026-07-11
order: 10
---
When a subscription changes mid-period, the customer has paid for time they will not use on the old price, and owes for time they will use on the new one. Proration settles both with one fraction:

```
fraction = days remaining / days in the period
credit   = -(fraction x old amount)
charge   = fraction x new amount
net      = charge + credit
```

## Try it

A customer pays $30.00 per month and upgrades to the $60.00 plan during June. Drag the slider to the day the upgrade happens. The credit, charge, and net come from the same proration calculator the billing engine runs.

```viz proration-timeline
```

Change on June 16 and the math reads: 15 of 30 days remain, so the fraction is one half. The credit is half of $30.00 back, the charge is half of $60.00, and the net due today is $15.00.

## Where the money goes

The credit and the charge do not bill on their own. They land in the subscription's unbilled charges, a holding queue you can see on the subscription page. What happens next depends on the proration behavior you chose for the change:

| Behavior | What it does |
|---|---|
| Create prorations (default) | The credit and charge wait in unbilled charges and settle on the next invoice. |
| Always invoice | An invoice for the net amount is issued immediately. |
| None | No credit, no charge. The new price simply starts next period. |

## The default for your organization

When you do not pick a behavior for a change, an organization setting decides what happens. By default a change defers: the credit and charge settle on the next renewal invoice rather than raising their own bill. You can switch it so changes bill immediately instead.

```viz proration-default
```

This is set for your whole organization under Settings, on the billing behavior preferences ([open settings](https://app.yrecurring.com/settings/preferences) if you are signed in). It sets the default for every mid-cycle change; you can still choose a different behavior on an individual change.

## In the API

Mid-cycle changes go through the subscription item endpoints: `POST /v1/subscriptions/{id}/items` to add one, `PATCH` to change quantity or price, and `DELETE` to remove one. Each takes the proration behavior above. See the [API reference](/reference). The items and their prices come from the [product catalog](/guide/product-catalog/building-a-subscription).

## Edge cases

- **Day counting follows your organization's timezone.** A change near midnight counts on the day your wall calendar says, not the server's.
- **Downgrades can produce a negative net.** The credit is larger than the charge, and the difference reduces the next invoice.
- **Adding an item** is a charge with no credit. **Removing an item** is a credit with no charge.
- **Every leg keeps its receipt.** The credit and the charge each carry a trace, linked under one parent, so "Show calculation" explains the whole change.
