Skip to content

GitLab Next

  • Projects
  • Groups
  • Snippets
  • Help
    • Loading...
  • Help
    • Help
    • Support
    • Community forum
    • Submit feedback
    • Contribute to GitLab
  • Sign in / Register
customers-gitlab-com
customers-gitlab-com
  • Project overview
    • Project overview
    • Details
    • Activity
  • Issues 584
    • Issues 584
    • List
    • Boards
    • Labels
    • Service Desk
    • Milestones
    • Iterations
  • Requirements
    • Requirements
    • List
  • Operations
    • Operations
    • Incidents
  • Analytics
    • Analytics
    • Insights
    • Issue
    • Repository
    • Value Stream
  • Members
    • Members
  • Activity
  • Create a new issue
  • Issue Boards
Collapse sidebar
  • GitLab.org
  • customers-gitlab-comcustomers-gitlab-com
  • Issues
  • #1138

Closed
Open
Opened Mar 03, 2020 by Amanda Rueda@amandarueda🌞Developer

QRTLY COTERMS SM: Automated add-on order creation for quarterly seat overages

Problem

Currently when a self-managed user exceeds their licensed seat count we charge them for true-up seats for the overage incurred in the previous term at renewal.

The problems with this method are many:

  1. Some users are surprised by this charge at renewal because they believed the system auto-metered the user capacity.
  2. In this model, customers are charged for a full 12 months of each true-up seat rather than the prorated amount since the overage user(s) were actually added.
  3. The true-up model is incredibly confusing to both internal team members and customers.
  4. The process often results in license activation errors due to a misunderstanding in what should have been purchased. This leads to customer frustration, an unpleasant customer experience and a lack of confidence in our systems.

Proposal

To solve this and provide a more fair user experience, we'd like to move to a quarterly review of self-managed seat usage and bill for any overages.

The overage will be charged as "add-on" users, prorated and co-terming with the existing subscription.

Decisions Made

  • Q. Where two instances are using the same license, which active user count do we use?
    • A. Take the higher value reported on the same day.
  • Q. Where the subscription is already in progress when we start the quarterly reconciliation process, when should we start the first bill?
    • A. Start the first reconciliation in the subscription existing quarter.
  • Q. What Max User count should be used if data is not available daily?
    • A. The last available Max User count within the quarter.
  • Q. What Max User count should be used if the quarterly reconciliation process is delayed into the next quarter? (ex. the job fails on the last day of the quarter and is successful 3 days later)
    • A. Use the last available Max User count from the applicable/prior quarter. Ex. The reconciliation date is 2020-06-30, the actual date of reconciliation (due to system issue) is 2020-07-04. In this case, we will use the last available Active User count within the period of 2020-04-01 - 2020-06-30.

Implementation

Process Step Change (Y/N) UX Frontend Backend
Using Seat Link, calculate the quantity of users which have exceeded the license count. The calculation for this is max users - license users count. Y N N Y
Create an "add-on" order in the customers portal as an amendment to the subscription related to the subscription guid provided by Seat Link. Y N N Y
Customers portal sends details to license app. N
License App generates & sends customer the updated license (with add-on seats appended to prior license count). N
Zuora creates the subscription amendment N
Zuora sends the subscription amendment to Customers Portal N
Zuora generates and sends invoice to customer N
Customers portal sends subscription amendment data to SFDC N
SFDC creates a Closed-Won opportunity N

Flow

Screen_Shot_2020-04-16_at_12.44.03

/cc @mkarampalas

Edited Jul 08, 2020 by Amanda Rueda
Assignee
Assign to
13.6
Milestone
13.6 (Past due)
Assign milestone
Time tracking
None
Due date
None
Reference: gitlab-org/customers-gitlab-com#1138