If you are building a SaaS from scratch, have your Users belong to Teams, and attach billing information to the Team not User. While you're there, create a Membership model to be the join table between User/Team and assign a role to the User like Owner, Admin, or Readonly.
This signals that your app is business-friendly. It allows you to assign limits and features at the Team level. It allows for users to ask for their accounts to be deleted without it affecting the billing status of the entire team. It allows a team to kill a teammate's account.
"but I'm building a b2c, do I need teams?"
Personal finance tool: user wants spouse to see their budget
Notetaking tool: user wants to share notes with family
Videogame recc app: user wants girlfriend to add their games to library
Preschool app: grandma wants to pay tuition
In your domain, it's not always going to be called "Team". Maybe it's called "Family", or "Clan", or "Organization", or "Company". The concept is the same. It's a group of individuals that want to use your service, and want to easily pay you more money to do so.
There are caveats to this. Not everyone needs teams. Most B2C apps will never use a Team/Group feature, and still make a million $ a minute. But if you're building a B2B / B2BC or just anything that you think a company will pay for an employee to use, this applies to you.
I said assign a role to the User when I meant assign a role to the Membership. Adam gets a ⭐️!