Runcost

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.

ColumnTypeWhat it holds
BillingAccountIdstringThe identifier of the billing account the charge was invoiced to: the account, agreement or profile that receives the invoice and pays it.
BillingAccountNamestringThe 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.
BillingAccountTypestring, from a small set of valuesThe 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.
SubAccountIdstringThe 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.
SubAccountNamestringThe display name of the sub-account: the member account name, the subscription name or the project name as shown in the provider console.
SubAccountTypestring, from a small set of valuesThe 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.

ColumnTypeWhat it holds
BillingPeriodStarttimestamp (UTC)The inclusive start of the billing period the row belongs to: the interval, normally a calendar month, that a single invoice covers.
BillingPeriodEndtimestamp (UTC)The exclusive end of the billing period: the first instant that belongs to the next period.
ChargePeriodStarttimestamp (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.
ChargePeriodEndtimestamp (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.

ColumnTypeWhat it holds
ChargeCategorystring, from a small set of valuesThe 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.
ChargeClassstring, from a small set of valuesMarks a row as a Correction when it revises a charge from an earlier period, rather than a first-time charge.
ChargeFrequencystring, from a small set of valuesHow 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.
ChargeDescriptionstringA 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.

ColumnTypeWhat it holds
BilledCostdecimal amountThe 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.
EffectiveCostdecimal amountThe 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.
ListCostdecimal amountWhat the row would have cost at the provider’s public list price, before any negotiated, commitment or promotional discount.
ContractedCostdecimal amountThe cost of the row at the price the organization negotiated in its contract with the provider, before commitment discounts are applied.
BillingCurrencycurrency 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.

ColumnTypeWhat it holds
PricingCategorystring, from a small set of valuesThe 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.
PricingQuantitydecimal amountThe 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.
PricingUnitstring, from a small set of valuesThe unit in which the charge was priced, such as hours, gigabyte-months or requests, matching PricingQuantity.
PricingCurrencycurrency 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.
ListUnitPricedecimal amountThe provider’s public list price for one pricing unit of the charge, in the billing currency, before any discount.
ContractedUnitPricedecimal amountThe negotiated price for one pricing unit of the charge under the organization’s contract with the provider, in the billing currency, before commitment discounts.
PricingCurrencyEffectiveCostdecimal amountEffectiveCost expressed in the pricing currency rather than the billing currency.
PricingCurrencyListUnitPricedecimal amountThe list unit price expressed in the pricing currency, the currency of the provider’s price list, rather than the billing currency.
PricingCurrencyContractedUnitPricedecimal amountThe 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.

ColumnTypeWhat it holds
ConsumedQuantitydecimal amountHow 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.
ConsumedUnitstring, from a small set of valuesThe 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.

ColumnTypeWhat it holds
ServiceProviderNamestring, from a small set of valuesThe name of the entity that provides the service being charged for.
ServiceCategorystring, from a small set of valuesThe 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.
ServiceSubcategorystring, from a small set of valuesA 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.
ServiceNamestring, from a small set of valuesThe provider’s own name for the service the charge belongs to, as a customer would recognize it in the console and on the invoice.
HostProviderNamestring, from a small set of valuesThe 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.
InvoiceIssuerNamestring, from a small set of valuesThe name of the entity that issued the invoice the charge appears on.
PublisherNamestring, from a small set of valuesThe 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.

ColumnTypeWhat it holds
ResourceIdstringThe provider-assigned identifier of the specific resource the charge relates to: an instance id, a storage account or bucket, a database, a cluster.
ResourceNamestringThe display name of the resource, as given by the person who created it, distinct from the provider-assigned id.
ResourceTypestring, from a small set of valuesThe provider’s classification of the resource, such as a virtual machine, a disk, a bucket or a database instance.
CapacityReservationIdstringThe identifier of the capacity reservation the charge relates to.
CapacityReservationStatusstring, from a small set of valuesWhether 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.

ColumnTypeWhat it holds
RegionIdstring, from a small set of valuesThe provider’s identifier for the region the resource ran in, in the provider’s own code form.
RegionNamestring, from a small set of valuesThe human-readable name of the region, as the provider labels it in its console, paired with RegionId.
AvailabilityZonestring, from a small set of valuesThe 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.

ColumnTypeWhat it holds
SkuIdstringThe 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.
SkuPriceIdstringThe identifier of the specific price applied to the SKU on this row, which can vary within one SKU by pricing tier, term or agreement.
SkuMeterstringThe provider’s name for the meter that measured the charge, a short description of what was counted for this SKU.
SkuPriceDetailsstringAdditional 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.

ColumnTypeWhat it holds
CommitmentDiscountIdstringThe identifier of the commitment discount that applied to the charge: a reservation, a savings plan or a committed-use discount.
CommitmentDiscountNamestringThe display name of the commitment discount, as given when it was bought, paired with CommitmentDiscountId.
CommitmentDiscountTypestring, from a small set of valuesThe provider’s own name for the kind of commitment discount, such as Reserved Instance, Savings Plan, Reservation or Committed Use Discount.
CommitmentDiscountCategorystring, from a small set of valuesThe 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.
CommitmentDiscountStatusstring, from a small set of valuesFor rows that relate to a commitment, whether the committed amount was Used by matching usage or left Unused in the charge period.
CommitmentDiscountQuantitydecimal amountThe 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.
CommitmentDiscountUnitstring, from a small set of valuesThe unit of CommitmentDiscountQuantity: the resource unit for a usage commitment or the currency for a spend commitment.
ContractAppliedstring, from a small set of valuesWhether 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.

ColumnTypeWhat it holds
AllocatedMethodIdstringAn identifier for the method by which the provider itself allocated a shared charge to this row, where the provider performs allocation before export.
AllocatedMethodDetailsstringDetail about the provider’s allocation method for the row, such as the driver or proportion used, accompanying AllocatedMethodId.
AllocatedResourceIdstringThe identifier of the resource a provider-allocated charge was attributed to, when the provider split a shared charge across the resources that consumed it.
AllocatedResourceNamestringThe 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.

ColumnTypeWhat it holds
InvoiceIdstringThe identifier of the invoice the charge was billed on, as issued by the invoice issuer.
InvoiceDetailIdstringThe identifier of the line within the invoice that the charge belongs to, as carried in the platform’s FOCUS 1.4 contract.

Tags

The key/value metadata attached to the resource or the charge.

ColumnTypeWhat it holds
Tagsmap of keys to valuesThe key/value metadata attached to the resource or the charge, as a map of tag keys to values.