[go: up one dir, main page]

Skip to content

Add subscription table to GitLab.com billing areas

Overview

The current /billings areas for group namespaces don't show enough information about the current subscription.

See https://gitlab.com/gitlab-org/gitlab-ee/issues/6898 for relevant product discovery.

Proposal

Subscription table

collapsed

The title for the table will be the name of the active subscription.

On the right side of the header there will be a button labeled Manage, which will open the customers portal when clicked.

The table will have two rows, Usage and Billing.

The Usage row displays how many seats there are in the subscription and how many have actually been used. The columns in this row are:

  • Seats in subscription: Number of seats that have been paid for.

  • Seats currently in use: Number of active seats.

  • Max seats used: Max number of members there have been in the group at the same time.

  • Seats owed: The difference between Max seats used and Seats in subscription. The Billing row displays information relating to the subscription's validity in time, as well as when payments are due:

  • Subscription start date.

  • Subscription end date.

  • Last usage revision: The date the last time the GitLab team (or automatic system) contacted the customer to settle up any outstanding balances.

  • Next usage revision: The upcoming date when the GitLab team (or automatic system) is scheduled to contact the customer to settle any outstanding balances.

Informational popovers

Seats in use Max seats used Seats owed Last usage revision Next usage revision
popover__seats-in-use popover__max-seats popover__seats-owed popover__last-revision popover__next-revision

We will add information icons to some of the cells, which will open popovers when clicked. The copy for each one is as follows:

  • Seats currently in use:

Users with a Guest role don’t count towards seats in use.

  • Max seats used:

This is the maximum number of users that have existed at the same time since this subscription started. This is the minimun number of seats you will need to buy when you renew your subscription.

Learn more about renewals (Link TBD)

  • Seats owed:

GitLab allows you to continue using your subscription even if you exceed the number of seats you purchased. You will be required to pay for these seats on your next usage review.

Learn more about usage revisions (Link TBD)

  • Last usage revision:

This is the last time the GitLab.com team was in contact with you to settle any outstanding balances.

Learn more about usage revisions (Link TBD)

  • Next usage revision:

This is the next date when the GitLab.com team is scheduled to get in contact with you to settle any outstanding balances.

Learn more about usage revisions (Link TBD)

Other scenarios

Trial

trial

When a group is on a trial, this will be reflected in the header of the subscription table. The content of the subscription table will behave slightly differently from a normal subscription:

  • Seats in subscription: Since a trial is free, this count should increase automatically as users are added to the group. It will always equal Max seats used.

  • Seats owed: For the same reason, this count will always be 0 for trials.

  • Last usage revision and Next usage revision: Since a trial is free, there are no revision dates. The seat usage table will also behave slightly differently:

  • The Original subscription row will be renamed Trial start.

  • The price per seat will always be $0.

  • The Paid on column will never have a value.

Free

free

If a group is using the free version of GitLab.com, the header for the table will read:

GitLab.com Free In this case, the subscription table will also show some specific behavior:

  • Seats in subscription and Seats owed will behave the same way as they do in a trial.

  • The Subscription end date slot will be empty.

  • Free subscriptions do not have revision dates. The seat purchase history has two peculiarities:

  • The price per seat will always be $0.

  • The Paid on column will always be empty.

Edited by Jeremy Watson (ex-GitLab)