Make it easier for self-managed customers to provide GitLab with accurate active user counts
Problem to solve
Our license server only shows GitLab the total license count at the time of purchase/distribution and GitLab has to rely on the customer to tell us their up to date active user count at the time of renewal in order to complete the renewal (and true-up or true-down if necessary).
Build the offline flow of these flows first, but with some small alterations to simplify the change:
- Add instructions on the license page to instruct the customer what to do at the time of renewal
- Introduce the unique hashed instance ID containing the license information (active user counts) which is generated by clicking a button on the license page, include what to do with it once generated (link to the portal).
- Introduce the section on the customer portal account where the customer pastes the instance ID (we don't need an access token right now)
- The portal should automatically calculate anything owed and allow the customer to either pay via the portal or contact sales to have them generate an invoice for them.
- Polish the UX of the above MVC experience to be closer to https://gitlab.com/gitlab-org/gitlab/issues/31825
- Add automatic syncing so customers don't have to think about it