Charge for `seats currently in use` on GitLab.com when Auto Renew is enabled (unless it's less than the original `seats in subscription`)
Problem
When a customer's subscription has the Auto Renew setting toggled to ON
, the system will create a new subscription at the renewal date identical to the existing subscription. The problem is, we are losing license money where there are more seats active on GitLab.com than what was in the subscription.
Proposal
At the point of the Auto Renewal, the system should calculate the seats currently in use
for the group and charge for that number of users in the new subscription, as long as it is greater than or equal to the seats in subscription
count.
For the case where there are less seats currently in use
than seats in subscription
, we should charge for the seats in subscription
, assuming that the customer will grow into their previously stated seat count.
In this example, the seats currently in use
within this group's heirachy is 20 but since the seats in subscription
is only for 16, the system will auto-renew for 4 seats less than what is being used.
G/W/T
GIVEN: A .com subscription
WHEN: the renewal processes
THEN: look at the seats currently in use
count vs. the seats in subscription
count and renew the subscription for the higher # between the two
Acceptance Criteria:
- At the time of a .com auto-renewal, look at the
seats currently in use
count vs. theseats in subscription
count and renew the subscription for the higher # between the two
Deployment Tasks
-
Feature.enable(:billing_rate_update_service)