FOCUS Billing Record

JSON Schema representation of a single row in a FOCUS-conformant billing dataset. FOCUS (FinOps Open Cost and Usage Specification) is an open standard maintained under the FinOps Foundation that normalizes cost and usage data across cloud, SaaS, data center, and other technology vendors. This schema lists the normative columns defined by the FOCUS specification and reflects the column attributes (data type, nullability, requirement level) defined in the FOCUS data model. The full normative definitions live at https://focus.finops.org/ and in the FOCUS_Spec repository.

BillingCost and UsageFinOpsOpen StandardSpecification

Properties

Name Type Description
AvailabilityZone stringnull Provider-assigned identifier for an isolated location within a region.
BilledCost number Amount on the invoice for the billing period before amortization, in BillingCurrency.
BillingAccountId string Provider-assigned identifier for the account that receives the invoice.
BillingAccountName stringnull Display name for the BillingAccountId.
BillingCurrency string ISO 4217 currency code in which costs are denominated.
BillingPeriodEnd string Exclusive end of the billing period.
BillingPeriodStart string Inclusive start of the billing period.
ChargeCategory string Highest-level classification of a charge.
ChargeClass stringnull Indicates whether a charge represents a correction to a previously invoiced billing period.
ChargeDescription stringnull Provider-supplied human-readable summary of the charge.
ChargeFrequency stringnull Frequency at which a charge is incurred.
ChargePeriodEnd string Exclusive end of the period over which the charge was incurred.
ChargePeriodStart string Inclusive start of the period over which the charge was incurred.
CommitmentDiscountCategory stringnull Whether a commitment-based discount is denominated in spend or usage units.
CommitmentDiscountId stringnull Provider-assigned identifier for the commitment-based discount applied to the charge.
CommitmentDiscountName stringnull Display name for the CommitmentDiscountId.
CommitmentDiscountStatus stringnull Whether the commitment-based discount was used or unused for the charge.
CommitmentDiscountType stringnull Provider-defined type of commitment-based discount (e.g. Reserved Instance, Savings Plan).
ConsumedQuantity numbernull Volume of a metered service consumed, in ConsumedUnit.
ConsumedUnit stringnull Provider-defined unit of measurement for ConsumedQuantity.
ContractedCost number Cost based on negotiated rates excluding negotiated discounts, in BillingCurrency.
ContractedUnitPrice numbernull Per-unit price at negotiated rates, in BillingCurrency per PricingUnit.
EffectiveCost number Amortized cost of the charge after applying upfront and recurring commitment fees, in BillingCurrency.
InvoiceIssuerName string Entity responsible for invoicing the consumer.
ListCost number Cost based on public list prices, in BillingCurrency.
ListUnitPrice numbernull Per-unit price at public list rates, in BillingCurrency per PricingUnit.
PricingCategory stringnull Pricing model used to compute the cost of the charge.
PricingQuantity numbernull Quantity priced for this charge, in PricingUnit.
PricingUnit stringnull Provider-defined unit of measurement used for pricing.
ProviderName string Entity providing the resources or services.
PublisherName string Entity that produced the resources or services.
RegionId stringnull Provider-assigned identifier for an isolated geographic area.
RegionName stringnull Display name for the RegionId.
ResourceId stringnull Provider-assigned identifier for a billable resource.
ResourceName stringnull Display name of the ResourceId.
ResourceType stringnull Provider-defined type of resource.
ServiceCategory string FOCUS top-level service category (e.g. Compute, Storage, Networking, AI and Machine Learning).
ServiceName string Provider-defined service name.
ServiceSubcategory stringnull FOCUS service subcategory within the parent ServiceCategory.
SkuId stringnull Provider-assigned identifier for the SKU charged.
SkuMeter stringnull Provider-defined description of what is metered by the SKU.
SkuPriceDetails objectnull Structured object capturing additional pricing attributes specific to the SKU.
SkuPriceId stringnull Provider-assigned identifier for the SKU's specific price.
SubAccountId stringnull Provider-assigned identifier for a sub-account, project, or grouping below the BillingAccountId.
SubAccountName stringnull Display name for the SubAccountId.
Tags objectnull Set of user- or provider-defined tag key/value pairs applied to the charge.
x_CostCategory stringnull Implementation-defined extension column. FOCUS reserves the x_ prefix for non-normative provider extensions.
View JSON Schema on GitHub

JSON Schema

focus-billing-record-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/focus-spec/refs/heads/main/json-schema/focus-billing-record-schema.json",
  "title": "FOCUS Billing Record",
  "description": "JSON Schema representation of a single row in a FOCUS-conformant billing dataset. FOCUS (FinOps Open Cost and Usage Specification) is an open standard maintained under the FinOps Foundation that normalizes cost and usage data across cloud, SaaS, data center, and other technology vendors. This schema lists the normative columns defined by the FOCUS specification and reflects the column attributes (data type, nullability, requirement level) defined in the FOCUS data model. The full normative definitions live at https://focus.finops.org/ and in the FOCUS_Spec repository.",
  "type": "object",
  "additionalProperties": true,
  "properties": {
    "AvailabilityZone": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for an isolated location within a region."
    },
    "BilledCost": {
      "type": "number",
      "description": "Amount on the invoice for the billing period before amortization, in BillingCurrency."
    },
    "BillingAccountId": {
      "type": "string",
      "description": "Provider-assigned identifier for the account that receives the invoice."
    },
    "BillingAccountName": {
      "type": ["string", "null"],
      "description": "Display name for the BillingAccountId."
    },
    "BillingCurrency": {
      "type": "string",
      "description": "ISO 4217 currency code in which costs are denominated."
    },
    "BillingPeriodEnd": {
      "type": "string",
      "format": "date-time",
      "description": "Exclusive end of the billing period."
    },
    "BillingPeriodStart": {
      "type": "string",
      "format": "date-time",
      "description": "Inclusive start of the billing period."
    },
    "ChargeCategory": {
      "type": "string",
      "enum": ["Usage", "Purchase", "Tax", "Credit", "Adjustment"],
      "description": "Highest-level classification of a charge."
    },
    "ChargeClass": {
      "type": ["string", "null"],
      "enum": ["Correction", null],
      "description": "Indicates whether a charge represents a correction to a previously invoiced billing period."
    },
    "ChargeDescription": {
      "type": ["string", "null"],
      "description": "Provider-supplied human-readable summary of the charge."
    },
    "ChargeFrequency": {
      "type": ["string", "null"],
      "enum": ["One-Time", "Recurring", "Usage-Based", null],
      "description": "Frequency at which a charge is incurred."
    },
    "ChargePeriodEnd": {
      "type": "string",
      "format": "date-time",
      "description": "Exclusive end of the period over which the charge was incurred."
    },
    "ChargePeriodStart": {
      "type": "string",
      "format": "date-time",
      "description": "Inclusive start of the period over which the charge was incurred."
    },
    "CommitmentDiscountCategory": {
      "type": ["string", "null"],
      "enum": ["Spend", "Usage", null],
      "description": "Whether a commitment-based discount is denominated in spend or usage units."
    },
    "CommitmentDiscountId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for the commitment-based discount applied to the charge."
    },
    "CommitmentDiscountName": {
      "type": ["string", "null"],
      "description": "Display name for the CommitmentDiscountId."
    },
    "CommitmentDiscountStatus": {
      "type": ["string", "null"],
      "enum": ["Used", "Unused", null],
      "description": "Whether the commitment-based discount was used or unused for the charge."
    },
    "CommitmentDiscountType": {
      "type": ["string", "null"],
      "description": "Provider-defined type of commitment-based discount (e.g. Reserved Instance, Savings Plan)."
    },
    "ConsumedQuantity": {
      "type": ["number", "null"],
      "description": "Volume of a metered service consumed, in ConsumedUnit."
    },
    "ConsumedUnit": {
      "type": ["string", "null"],
      "description": "Provider-defined unit of measurement for ConsumedQuantity."
    },
    "ContractedCost": {
      "type": "number",
      "description": "Cost based on negotiated rates excluding negotiated discounts, in BillingCurrency."
    },
    "ContractedUnitPrice": {
      "type": ["number", "null"],
      "description": "Per-unit price at negotiated rates, in BillingCurrency per PricingUnit."
    },
    "EffectiveCost": {
      "type": "number",
      "description": "Amortized cost of the charge after applying upfront and recurring commitment fees, in BillingCurrency."
    },
    "InvoiceIssuerName": {
      "type": "string",
      "description": "Entity responsible for invoicing the consumer."
    },
    "ListCost": {
      "type": "number",
      "description": "Cost based on public list prices, in BillingCurrency."
    },
    "ListUnitPrice": {
      "type": ["number", "null"],
      "description": "Per-unit price at public list rates, in BillingCurrency per PricingUnit."
    },
    "PricingCategory": {
      "type": ["string", "null"],
      "enum": ["Standard", "Dynamic", "Committed", "Other", null],
      "description": "Pricing model used to compute the cost of the charge."
    },
    "PricingQuantity": {
      "type": ["number", "null"],
      "description": "Quantity priced for this charge, in PricingUnit."
    },
    "PricingUnit": {
      "type": ["string", "null"],
      "description": "Provider-defined unit of measurement used for pricing."
    },
    "ProviderName": {
      "type": "string",
      "description": "Entity providing the resources or services."
    },
    "PublisherName": {
      "type": "string",
      "description": "Entity that produced the resources or services."
    },
    "RegionId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for an isolated geographic area."
    },
    "RegionName": {
      "type": ["string", "null"],
      "description": "Display name for the RegionId."
    },
    "ResourceId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for a billable resource."
    },
    "ResourceName": {
      "type": ["string", "null"],
      "description": "Display name of the ResourceId."
    },
    "ResourceType": {
      "type": ["string", "null"],
      "description": "Provider-defined type of resource."
    },
    "ServiceCategory": {
      "type": "string",
      "description": "FOCUS top-level service category (e.g. Compute, Storage, Networking, AI and Machine Learning)."
    },
    "ServiceName": {
      "type": "string",
      "description": "Provider-defined service name."
    },
    "ServiceSubcategory": {
      "type": ["string", "null"],
      "description": "FOCUS service subcategory within the parent ServiceCategory."
    },
    "SkuId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for the SKU charged."
    },
    "SkuMeter": {
      "type": ["string", "null"],
      "description": "Provider-defined description of what is metered by the SKU."
    },
    "SkuPriceDetails": {
      "type": ["object", "null"],
      "description": "Structured object capturing additional pricing attributes specific to the SKU."
    },
    "SkuPriceId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for the SKU's specific price."
    },
    "SubAccountId": {
      "type": ["string", "null"],
      "description": "Provider-assigned identifier for a sub-account, project, or grouping below the BillingAccountId."
    },
    "SubAccountName": {
      "type": ["string", "null"],
      "description": "Display name for the SubAccountId."
    },
    "Tags": {
      "type": ["object", "null"],
      "description": "Set of user- or provider-defined tag key/value pairs applied to the charge.",
      "additionalProperties": {
        "type": ["string", "number", "boolean", "null"]
      }
    },
    "x_CostCategory": {
      "type": ["string", "null"],
      "description": "Implementation-defined extension column. FOCUS reserves the x_ prefix for non-normative provider extensions."
    }
  },
  "required": [
    "BilledCost",
    "BillingAccountId",
    "BillingCurrency",
    "BillingPeriodEnd",
    "BillingPeriodStart",
    "ChargeCategory",
    "ChargePeriodEnd",
    "ChargePeriodStart",
    "ContractedCost",
    "EffectiveCost",
    "InvoiceIssuerName",
    "ListCost",
    "ProviderName",
    "PublisherName",
    "ServiceCategory",
    "ServiceName"
  ]
}