Reference
64 columns in 14 groups, updated .
The FOCUS columns, one page each.
FOCUS, the FinOps Open Cost and Usage Specification, gives cloud billing data one schema across providers. This reference documents each column as Runcost ingests it: what it means, its type, which export column feeds it on AWS, Azure and Google Cloud, a worked example, and how the platform uses it. It is generated from the platform’s own column contract and provider rules, so it describes what actually runs.
Accounts
Who is billed and which sub-account, subscription or project the charge sits in.
| Column | Type | What it holds |
|---|---|---|
| BillingAccountId | string | The identifier of the billing account the charge was invoiced to: the account, agreement or profile that receives the invoice and pays it. |
| BillingAccountName | string | The display name of the billing account, as the provider shows it in its own console: a human-readable label for the same entity that BillingAccountId identifies. |
| BillingAccountType | string, from a small set of values | The provider’s own term for what kind of entity the billing account is, so a reader knows whether an id refers to a payer account, a billing profile, an enterprise agreement or a cloud billing account. |
| SubAccountId | string | The identifier of the sub-account within the billing account that the charge belongs to: an AWS member account, an Azure subscription or a Google Cloud project. |
| SubAccountName | string | The display name of the sub-account: the member account name, the subscription name or the project name as shown in the provider console. |
| SubAccountType | string, from a small set of values | The provider’s term for what kind of entity the sub-account is, such as an account, a subscription or a project. |
Periods
The billing period the invoice covers and the charge period each row spans.
| Column | Type | What it holds |
|---|---|---|
| BillingPeriodStart | timestamp (UTC) | The inclusive start of the billing period the row belongs to: the interval, normally a calendar month, that a single invoice covers. |
| BillingPeriodEnd | timestamp (UTC) | The exclusive end of the billing period: the first instant that belongs to the next period. |
| ChargePeriodStart | timestamp (UTC) | The inclusive start of the interval the individual charge covers, which is finer than the billing period: an hour, a day or the usage window of one line item. |
| ChargePeriodEnd | timestamp (UTC) | The exclusive end of the charge period. |
Charge
What kind of charge a row is: usage, purchase, tax, credit or adjustment, and how often it recurs.
| Column | Type | What it holds |
|---|---|---|
| ChargeCategory | string, from a small set of values | The high-level kind of charge a row represents, from a fixed set: Usage for consumption, Purchase for an upfront or one-time buy such as a reservation, Tax, Credit for money returned, and Adjustment for corrections. |
| ChargeClass | string, from a small set of values | Marks a row as a Correction when it revises a charge from an earlier period, rather than a first-time charge. |
| ChargeFrequency | string, from a small set of values | How often a charge recurs: One-Time for a single purchase, Recurring for a fixed periodic fee such as a support plan or a monthly reservation payment, and Usage-Based for charges that scale with consumption. |
| ChargeDescription | string | A free-text, human-readable description of the charge as the provider phrases it, intended for a reader rather than for grouping. |
Costs
The four cost views: billed, effective, list and contracted, and the currency they are in.
| Column | Type | What it holds |
|---|---|---|
| BilledCost | decimal amount | The amount actually invoiced for the row in the billing currency: cash, as the provider charged it, after negotiated discounts and credits but with upfront purchases shown when they were bought rather than spread over time. |
| EffectiveCost | decimal amount | The amortized cost of the row: the billed amount with upfront and recurring commitment purchases spread over the usage they cover, so that discounted usage carries its share of the commitment and the purchase row itself is not double-counted. |
| ListCost | decimal amount | What the row would have cost at the provider’s public list price, before any negotiated, commitment or promotional discount. |
| ContractedCost | decimal amount | The cost of the row at the price the organization negotiated in its contract with the provider, before commitment discounts are applied. |
| BillingCurrency | currency code (ISO 4217) | The ISO 4217 code of the currency the row was invoiced in, which is the currency of BilledCost, EffectiveCost, ListCost and ContractedCost. |
Pricing
How the charge was priced: the category, the quantity and unit priced, and the unit prices.
| Column | Type | What it holds |
|---|---|---|
| PricingCategory | string, from a small set of values | The pricing model that applied to the charge, from a fixed set: Standard for on-demand list pricing, Committed for usage covered by a reservation, savings plan or committed-use discount, Dynamic for market-driven prices such as spot or preemptible capacity, and Other. |
| PricingQuantity | decimal amount | The quantity of the pricing unit the charge was priced on, which can differ from the consumed quantity when the provider prices in a different unit or in tiers. |
| PricingUnit | string, from a small set of values | The unit in which the charge was priced, such as hours, gigabyte-months or requests, matching PricingQuantity. |
| PricingCurrency | currency code (ISO 4217) | The ISO 4217 code of the currency the provider’s price list is expressed in, which can differ from the billing currency when an organization is billed in a local currency against a price list in another. |
| ListUnitPrice | decimal amount | The provider’s public list price for one pricing unit of the charge, in the billing currency, before any discount. |
| ContractedUnitPrice | decimal amount | The negotiated price for one pricing unit of the charge under the organization’s contract with the provider, in the billing currency, before commitment discounts. |
| PricingCurrencyEffectiveCost | decimal amount | EffectiveCost expressed in the pricing currency rather than the billing currency. |
| PricingCurrencyListUnitPrice | decimal amount | The list unit price expressed in the pricing currency, the currency of the provider’s price list, rather than the billing currency. |
| PricingCurrencyContractedUnitPrice | decimal amount | The contracted unit price expressed in the pricing currency rather than the billing currency, so the negotiated price can be compared with the provider’s price list in the currency the contract was negotiated in. |
Usage
What was consumed and in what unit, independent of how it was priced.
| Column | Type | What it holds |
|---|---|---|
| ConsumedQuantity | decimal amount | How much of the resource was actually consumed in the charge period, in the consumed unit: the usage measure independent of how the provider chose to price it. |
| ConsumedUnit | string, from a small set of values | The unit of ConsumedQuantity, such as hours, gigabytes, requests or tokens. |
Service
The service, its category and the parties that provide, host, publish and invoice it.
| Column | Type | What it holds |
|---|---|---|
| ServiceProviderName | string, from a small set of values | The name of the entity that provides the service being charged for. |
| ServiceCategory | string, from a small set of values | The FOCUS-normalized top-level category of the service, from a fixed list shared across providers: Compute, Storage, Databases, Networking, Analytics, AI and Machine Learning, Security and so on. |
| ServiceSubcategory | string, from a small set of values | A finer FOCUS-normalized classification within the service category, such as Virtual Machines, Containers or Serverless under Compute, or Object Storage and Block Storage under Storage. |
| ServiceName | string, from a small set of values | The provider’s own name for the service the charge belongs to, as a customer would recognize it in the console and on the invoice. |
| HostProviderName | string, from a small set of values | The name of the provider whose infrastructure the service ran on, which differs from the service provider when a service is offered by one party and hosted by another, as with a marketplace product deployed into the customer’s cloud account or a managed service resold through a partner. |
| InvoiceIssuerName | string, from a small set of values | The name of the entity that issued the invoice the charge appears on. |
| PublisherName | string, from a small set of values | The name of the entity that produced the product or service being charged for, which for marketplace purchases is the software vendor and for native services is the provider itself. |
Resource
The specific resource the charge relates to, and any capacity reservation behind it.
| Column | Type | What it holds |
|---|---|---|
| ResourceId | string | The provider-assigned identifier of the specific resource the charge relates to: an instance id, a storage account or bucket, a database, a cluster. |
| ResourceName | string | The display name of the resource, as given by the person who created it, distinct from the provider-assigned id. |
| ResourceType | string, from a small set of values | The provider’s classification of the resource, such as a virtual machine, a disk, a bucket or a database instance. |
| CapacityReservationId | string | The identifier of the capacity reservation the charge relates to. |
| CapacityReservationStatus | string, from a small set of values | Whether the charge represents reserved capacity that was used by a running resource or capacity that was reserved and left idle. |
Location
Where the resource ran: region and availability zone.
| Column | Type | What it holds |
|---|---|---|
| RegionId | string, from a small set of values | The provider’s identifier for the region the resource ran in, in the provider’s own code form. |
| RegionName | string, from a small set of values | The human-readable name of the region, as the provider labels it in its console, paired with RegionId. |
| AvailabilityZone | string, from a small set of values | The availability zone within the region the resource ran in, where the provider reports it. |
SKU
The provider’s stock-keeping unit and price identifiers, and their descriptive details.
| Column | Type | What it holds |
|---|---|---|
| SkuId | string | The provider’s identifier for the stock-keeping unit: the specific product offering that was consumed, such as a particular instance type in a particular region under a particular operating system. |
| SkuPriceId | string | The identifier of the specific price applied to the SKU on this row, which can vary within one SKU by pricing tier, term or agreement. |
| SkuMeter | string | The provider’s name for the meter that measured the charge, a short description of what was counted for this SKU. |
| SkuPriceDetails | string | Additional provider-specific detail about the price applied to the SKU, such as the product name, the pricing tier or the plan, as free text or structured detail. |
Commitment discounts
Reservations, savings plans and committed-use discounts, and their status on each charge.
| Column | Type | What it holds |
|---|---|---|
| CommitmentDiscountId | string | The identifier of the commitment discount that applied to the charge: a reservation, a savings plan or a committed-use discount. |
| CommitmentDiscountName | string | The display name of the commitment discount, as given when it was bought, paired with CommitmentDiscountId. |
| CommitmentDiscountType | string, from a small set of values | The provider’s own name for the kind of commitment discount, such as Reserved Instance, Savings Plan, Reservation or Committed Use Discount. |
| CommitmentDiscountCategory | string, from a small set of values | The FOCUS-normalized category of the commitment: Spend for commitments to a spend amount per hour or month, such as savings plans, and Usage for commitments to a quantity of a resource, such as reservations. |
| CommitmentDiscountStatus | string, from a small set of values | For rows that relate to a commitment, whether the committed amount was Used by matching usage or left Unused in the charge period. |
| CommitmentDiscountQuantity | decimal amount | The quantity of the commitment that the row represents, in the commitment’s own unit: hours of an instance for a usage commitment, or an amount of spend for a spend commitment. |
| CommitmentDiscountUnit | string, from a small set of values | The unit of CommitmentDiscountQuantity: the resource unit for a usage commitment or the currency for a spend commitment. |
| ContractApplied | string, from a small set of values | Whether a negotiated contract rate was applied to the charge, as carried in the platform’s FOCUS 1.4 contract. |
Provider allocation
Allocation the provider itself performed, such as a shared charge split by the provider.
| Column | Type | What it holds |
|---|---|---|
| AllocatedMethodId | string | An identifier for the method by which the provider itself allocated a shared charge to this row, where the provider performs allocation before export. |
| AllocatedMethodDetails | string | Detail about the provider’s allocation method for the row, such as the driver or proportion used, accompanying AllocatedMethodId. |
| AllocatedResourceId | string | The identifier of the resource a provider-allocated charge was attributed to, when the provider split a shared charge across the resources that consumed it. |
| AllocatedResourceName | string | The display name of the resource a provider-allocated charge was attributed to, paired with AllocatedResourceId, so a provider-split share can be read without decoding an identifier. |
Invoice
The invoice and invoice line a charge was billed on.
| Column | Type | What it holds |
|---|---|---|
| InvoiceId | string | The identifier of the invoice the charge was billed on, as issued by the invoice issuer. |
| InvoiceDetailId | string | The identifier of the line within the invoice that the charge belongs to, as carried in the platform’s FOCUS 1.4 contract. |