Skip to content

Upgrade and downgrade proration — calendar units, not day ratios

Mid-period plan changes, draft edits vs adjustment documents, and why March credits a full month on quarterly pricing.

Akaash Gupta

Software engineer

6 Sept 20263 min read

BillingInvoices, schedules, proration, and getting the document right before speed.

Customers change plans mid-period: more seats, higher tier, product removed. Sonic computes only the difference for the days (calendar units) that actually changed — then either edits an open draft or issues an adjustment invoice / credit note on sent documents.

This is billing math operators defend in email threads. Getting it wrong erodes trust faster than a late invoice.

A change is a proposal until someone approves it

A mid-period change doesn't touch a customer's invoice the moment someone types it in. It's proposed first — what the schedule should look like from the change date forward — then reviewed as a before-and-after comparison scoped to just the affected window, and only becomes real, customer-facing documents once someone approves it. Right up until that approval, the change can be discarded with no trace, which matters because "let me see what this would cost before I commit to it" is a completely normal question for an AE to ask on a call.

Draft vs sent — the fork

Invoice state Upgrade / add Downgrade / remove
Draft / in-progress Edit draft directly Edit draft directly
Sent or paid Adjustment invoice (charge extra) Credit note (give back)

Sent invoices never gain lines. Mid-period changes after send always produce a new document.

Calendar units, not days ÷ period days

Quoted ₹1,000/month on a quarterly invoice clipped from 1 Jan–31 Mar:

  • Change effective 15 Jan → walk calendar months of unit_price_basis: partial January + full February + full March — not 3000 × 75/90.

Unused-time credits on downgrade use the same walk (multiply before divide so clean thirds stay exact).

Wrong shortcut Right walk
3000 × days/90 Jan 17/31×1000 + Feb 1000 + Mar 1000
March credit 31/90 of quarter March credits full ₹1000

Seat and fixed money use this rule. Usage amounts are measured, not prorated by calendar stub windows the same way.

Activation stub invoices (schedule activated mid-cycle) pass proration factor on seat lines via metadata — independent of mid-period seat event proration policies like Added seats only.

Reading the review screen

Field Meaning
Old → new amount Prorated delta for changed window only
Action Edit draft / adjustment / credit note
Status transition What happens to target invoice

Numbers rarely match headline MRR × fraction — that is correct when calendar units apply.

Downgrades and prepaid

Downgrades on prepaid products interact with credit balance separately. Check prepaid views after apply.

Backdated upgrades into closed periods may recognise revenue immediately — know before month-end close.

Forward-only honesty

Pricing math improvements apply to open drafts on regeneration. Sent invoices and frozen rev-rec ledgers do not restate. That is intentional immutability, not a missing backfill button.

Watch out for

  • Read review before approve — prorated totals confuse approvers who only know list price.
  • Do not expect sent invoice edits — credit note or adjustment instead.
  • Seat event proration ≠ schedule stub proration — different knobs.
  • Calendar unit walk applies to credits too — downgrade is not a cheaper formula.
  • ERP "fix" after the fact — fix schedule change upstream, not shadow spreadsheet.

See it on the platform

Everything above describes how Sonic actually runs it — the product pages show the screens.

Written by

Akaash Gupta · Software engineer

Builds the billing engine. Writes about the mechanics — ingestion, proration, immutability — and the edge cases that decide whether an invoice is right.

Related questions

Still have questions?

Will you rewrite an invoice after it has been sent?

No. Sent, paid, void, and final invoices are not rewritten. Corrections are credit notes or a new invoice alongside the original. Drafts and in-progress invoices can still accept lines. Freight has no credit notes — correct the file, or void.

See the full FAQ →

Next

See it on your contracts

A walkthrough on the agreements and files you actually bill from — not a slide deck.