Skip to content

FOCUS 1.2 Specification Mapping

This page catalogs all 60 normative columns in the FinOps Open Cost and Usage Specification (Version 1.2) with definitions, data types, and requirement levels.

Standard Reference: FOCUS 1.2 Specification | Published June 2024


Billing Dimensions

Column Name Data Type Required Definition
BillingAccountId String Required The provider's identifier for the account being billed
BillingAccountName String Optional The provider's display name for the account being billed
BillingPeriodStart Datetime Required The start date of the billing period (ISO 8601, UTC)
BillingPeriodEnd Datetime Required The end date of the billing period (ISO 8601, UTC)
SubAccountId String Required The provider's identifier for the sub-account incurring the charge
SubAccountName String Optional The provider's display name for the sub-account incurring the charge
Provider String Required The name of the cloud service provider (e.g., "AWS", "Microsoft Azure")
Publisher String Optional The publisher or reseller of the service (distinct from the provider)

Service & Resource Identification

Column Name Data Type Required Definition
ServiceName String Required The name of the cloud service (e.g., "EC2", "S3", "Virtual Machines")
ServiceCategory String Conditional Service classification or category (e.g., "Compute", "Storage")
ResourceId String Optional The provider's unique identifier for the resource instance
ResourceName String Optional The human-readable display name for the resource
ResourceType String Conditional The type or SKU of the resource (e.g., "t3.medium", "gp3 volume")
Tags String Optional Resource tags as key-value pairs for cost allocation

Charging Dimensions

Column Name Data Type Required Definition
ChargePeriodStart Datetime Required The start date of the period to which the charge applies (ISO 8601, UTC)
ChargePeriodEnd Datetime Required The end date of the period to which the charge applies (ISO 8601, UTC)
ChargeCategory String Required Classification of the charge (e.g., "Usage", "Tax", "Fee", "Credit")
ChargeFrequency String Conditional How often the charge recurs ("One-Time", "Monthly", "Hourly")
ChargeClass String Optional Additional charge classification (e.g., "Premium", "Standard")
ChargeType String Optional Vendor-specific charge type (preserved from source billing system)

Pricing & Rate Details

Column Name Data Type Required Definition
PricingCategory String Conditional Pricing model classification (e.g., "On-Demand", "Commitment", "Dynamic")
PricingUnit String Optional Unit in which the price is denominated (e.g., "per GB-month", "per hour")
ListCost Decimal Optional The public on-demand price for equivalent consumption
ListUnitPrice Decimal Optional The public on-demand unit price

Location & Availability

Column Name Data Type Required Definition
Region String Conditional The cloud provider's geographic region (e.g., "us-east-1", "eastus")
AvailabilityZone String Optional The specific availability zone or data center identifier

Usage Metrics

Column Name Data Type Required Definition
UsageQuantity Decimal Conditional The quantity of resource consumed during the charge period
UsageUnit String Conditional The unit of measurement for UsageQuantity (e.g., "GB", "hours", "requests")
UsageType String Optional Vendor-specific classification of the usage type

Cost Metrics

Column Name Data Type Required Definition
BilledCost Decimal Required The amount charged after all discounts, credits, and taxes
BilledCurrency String Required ISO 4217 currency code for BilledCost (e.g., "USD", "AUD")
EffectiveCost Decimal Conditional The actual cost after amortization of prepaid commitments (RIs, Savings Plans)
EffectiveCurrency String Conditional Currency code for EffectiveCost (typically same as BilledCurrency)

Custom & Context Fields

Column Name Data Type Required Definition
x_CostCenter String Optional Custom dimension: cost center or cost allocation code
x_Project String Optional Custom dimension: project or initiative identifier
x_Environment String Optional Custom dimension: environment classifier (e.g., "prod", "staging")
x_Owner String Optional Custom dimension: team or person responsible for the resource
x_Application String Optional Custom dimension: application or workload identifier
x_LineOfBusiness String Optional Custom dimension: business unit or line of business
x_CostAllocationTagKey String Optional Custom dimension: for resources tagged with custom allocation keys

Commitment & Discount Details

Column Name Data Type Required Definition
CommitmentDiscountCategory String Conditional Type of commitment discount applied (e.g., "ReservedInstance", "SavingsPlan")
CommitmentDiscountId String Optional Identifier of the specific commitment (RI/Savings Plan)
CommitmentDiscountStatus String Optional Status of the commitment (e.g., "Active", "Expired")

Attribute & Compliance Fields

Column Name Data Type Required Definition
SkuId String Optional The provider's SKU (Stock Keeping Unit) identifier
SkuPriceId String Optional The provider's price record identifier for the charge
ConsumedService String Optional The service that was actually consumed (may differ from ServiceName in reseller scenarios)
InvoiceIssuer String Optional Identifier of the entity that issued the invoice
NegotiatedDiscount Decimal Optional Discount rate or amount negotiated outside public pricing

Totals & Aggregations

Column Name Data Type Required Definition
AmortizedCost Decimal Optional Cost with prepaid commitments amortized across usage periods
BlendedCost Decimal Optional Blended rate combining on-demand and commitment rates for account-level reporting

Summary

Total Columns: 60
Required: 8
Conditional: 7
Optional: 45

Verification (after CSV generation):

# Count FOCUS columns in exported file (header + data rows)
head -1 costs-focus.csv | tr ',' '\n' | wc -l
# Expected: ≥50 columns (60 normative + custom x_* fields)


Last Updated: 2026-05-21
Next Review: Q3 2026 (align with FOCUS 1.3 release cycle if applicable)