KamoCRM

Seat and add-on license changes mid-period, on a chosen date, prorated

Featurekamo-shared-library
Shipped
October 23, 2026 at 3:58 AM UTC
Author
Kamo
Commit
936d02d

SubscriptionChangeService records a change to a live subscription's seats and add-on licenses effective on any date from today. It previews the exact prorated charge: each added unit's per-period price x days left / days in the period it falls in, e.g. Harmony +6 seats from Nov 1 = 6 x $124 x 17/31 = $408.00. The charge is invoiced when the operator chooses: its own draft invoice now (even before the effective date) or on the next renewal invoice. On the effective date the billing job applies the change: - the subscription's seats, licenses and MRR; - the customer's access (seat count, seat rows, add-on licenses, cache); - every later renewal draft, rebuilt, or given an adjustment line if staff had edited it. Edge cases: - a change exactly on a billing day is carried by that renewal rather than prorated twice; - a reduction charges nothing and can credit the unused part on the next renewal; - a scheduled change can be cancelled, voiding its draft invoice; - setup fees for added seats read the CUSTOMER's agreement. The old change-seats path now goes through this service. New table commerce_subscription_changes; new column ****************

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing