Skip to content

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.

image image

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. the seats in subscription count and renew the subscription for the higher # between the two

Deployment Tasks

  • Feature.enable(:billing_rate_update_service)

/cc @tipyn @timnoah

Edited by Robert Nalen