Export Channel Services data to BigQuery

Note: This export is only available to Google Cloud and Google Workspacepartners.

This page shows you how to configure a Channel Services export, and alsodescribes the available schema for an export.

UsingBigQuery, you can exportChannel Services billing data to a specifiedBigQuery dataset. This data canhelp you perform a detailed analysis of how your customers or channel partnersare using the services you provide.

Exports from Channel Services contain reseller-specific data not otherwiseincluded in Cloud Billing exports. This includes costs, credits, and usagedata with your configured repricing rules. These exports also aggregate allinformation about your customers' parent billing accounts into a single dataset.

However, data from a Channel Services export is compatible withCloud Billing exports, and you can use queries to join both datasetsfor analysis.

For information about non-reseller Cloud Billing exports, seesetting up Cloud Billing exports to BigQuery.

Before you begin

Before you start exporting Channel Services billing data, you must:

  • Set up a project to host your BigQuery dataset. Make sure thatbilling is enabled on the project.
  • Enable the BigQuery Data Transfer Service API on the project.
  • Create a dataset for your exported data.

If you already have a project and BigQuery dataset forCloud Billing data exports , you can reuse that project and dataset for the Channel Services export.

For detailed information on setting up a project and dataset, seeSet up Cloud Billing data export to BigQuery.

Permissions required for exports

To enable and configure Channel Services exports, you need the following roles:

Select a project and dataset

In the Partner Sales Console, select a project and dataset inBigQuery to store the Channel Services data. Enable billingon the project if not already enabled.

When you select orcreate a BigQuery dataset,you can choose one of the supported BigQuery locations for thedataset. When you enable the Channel Services data export for the firsttime per data source (Google Cloud or Google Workspace):

  • If you configure yourBigQuery dataset to use amulti-region location,BigQuery export data is available for each selected datasource from the start of the previous month. For example, if you enableBigQuery export on September 23rd, your export will includedata beginning August 1st.

  • If you configure yourBigQuery dataset to use aregion location (other than multi-region US or EU), your BigQuery export datais available for each selected data source from the date you enable theexport, and after. That is, BigQuery export data isn't addedretroactively for non-multi-region dataset locations, so you won't seeBigQuery export data from before you enable export.

Note: For the Offline order billing export (preview), the export only supportsmulti-region dataset locations.

Warning: For Partners who disableand later re-enable the BigQuery export or change Export datasetto a different BigQuery location, data might not be available forthe period when export was explicitly disabled or between the last export andwhen cross-region dataset change occurred. We cannot backfill data in thesecases.

To export billing data for multiple Partner Sales Console accounts, followthese steps:

  1. On the BigQuery dataset that you want to export your data to,make sure the Billing Administrators for each Partner Sales Consoleaccount have permissions to view the dataset.
  2. When you set up the billing data export in each Partner Sales Consoleaccount, select the unified dataset.

Supported BigQuery locations

There are two types of regions BigQuery supports.

Multi-regions

The following table lists the multi-regions where Channel ServicesBigQuery data export is supported.

Multi-region descriptionMulti-region name
Data centers withinmember states (external link) of the European UnionEU
Data centers in the United StatesUS

Regions

The following table lists the regions in the Americas whereChannel Services BigQuery data export is supported.

Region descriptionRegion name
Iowaus-central1
Las Vegasus-west4
Los Angelesus-west2
Montréalnorthamerica-northeast1
Northern Virginiaus-east4
Oregonus-west1
Salt Lake Cityus-west3
São Paulosouthamerica-east1
South Carolinaus-east1

The following table lists the regions in Asia Pacific whereChannel Services BigQuery data export is supported.

Region descriptionRegion name
Hong Kongasia-east2
Jakartaasia-southeast2
Mumbaiasia-south1
Osakaasia-northeast2
Seoulasia-northeast3
Singaporeasia-southeast1
Sydneyaustralia-southeast1
Taiwanasia-east1
Tokyoasia-northeast1

The following table lists the regions in Europe where Channel ServicesBigQuery data export is supported.

Region descriptionRegion name
Belgiumeurope-west1
Finlandeurope-north1
Frankfurteurope-west3
Londoneurope-west2
Netherlandseurope-west4
Warsaweurope-central2
Züricheurope-west6

Enable export

Before you enable the data export, note your fully-qualified dataset ID, whichis in the formatPROJECT_ID:DATASET_NAME.

Caution: If you haven't previouslyenabled Billing on the project, BigQuery may run in the sandbox mode, which maycause exports to behave unexpectedly. Learn aboutupgrading from the BigQuery sandbox .

To enable the Channel Services export:

  1. In the Partner Sales Console, open theBilling page.
  2. SelectBilling export.
  3. Enter the fully-qualified dataset ID in theRebilling dataset field.
  4. Select theData sources to export data for.
  5. ClickUpdate. If you see a prompt to update dataset permissions, clickUpdate.

UI for enabling Rebilling exports

After it's set up, the billing export delivers incremental usage data daily. Theexport table won't show up until the billing export runs for your account forthe first time. The dataset contains data from when it was first configured toretain data.

Warning: Don't modify exported datatables.

Modifying these tables can cause data exports to stop. Data added manually islost until you revert your changes or delete the table. If you want to blenddata from previous Cloud Billing exports to BigQuery, werecommend keeping the data in separate tables and using aUNIONquery instead.

To stop exporting rebilling cost data to the dataset, clickDisable billingdata export on theCustomer rebilling page. To re-enable exporting, followthe previous steps to specify a dataset ID.

Rebilling cost data may be unavailable for the duration it was disabled. If youdeleted any exported data during that time, we cannot backfill the deletedrecords.

Required service account permissions

The Channel Services data export uses a service account that is owned andmanaged by Google, and has permission to write billing records to a table. Theservice account is:

cloud-channel-billing-reporting-rebilling@system.gserviceaccount.com

This service account requires thepredefined role:roles/bigquery.dataEditor to allow exports. You can configure the permissions by following the steps toenable export.

Warning: Removing this serviceaccount while billing exports to BigQuery are enabled mightresult in lost data.

If you remove the service account, you must add the service account againor re-configure the dataset permission by clicking theUpdatebutton on theBilling export page. We can't backfill deletedor exported records if you remove exported data, or if you redirect your exportto a different dataset.

Query data efficiently

The BigQuery table is partitioned byexport_time and clusteredbypayer_billing_account_id by default. This means that the table is dividedinto smaller partitions, each of which is further divided into smaller clusters.Using the partition and cluster keysin a query will help BigQuery to quickly locate the relevant data, which cansignificantly reduce the cost of the query.

For example, this query is efficient compared to a query without partitioningand clustering keys:

SELECTbilling_account_idcurrency,invoice.month,-- Divide by currency_conversion_rate if converting non-USD to USD.SUM(cost)+SUM(IFNULL((SELECTSUM(c.amount)FROMUNNEST(credits)ASc),0))AStotalFROMPROJECT_ID.DATASET_NAME.reseller_billing_detailed_export_v1WHEREexport_timeBETWEENTIMESTAMP(START_DATE)ANDTIMESTAMP(END_DATE)ANDpayer_billing_account_idIN(PAYER_BILLING_ACCOUNT_IDS)GROUPBYbilling_account_id,currency,invoice.monthORDERBYbilling_account_id,currency,invoice.month;

For more information on partitioning, clustering, and best practices, see thefollowing links:

  1. Query Partitioned tables
  2. Query Clustered tables
  3. Optimize query computation
  4. Best Practices to control costs in BigQuery

Finding payer's billing account ID

To find the payer's billing account ID, open thebilling accounts page of thePartner Sales Consoleand click thePartner billing tab.

You can see all the billing accounts and the payer billing account ids.

Payer billing account Id

Setting up access controls for other users on the export dataset

There are multiple ways to set up access controls on the data inBigQuery export. For more information, see theBigQuery access controls.

To make sure that users only have access to data that they're authorized toview, we recommend setting upAuthorized views to share data from yourexported dataset.

Caution: Don't userow-level orcolumn-level access control on thedataset. Enabling these access control features causes the billing data exportto fail.

For continuous data export, when you set up permissions for users, make surethat the service accountcloud-channel-billing-reporting-rebilling@system.gserviceaccount.comalways has full editor access on the export dataset.

Table schema

Warning: Attempting to modify theexport schema yourself can result in data no longer getting exported. If youwant to add or remove columns, you can create aview or amaterialized view, or youcan join against your other tables in your queries.

If your table gets in this state, you must revert it back to having all ofthe correct columns and nothing else. Afterwards, you might need to go to theBilling export page and clickUpdate.

The following schema describes the data in the BigQuery table.

In your BigQuery dataset, the detailed rebilling export is loadedinto a data table namedreseller_billing_detailed_export_v1.

FieldTypeDescription
billing_account_idStringThe account ID that the usage is associated with, which may be the customer's or yours. Depending on the product family, this may be a billing account or a Cloud Identity.
payer_billing_account_idStringThe ID of your parent billing account.
invoice.monthStringThe year and month (YYYYMM) of the invoice that includes the cost line items. For example: "202101" is the same as January 2021.
cost_typeStringThe type of cost this line item represents: regular, tax, adjustment, or rounding error.
service.idStringThe ID of the service that the usage is associated with.
service.descriptionStringThe Google service that reported the billing data.
sku.idStringThe SKU ID of the resource used by the service.
sku.descriptionStringA description of the resource type used by the service. For example, Cloud Storage is of typeStandard Storage US.
usage_start_timeTimestampThe start time of the calculated cost's hourly usage window. The usage and costs for all services are displayed with hourly granularity. Long running service usage is spread across multiple hourly windows. For subscription products, this is the beginning of the billing month.
usage_end_timeTimestampThe end time of the calculated cost's hourly usage window. The usage and costs for all services are displayed with hourly granularity. Long running service usage is spread across multiple hourly windows. For subscription products, this is the end of the billing month.
projectStructInformation about the Google Cloud project that generated the Cloud Billing data.
project.numberStringAn internally-generated, anonymized, and unique identifier for the Google Cloud project that generated the Cloud Billing data.
project.idStringThe ID of the Google Cloud project that generated the Cloud Billing data.
project.nameStringThe name of the Google Cloud project that generated the Cloud Billing data.
project.labelsStruct, Repeated
project.labels.keyStringIf labels are present, thekey portion of the key:value pair.
project.labels.valueStringIf labels are present, thevalue portion of the key:value pair.
project.ancestry_numbersStringThe resource hierarchy ancestors for the project identified by theproject.id.
labelsStruct, Repeated
labels.keyStringIf labels are present, thekey portion of the key:value pair.
labels.valueStringIf labels are present, thevalue portion of the key:value pair.
system_labelsStruct, Repeated
system_labels.keyStringIf system labels are present, thekey portion of the key:value pair.
system_labels.valueStringIf system labels are present, thevalue portion of the key:value pair.
location.locationStringLocation of usage at the level of a country, region, or zone. Showsglobal for resources with no specific location. For more information, seeRegions and Zones.
location.countryStringWhenlocation.location is a country, region, or zone, this field is the country of usage. For example,US. For more information, seeRegions and Zones.
location.regionStringWhenlocation.location is a country or region, this field is the region of usage. For example,us-central1. For more information, seeRegions and Zones.
location.zoneStringWhenlocation.location is a zone, this field is the zone of usage. For example,us-central1-a. For more information, seeRegions and Zones.
resourceStructDescribes the structure and value of information relevant to service resources (for example, virtual machines or an SSD) that generate service usage.
resource.nameStringA service-specific identifier for the resource that generated relevant usage. Can be user-generated.
resource.global_nameStringA globally unique service identifier for the resource that generated relevant usage.
costNumericCost per the applicableconsumption model inclusive of any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
currencyStringThe cost's billing currency. For more information, seeLocal Currency for Billing and Payments.
currency_conversion_rateFloatThe exchange rate from US dollars to the local currency. That is,cost ÷currency_conversion_rate equals the cost in US dollars.
usage.amountNumericThe quantity ofusage.unit used.
usage.unitStringThe base unit for measuring resource usage. For example, the base unit for standard storage isbyte-seconds.
usage.amount_in_pricing_unitNumericThe quantity ofusage.pricing_unit usage.
usage.pricing_unitStringThe units for measuring resource usage.
creditsStruct, RepeatedContains fields that describe the structure and value of credits.
credits.idStringIf populated, indicates that a credit is associated with the product SKU.
credits.full_nameStringThe name of the credit associated with the product SKU.
credits.typeStringThis field describes the purpose or origin of thecredits.id.
credits.nameStringA description of the credit applied to the usage.
credits.amountNumericThe amount of the credit applied to the usage.
credits.channel_partner_amountNumericThe amount of the credit applied to the usage, after rebilling markups and discounts. Based on thechannel_partner_name and the associatedChannelPartnerRepricingConfig. Ifcredits.type is RESELLER_MARGIN, this amount will be zero.
credits.customer_amountNumericThe amount of the credit applied to the usage, after rebilling markups and discounts. Based on thecustomer_name and the associatedCustomerRepricingConfig. Ifcredits.type is RESELLER_MARGIN, this amount will be zero.
adjustmentsInfoStruct, RepeatedContains fields that describe the structure and value of an adjustment to cost line items.
adjustmentsInfo.adjustment_idStringIf populated, an adjustment is associated with a cost line item.adjustmentsInfo.adjustments_id is the unique ID for all the adjustments caused by an issue.
adjustmentsInfo.adjustment_descriptionStringA description of the adjustment and its cause.
adjustmentsInfo.adjustment_typeStringThe type of the adjustment.
adjustmentsInfo.adjustment_modeStringHow the adjustment was issued.
export_timeTimestampA processing time associated with an append of billing data. This will always increase with each new export. Use theexport_time column to understand when the exported billing data was last updated.
entitlement_nameStringThe resource name of the Cloud Channel APIEntitlement. Uses the format:accounts/{account}/customers/{customer}/entitlements/{entitlement}
channel_partner_nameString(Distributors only) The resource name of thechannel partner that is selling to the end customer. Uses the format:accounts/{account}/channelPartnerLinks/{channelPartner}.
channel_partner_costNumeric(Distributors only) The cost to the channel partner, identified bychannel_partner_name, after applying an existingChannelPartnerRepricingConfig.
customer_nameStringThe resource name of the reseller'scustomer who consumed this usage in the format accounts/{account}/customers/{customer}
customer_costNumericThe cost to the reseller's customer identified by thecustomer_name column, after applying theCustomerRepricingConfig, if one exists.
cost_at_listNumericCost at list price per the defaultconsumption model.
customer_repricing_config_nameStringThe resource name of the Cloud Channel APICustomerRepricingConfig. Uses the format:accounts/{account}/customers/{customer}/customerRepricingConfigs/{id}.Note: For Google Cloud, the first full month of data with this field is January 2023. This field is `NULL` if repricing is configured on Cloud Marketplace private offers.
channel_partner_repricing_config_nameString(Distributors only) The resource name of the Cloud Channel APIChannelPartnerRepricingConfig. Uses the format:accounts/{account}/channelPartnerLinks/{channelPartner}/channelPartnerRepricingConfigs/{id}.Note: For Google Cloud, the first full month of data with this field is January 2023.
tagsStructFields that describe the tag, such as key, value, and namespace.Note: For Google Cloud, the first full month of data with these tags is January 2023.
tags.keyStringThe short name or display name of the key associated with this particular tag.
tags.valueStringThe resources attached to a tag key. At any given time, exactly one value can be attached to a resource for a given key.
tags.inheritedBooleanIndicates whether a tag binding is inherited (Tags Inherited = True) or direct/non-inherited (Tags Inherited = False).
tags.namespaceStringRepresents the resource hierarchy that define tag key and values. Namespace can be combined with tag key and tag value short names to create a globally unique, fully qualified name for the tag key or tag value.
customer_correlation_idStringThe external CRM ID for thecustomer. Populated only if a CRM ID exists for this customer.Note: For Google Cloud, the first full month of data with this field is March 2023.
priceStructFields that describe the structure and values related to the prices charged for usage.Note: For Google Cloud, the first full month of data with price fields is May 2023.
price.effective_priceNumericSKU price per the applicableconsumption model inclusive of any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
price.tier_start_amountNumericThe lower bound number of units for a SKU's pricing tier. For more information, seeAbout pricing tiers.
price.unitStringThe unit of usage in which the pricing is specified and resource usage is measured.
price.pricing_unit_quantityNumericThe lower bound number of units for a SKU's pricing tier. For more information, seeAbout pricing tiers.
price.list_priceNumericSKU list price per the defaultconsumption model.
price.effective_price_defaultNumericSKU price per the defaultconsumption model inclusive of any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
price.list_price_consumption_modelNumericSKU list price per the applicableconsumption model before any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
transaction_typeStringThe transaction type of the seller. The transaction type might be one of the following:
  • GOOGLE = 1: Services sold by Google Cloud.
  • THIRD_PARTY_RESELLER = 2: Third party services resold by Google Cloud.
  • THIRD_PARTY_AGENCY = 3: Third party services sold by a partner, with Google Cloud acting as the agent.
Note: For Google Cloud, the first full month of data with this field is August 2023.
seller_nameStringThe legal name of the seller.Note: For Google Cloud, the first full month of data with this field is August 2023.
subscriptionStructFields that describe your spend-based or resource-based commitments. You can use these fields to analyze your fees for specific commitments.
subscription.instance_idStringThe subscription ID linked to a commitment.Note: For Google Cloud, the first full month of data with price fields is February 2024.
cost_at_effective_price_defaultNumericCost per the defaultconsumption model inclusive of any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
cost_at_list_consumption_modelNumericCost per the applicableconsumption model before any negotiated discounts reflected in the custom pricing in the contract linked to your Cloud Billing account (if applicable).
consumption_modelStructFields that describe the applicableconsumption model.
consumption_model.idStringThe ID of theconsumption model.
consumption_model.descriptionStringThe description of theconsumption model.

Additional notes on the schema

There are a few additional notes on the schema.

Columns not applicable to Google Workspace

When a column or field doesn't apply to a Product Family, the exported data forthis product family containsnull in this field. The following fields don'tapply to Google Workspace exports:

  • project
  • labels
  • resource
  • credits
  • adjustmentsInfo
  • customer_repricing_config_name
  • channel_partner_repricing_config_name
  • tags
  • price.effective_price
  • price.tier_start_amount
  • price.list_price
  • price.effective_price_default
  • price.list_price_consumption_model
  • transaction_type
  • seller_name
  • consumption_model

Columns not applicable to Google Workspace Consumptive SKUs

When a column or field doesn't apply to a Product Family, the exported data forthis product family containsnull in this field. The following fields don'tapply to Google Workspace exports:

  • service.id
  • sku.id
  • project
  • labels
  • resource
  • customer_repricing_config_name
  • channel_partner_repricing_config_name
  • tags
  • price.effective_price
  • price.tier_start_amount
  • transaction_type
  • seller_name
  • subscription

Columns not applicable to offline orders (preview)

When a column or field doesn't apply to a Product Family, the exported data forthis product family containsnull in this column or field. The followingcolumns or fields don't apply to offline order billing exports:

  • project
  • labels
  • system_labels
  • location
  • resource
  • credits
  • entitlement_name
  • channel_partner_name
  • channel_partner_cost
  • customer_name
  • customer_cost
  • cost_at_list
  • customer_repricing_config_name
  • channel_partner_repricing_config_name
  • tags
  • price.effective_price
  • price.tier_start_amount
  • price.list_price
  • price.effective_price_default
  • price.list_price_consumption_model
  • transaction_type
  • seller_name
  • consumption_model

Other notes about Google Workspace export

There are several special behaviors with Google Workspace exports:

  • Google Workspace data doesn't contain the reseller's own usage.
  • Whencost_type istax andadjustment,usage.amount_in_pricing_unitsis always 1.
  • On Google Workspace invoices, taxes are shown as one line-item. Inthe export, taxes are broken down by customer. While the total tax shouldmatch the invoice, individual taxes might contain minor roundinginaccuracies.

billing_account_id

  • For Google Cloud, this is the Cloud Billing account that theusage is associated with.
  • For Google Workspace, this is the Cloud Identity of thecustomer.
  • For offline orders, this is name of the customer.

service andsku

For Google Workspace, these columns represent the "Product" and "SKU"associated with the usage.Learn more about Product & SKU IDs .

For Google Workspace consumptive SKUs (Google Voice andDrive), thesku.id andservice.id columns containnull.

Note: For legacy Google Drive SKUs,sku.description may not match the"Subscription" column in the invoice CSV (for example, the CSV shows "GoogleDrive storage 20 GB" butsku.description shows20 GB). This is expected forlegacy Google Drive SKUs. This value can be found on thePartner Sales Console. Navigate to a specific Customer, click the legacysubscription, and click "See payment plan". You should then see values thatcorrespond tosku.description.

usage_start_time andusage_end_time

In the Google Workspace invoice CSV, this is represented as dates. Inthe exports, these are represented as timestamps:

  • Forusage_start_time, this is the start time (inclusive) of thesubscription, at 0:00 PST on the start date.
  • Forusage_end_time, this is the end time (exclusive) of the subscription,at 0:00 PST onthe day after the end date.

project.labels

For Google Cloud, these are the key:value pairs on theGoogle Cloud project where the usage occurred. For more information, seeUsing Labels .

labels

For Google Cloud, these are the key:value pairs on the Google Cloudresource where the usage occurred. For more information, seeUsing Labels .

system_labels

  • For Google Cloud, these are the key:value pairs on theGoogle Cloud resource where the usage occurred. For more information,seeAvailable system labels.

  • For Google Workspace, these are additional metadata regarding thecost, which includes:

    • workspace.googleapis.com/domain_name: The domain name of the customer.
    • workspace.googleapis.com/order_id: The order ID.
    • workspace.googleapis.com/purchase_order_id: The purchase order (PO)ID.
    • workspace.googleapis.com/subscription_id: The subscription ID.
    • workspace.googleapis.com/usage_type: The type of usage. Not applicableifcost_type isn'tregular.
Note: For Google Workspace consumptive SKUs Google Voice andDrive), onlyworkspace.googleapis.com/domain_name andworkspace.googleapis.com/subscription_id are populated.

The Google Workspace usage types include:

  • COMMITMENT_TERM_START_ITEM: Beginning of a subscription. Typicallyassociated with a partial month for a monthly billed commitment subscriptionand for the billing or contract period for a prepaid subscription.
  • COMMITMENT_TERM_END_ITEM: End of a subscription. Typically associated withthe last month charges of a monthly billed commitment subscription.
  • COMMITMENT_TERM_RENEWAL_ITEM: Start of a follow-on subscription period.
  • COMMITMENT_MONTHLY_ITEM: Usage recorded for commitments existing at thestart of the month. In most cases, the charge will extend throughout theentire month.
  • COMMITMENT_SEATS_CHANGE_ITEM: Recorded when the commitment level changes(either increase or decrease). Often starts mid-month and extends to the endof the month for a monthly billed commitment subscription or until the endof the billing or contract period for a prepaid subscription.
  • COMMITMENT_CANCEL_ITEM: Recorded when a subscription is cancelled.Includes charges associated with early termination. Represents either acharge for the remainder of the contract period when contract is cancelledmid-way or a credit issued for the remainder of the billing period when acontracted is changed or cancelled mid-way.
  • FLEXIBLE_SEATS_ITEM: Records usage by for some number of users for acontiguous block of some number of days. Only intended for users without acommitment.
  • COUPON_DISCOUNT_ITEM: Discount amount associated with a coupon.
  • MIGRATED_CREDIT_ITEM: Credit from postini migration.
  • COMMITMENT_PREPAY_BILLING_PERIOD_ITEM: Represents a usage info that iscreated at the start of the payment cycle for the entire cycle for acommitment prepay subscription.

usage.amount

For Google Workspace seat-based usage, this indicates paid seats. Forexample, committed seats for commitments or number of seats paid for flex.

For Google Workspace consumptive SKUs (Google Voice andDrive), this is the number of minutes used.

usage.pricing_unit

credits.id

For Google Cloud, this is either an alphanumeric unique identifier(12-b34-c56-d78), or a description of the credit type(Committed Usage Discount: CPU ). If thecredits.id field is empty, the product SKU isn't associated with acredit.

credits.full_name

For Google Cloud, this is a human-readable description of analphanumericcredits.id. Examples includeFree trial credit orSpend-based committed use discount .credits.full_name values are only populated for SKUs with analphanumericcredits.id. If the value ofcredits.id is a description of the credit type(such asCommitted Usage Discount: CPU ), then thecredits.full_name field will be empty.

credits.type

For Google Cloud, credit types include:

  • COMMITTED_USAGE_DISCOUNT:Resource-based committed use contracts purchased for Compute Engine inreturn for deeply discounted prices for VM usage.
  • COMMITTED_USAGE_DISCOUNT_DOLLAR_BASE :Spend-based committed use contracts purchased for services in exchange foryour commitment to spend a minimum amount.
  • DISCOUNT: The discount credit type is used for credits earned after acontractual spending threshold is reached. Note that in theCloud Billing reports available in thePartner Sales Console, the discount credit type is listed asSpending based discounts (contractual).
  • FREE_TIER :Some services offerfree resource usage up to specified limits For these services, credits are applied to implement the free tier usage.
  • PROMOTION: The promotion credit type includesGoogle Cloud Free Trial and marketing campaign credits, or other grants to use Google Cloud.When available, promotional credits are considered a form of payment and areautomatically applied to reduce your total bill.
  • RESELLER_MARGIN: If you are a reseller, thereseller margincredit type indicates the Reseller Program Discounts earned on everyeligible line item.
  • SUBSCRIPTION_BENEFIT: Credits earned by purchasing long-term subscriptionsto services in exchange for discounts.
  • SUSTAINED_USAGE_DISCOUNT :The sustained use discounts credit type is an automatic discount that youearn for running specific Compute Engine resources for a significantportion of the billing month.

adjustmentsInfo

For Google Cloud, these values are only populated if the cost line itemwas generated for a Cloud Billing modification. TheadjustmentsInfotype contains details about the adjustment, whether it was issued for correctingan error or other reasons.

adjustmentsInfo.adjustment_type

For Google Cloud, this includes:

  • USAGE_CORRECTION: A correction due to incorrect reported usage.
  • PRICE_CORRECTION: A correction due to incorrect pricing rules.
  • METADATA_CORRECTION: A correction to fix metadata without changing thecost.
  • GOODWILL: A credit issued to the customer for goodwill.
  • SALES_BASED_GOODWILL: A credit issued to the customer for goodwill, aspart of a contract.
  • SLA_VIOLATION: A credit issued to the customer due to a service-levelobjective (SLO) violation.
  • BALANCE_TRANSFER: An adjustment to transfer funds from one payment accountto another.
  • ACCOUNT_CLOSURE: An adjustment to bring a closed account to a zerobalance.
  • GENERAL_ADJUSTMENT: A general Cloud Billing account modification.

adjustmentsInfo.adjustment_mode

For Google Cloud, this includes:

  • PARTIAL_CORRECTION: The correction partially negates the original usageand cost.
  • COMPLETE_NEGATION_WITH_REMONETIZATION: The correction fully negates theoriginal usage and cost, and issues corrected line item(s) with updatedusage and cost.
  • COMPLETE_NEGATION: The correction fully negates the original usage andcost, and no further usage is remonetized.
  • MANUAL_ADJUSTMENT: The adjustment is allocated to cost and usage manually.

price.effective_price

For Google Cloud, this is the price charged for usage of theGoogle Cloud or Google Maps Platform SKUs and SKUpricing tiers.If your Cloud Billing account has custom contract pricing, this priceis specific to your Cloud Billing. Otherwise, this is thelist price of the SKU or SKU tier.

Except as otherwise noted, the content of this page is licensed under theCreative Commons Attribution 4.0 License, and code samples are licensed under theApache 2.0 License. For details, see theGoogle Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.

Last updated 2026-02-19 UTC.