Skip to main content

GCP Billing Export Integration with nOps

FAQs

Expand FAQs

1. What if I don’t see my billing data in BigQuery?

  • Ensure that Billing Export is enabled for the correct project.
  • Check if the dataset and table names match what was configured in nOps.
  • Wait up to 48 hours for the first full dataset to appear.

2. Can I use customer-managed encryption keys?

No, Google Cloud only supports Google-managed encryption for billing data exports.

3. How often is billing data updated on nOps?

Billing data is refreshed daily, but there might be a 48-hour delay for full updates.

4. How long does it take for the Pricing and Detailed Resource tables to be available?

The tables under the Detailed Usage Cost and Pricing exports may take up to 48 hours to be created.

5. Do Pricing and Detailed Usage Cost exports need to be in the same location?

Yes. Both exports must be configured to use the same location (US or EU) and preferably the same dataset. Using different locations or datasets will cause integration issues with nOps.

Setting Up the Integration

To integrate GCP Billing Exports with nOps, follow these steps:


1. Configure GCP Billing Exports

Before connecting to nOps, you must enable billing exports in GCP.

Step 1: Select or Create a GCP Project

A Google Cloud project is required to store billing data. If managing multiple billing accounts, configure the export for each account separately.

note

For help setting up the Cloud Billing account, refer to this documentation.


Step 2: Enable Cloud Billing Export to BigQuery

You can create the BigQuery dataset directly within the billing export configuration, streamlining the entire process.

Step 1: Navigate to Billing Export

  1. Navigate to the Billing section in the GCP Console.
  2. Select Billing Export from the left-hand menu.

Billing Export

Step 2: Configure Detailed Usage Cost Export

  1. Go to the Billing Export tab.
  2. In the Detailed Usage Cost section, click Edit Settings.
  3. Select your Project from the dropdown.
  4. For Dataset, you can either:
    • Select an existing BigQuery dataset, OR
    • Click "CREATE NEW DATASET" to create one directly here
  5. If creating a new dataset:
    • Dataset ID: Use a recognizable name (e.g., gcp_billing_exports)
    • Location: Choose US or EU (this location must be consistent for both exports)
  6. Click Save.

Configure Daily Cost Detail Export

Step 3: Configure Pricing Export

  1. Scroll down to the Pricing section and click Edit Settings.
  2. Select the same Project and BigQuery Dataset as configured above. This ensures both exports use the same location and dataset.
  3. Click Save.

Configure Pricing Export

This ensures that both detailed usage cost and pricing data are exported to BigQuery for analysis.

note

The Detailed Usage Cost export and the Pricing export create two separate BigQuery tables. You can use the same dataset and location for both, but each export produces a different table with its own unique Table ID.

warning

Important: Both pricing and resource exports must be configured to use the same location (US or EU) and preferably the same dataset. Using different locations or datasets will cause integration issues with nOps.

note

The tables under the Detailed Usage Cost and Pricing exports may take up to 48 hours to be created.


Once billing exports are configured in GCP, connect them to nOps.

  1. Log in to nOps and go to Organization Settings.

  2. Navigate to Inform Integrations.

  3. Select GCP Billing Export from the available integrations.

  4. Enter:

    • GCP Billing Account ID
    • BigQuery Table ID for Detailed Usage Cost
    • BigQuery Table ID for Pricing Export
  5. Click Create Integration.

Two different Table IDs required

The Detailed Usage Cost and Pricing exports must reference two different BigQuery tables. These tables can live in the same dataset (and region), but their Table IDs must be different.

Common patterns:

  • Detailed Usage Cost (resource) table: project.dataset.gcp_billing_export_resource_v1_<BILLING_ACCOUNT_ID_WITH_UNDERSCORES>
    Example: billing-project.billing_dataset.gcp_billing_export_resource_v1_0115B9_C18400_A979DC
  • Pricing table: project.dataset.cloud_pricing_export
    Example: billing-project.billing_dataset.cloud_pricing_export
note

Finding Your Billing Account ID

To locate your Billing Account ID in Google Cloud Platform (GCP):

  1. Open the Billing page in your GCP console.
  2. Your Billing Account ID will be displayed in the format 0115B9-C18400-A979DC.

GCP Billing Account ID Location

Finding the Table ID for BigQuery Datasets

To find the Table ID for your datasets in BigQuery:

  1. Navigate to BigQuery in the Google Cloud Console.
  2. Select the appropriate dataset.
  3. Click on the specific table you need.
  4. Open the Details tab and look for the highlighted Table ID value.

Collect both Table IDs

  • For the Detailed Usage Cost export: copy the Table ID that starts with gcp_billing_export_resource_v1_ and ends with your billing account ID using underscores (e.g., billing-project.billing_dataset.gcp_billing_export_resource_v1_0115B9_C18400_A979DC).
  • For the Pricing export: copy the Table ID that ends with cloud_pricing_export (e.g., billing-project.billing_dataset.cloud_pricing_export).
    Tip: The two Table IDs will have different table names, even if they share the same dataset.
Click to view a screenshot of the Table ID location

Table ID Screenshot

After completing this step, nOps will generate a service account email.


3. Grant Service Account Permissions in GCP

Once the nOps service account email is generated, grant it the required permissions.

Step 1: Navigate to IAM

  1. Navigate to IAM & Admin → IAM in the GCP Console.

Step 2: Click + Grant Access

  1. Click + Grant Access.

Step 3: Enter the nOps Service Account

  1. For Principal, enter the nOps service account email (obtained from integration setup).

Step 4: Add Required Roles

  1. Add the following roles:
    • BigQuery Resource Viewer – To read BigQuery reservation/slot objects.
    • BigQuery Data Viewer – To read BigQuery tables and views in the billing export dataset (grant at dataset if not inherited).
    • Compute Viewer – To read Compute Engine data (CUDs, instances, regions).
    • Cloud Asset Viewer – To enumerate assets across services for correlation.
    • Recommender Viewer – To read cost recommendations (e.g., rightsizing, idle resources).
    • (Optional) Recommender Insights Viewer – To read underlying insights.
    • Browser (Organization-level only, if not already granted) – Or Project/Folder Viewer to enumerate projects and folders.

Step 5: Save

  1. Click Save.

4. Enable Required APIs

Step 1: Open APIs & Services

  1. Navigate to APIs & Services → Enable APIs and Services.

Step 2: Enable Required APIs

  1. Enable the following APIs:
    • Recommender API
    • Cloud Asset API
    • BigQuery Reservation API
    • Cloud Billing API

Why Use nOps for GCP Cost Management?

  • Unified Cost Visibility – View all cloud spend, including AWS, Azure, and GCP, in a single platform.
  • Automated Cost Analysis – Identify inefficiencies and optimize resource allocation.
  • Custom Reporting – Create tailored reports for detailed GCP spend analysis.

By integrating GCP Billing Exports with Inform, you gain deeper visibility into cloud costs, empowering smarter budget decisions.