[UX] Managing multiple Customers per Account
Problem
Right now a Customer record in CustomersDot represents a mixture of a physical user (Zuora Contact) and an Account (Zuora Customer Account). As discussed in Introduce CustomersDot BillingAccount (&8331), this is a problem for a few reasons, leading to a variety of bugs. The groupfulfillment platform team is working to correct this by introducing new data models to allow for BillingAccounts and BillingAccount Memberships (and renaming Customers to Users to reduce confusion). Multiple Users in CDot should be able to be associated with a BillingAccount. On the flip side, one User record should be able to be associated with multiple BillingAccount (through BillingAccountMemberships).
We need to allow Users to invite multiple other Users to be billing account managers for their BillingAccount. Billing account managers should be able to purchase and manage subscriptions for that billing account.
Proposal
Provide designs for the flow of a User viewing/adding/removing billing account managers.
- How does the User know who has access to manage the BillingAccount?
- What is the process for inviting an additional billing account manager?
- What is the process for removing a billing account manager?
- What notifications does a User get when they are added as an Account manager?
- How do you delete a BillingAccount manager?
Final design and specs
➡ 🎨 Figma link for final designs and specs
Details about actions, states, and confirmation for adding/removing billing account managers
Flow for user who has just been invited as billing account manager
Emails
There are two new emails that need to be created as part of this work:
- Person is invited to be a billing account manager and they don't have a CDot account
- User is invited to be a billing account manager and they already have a CDot account
(It's possible that these emails can be the same email but with logic to show different copy based on whether or not the person being invited has an account.)
Proposed email text
1. Person is invited to be a billing account manager and they don't have a CDot account
Expand to see email copy
Subject:
You've been invited to manage your organization's GitLab subscription
Body:
Hi there!
[Inviter name] has invited you to manage the GitLab subscription for [BillingAccount name]. We've created an account for you on our subscription management site, the GitLab Customers Portal.
Use the Customers Portal to view and manage your subscription, update payment methods, view invoices, and purchase additional seats or products. If you purchased from an authorized reseller, your subscriptions are read-only.
Ready to get started?
Thanks,
The GitLab team
2. User is invited to be a billing account manager and they already have a CDot account
Expand to see email copy
Subject:
You've been invited to manage your organization's GitLab subscription
Body:
Hi <%= @customer.first_name %>,
[Inviter name] has invited you to manage the GitLab subscription for [BillingAccount name].
Use the Customers Portal to view and manage your subscription, update payment methods, view invoices, and purchase additional seats or products. If you purchased from an authorized reseller, your subscriptions are read-only.
Ready to get started?
Thanks,
The GitLab team