- Ya
- 11 Agosti 2026, 00:01 UTC
- Mwandishi
- Kamo
- Ahadi ya
- b82aecb
An add-on's unit only ever existed as prose inside its description ("Each unit adds 25 GB") and as a hardcoded constant in the marketing site, so nothing could bill against it. SubscriptionAddOn gains unit_size, and AccountSubscription gains addon_quantities — how many units of each add-on the subscription bought. active_addon_codes stays the entitlement source of truth, so nothing that only asks "is this app granted" has to know the quantity map exists. Also fixes the order wizard's quote, which added each add-on once with no seats factor even though most are PER_SEAT: a 25-seat order with four modules was quoted $31 against the $775 Stripe would bill. The quote now follows the same pricing model the charge does, and omits metered add-ons rather than guessing.