This article is intended for those in charge of managing funding and monitoring spend in Terra, i.e., Grant Administrators and PIs. Here, you will learn step-by-step instructions on setting up team billing projects.
Other related resources
- To learn ideas behind managing shared resources, see Overview: Managing shared resources (funding).
- To learn how to set up team workspaces, go to How to manage team workspaces.
- To learn more about sharing data resources, see Best practices for sharing and protecting data resources.
- To learn more about sharing billing versus sharing workspaces, see Managing access to shared resources (data and tools).
Sharing funding resources (team billing option)
When you might want to share billing
- To allow team members to create workspaces
Sharing billing resources (billing projects) lets each person on your team create their own workspaces, which adds flexibility (collaborators don't have to ask for permission to work in your workspace) and avoids overwriting data and analysis tools in a shared workspace. - To streamline funding management
Owners and administrators of Google Cloud Billing accounts can set up one Terra Billing project for the entire team or separate one for different collaborators or different work in Terra. It is easy to cut off spend by billing project (see How to disable billing for step-by-step instructions). - To allow members to access cost reporting
Terra Billing project owners with admin permission on the Cloud Billing account can enable in-app spend reporting and detailed cost reports on Google Cloud. See How much did my workflow cost and Terra expenses and breaking down a Google bill for more details.
A warning about controlling costs when using shared billingA Terra Billing project user can create their own workspaces. As the workspace owner, they will be able to store and analyze data (i.e., accrue cost) in these workspaces and the Google Cloud costs will be billed to the shared Terra Billing project.
Billing project users (including the billing owner) don't automatically have access to workspaces created by others on the same Terra Billing. The workspace owner has to grant the appropriate workspace permission to the user (see Working in a shared workspace.).
To learn more about sharing billing versus sharing workspaces, see Managing shared resources with groups and permissions.
Step 1: Create a Terra Billing project
1. Expand the User Profile drop-down from the main navigation menu and select Billing.
2. Click on Create a New Project.
3. If prompted, click to enable billing permissions, select the Google ID of the Google Billing account owner, and click Allow.
4. Enter a unique name for your Terra Billing project. Names must follow these rules:
- Must be between 6 and 30 characters in length
- May only contain alphanumeric characters, underscores, and dashes
5. Select a linked Google Cloud Billing account to associate with the Terra Billing project.
Note: You may see multiple Google Cloud Billing accounts. If you need to locate a Google Cloud Billing account ID, navigate to the Google Developers Console and click on Billing. Look for the number below Billing account ID.
Step 2: Protect your group from getting locked out of billing
If your Terra Billing project will be used by a group (such as members in a research lab, or scientists with a common funding source), make sure there is more than one person with "owner" permission. That way, you will not be locked out of the Billing project if the sole owner leaves the group.
Option 1: Create a Terra Managed Group and give the group "owner" permission
See step-by-step instructions in Managing shared resources with groups and permissions.
Option 2: Add a second billing project owner
1. Go to your billing page.
You'll find it under the main navigation (top left of any page) in the drop down under your name.
2. Click on the Billing project link from the list. You'll be directed to the Billing project management page (below).
3. Under the Users tab (right side), select the blue Add Users button.
4. Update the existing user's role to owner by selecting Edit role (pencil icon)
How to add/remove collaborators on a Terra Billing project
Note: Only Cloud Billing Account owners and administrators can add/remove collaborators from Terra billing.
1. Navigate to Billing from the main navigation menu (Main menu > user name > Billing).
2. Select the Billing Project from the list at the left.
3. To add a collaborator, click on the Add a User card.
4. To change the collaborator role, click the Edit Role or Remove link at the right of their user ID.
Controlling spend/Disabling billing
Teams change, and it's important to be able to disable billing for members no longer on a shared funding source.
Controlling spend when using shared Billing projects involves several distinct stepsRemoving someone from a billing project does not keep them from spending money in an existing workspace that has been shared with them! It removes their ability to create new workspaces.
Collaborators can accrue costs even if you remove their billing permission! Once you remove someone from a shared billing project, they can no longer create new workspaces. However, they can still work in existing workspaces, and that work will be billed to the Terra Billing project assigned when the workspace was created. To avoid accruing additional charges in existing workspaces, you must eliminate all possible sources of Google Cloud costs following the checklist below.
How to disable billing for people no longer in shared billing
Step 1. Remove workspace access
Choose this option if you still want to keep these workspaces. You will need to remove the person from the managed group (for workspaces shared with a group, as recommended above) or remove them from each workspace (if workspaces are shared individually).
Step 2. Disable/transfer billing
There are three ways to do this, depending on whether you want to keep data and other resources and when your workspace was created.
- Option 1: Delete all workspaces created by the user (if you don't mind losing the data and other resources in the workspace)
- Option 2: Disable billing on the workspace (workspaces created after September 24, 2021) if you want to keep the workflows and data tables and documentation. See step-by-step instructions here.
- Option 3: Assign a different owner and remove the user from the workspace (if you want to keep the workspace).
How to disable billing on specific projects
If you are no longer using a shared Terra Billing project, you can disable billing for any projects (and all the associated workspaces) using the Swagger API. This will remove the Google Cloud Billing account immediately from a Terra Billing project (i.e., you will not be able to clone a workspace). This will also disable billing on all workspaces created prior to September 24, 2021 immediately.
See step-by-step directions for disabling billing on a Terra Billing project using Swagger here.
Before you start - make sure you have the right permission! To disable billing, you need to have owner or admin permission on the Google Cloud Billing account. If you are using STRIDES or third party resellers such as Onix, you may not be able to follow the steps unless you request admin privileges from the third-party reseller (who is the Owner).
What will happen?
Workspaces created after September 24, 2021: Terra will remove the billing account from all the Google projects of all workspaces created under the Terra billing project.
Scope: This will prevent additional costs accruing in all workspaces under this Terra Billing project. Once you disable billing, no one will be able to start a workflow or notebook in any workspace associated with this project (if you disable the Terra Billing project) - effective immediately.
Why doesn't removing someone's billing permissions control their spend? Google Cloud costs are billed per billing project (i.e., by Terra workspace), not per user. This means, if the workspace still has a valid billing project, someone with "can-compute" permissions will still be able to run workflows or notebooks.
What can someone do without billing permissions?
When you remove users from the billing account or project, they cannot create new workspaces, but they can still accrue Google Cloud costs in a workspace shared with them!