FOCUS Mappings
Learn how Ternary maps native cloud billing data to the FOCUS format to enable consistent, multi-cloud cost reporting across AWS, Azure, Google Cloud, and Oracle.
FOCUS (FinOps Open Cost and Usage Specification) is an open standard designed by the FinOps Foundation to normalize cloud cost and usage data across providers, making multi-cloud cost analysis more consistent and comparable.
Ternary supports the FOCUS format by ingesting native FOCUS exports provided directly by cloud providers or by ingesting original billing files such as AWS Cost and Usage Reports. When original billing files are used, Ternary automatically maps them to the FOCUS schema. This approach provides access to all standard FOCUS fields while preserving provider specific columns for deeper cost analysis where required.
Within Ternary reports, fields are clearly distinguished based on their origin. Standardized FOCUS fields are presented as multi-cloud fields and identified using a cloud icon, while fields sourced directly from provider billing exports are labeled with their vendor of origin, such as “AWS bill_invoicing_entity” or “GCP consumption_model_id,” and marked with the corresponding provider logo. This visual distinction makes it easy to differentiate standardized fields from cloud native attributes, even when field names overlap across providers.
For more information on what FOCUS enables in Ternary, visit BYOD.
FOCUS fields in Ternary
FOCUS Billing is the primary data source in the Ternary Reporting Engine. Its standardized fields follow the column names of the FOCUS 1.1 specification, alongside a small set of Ternary and provider-specific fields listed further below.
Reports, filters, and API requests use the field names on this page.
FOCUS columns
The table below lists every FOCUS column available in FOCUS Billing, with the name it is shown under in Ternary and whether it is used as a dimension (for grouping and filtering) or a measure (for aggregation).
| Ternary display name | FOCUS column | Type |
|---|---|---|
| Billed Cost | BilledCost | Measure |
| Commitment Discount Quantity | CommitmentDiscountQuantity | Measure |
| Consumed Quantity | ConsumedQuantity | Measure |
| Contracted Cost | ContractedCost | Measure |
| Effective Cost | EffectiveCost | Measure |
| List Cost | ListCost | Measure |
| Pricing Quantity | PricingQuantity | Measure |
| Availability Zone | AvailabilityZone | Dimension |
| Billing Account ID | BillingAccountId | Dimension |
| Billing Account Name | BillingAccountName | Dimension |
| Billing Currency | BillingCurrency | Dimension |
| Billing Period End | BillingPeriodEnd | Dimension |
| Billing Period Start | BillingPeriodStart | Dimension |
| Capacity Reservation ID | CapacityReservationId | Dimension |
| Capacity Reservation Status | CapacityReservationStatus | Dimension |
| Charge Category | ChargeCategory | Dimension |
| Charge Class | ChargeClass | Dimension |
| Charge Description | ChargeDescription | Dimension |
| Charge Frequency | ChargeFrequency | Dimension |
| Charge Period End | ChargePeriodEnd | Dimension |
| Charge Period Start | ChargePeriodStart | Dimension |
| Commitment Discount Category | CommitmentDiscountCategory | Dimension |
| Commitment Discount ID | CommitmentDiscountId | Dimension |
| Commitment Discount Name | CommitmentDiscountName | Dimension |
| Commitment Discount Status | CommitmentDiscountStatus | Dimension |
| Commitment Discount Type | CommitmentDiscountType | Dimension |
| Commitment Discount Unit | CommitmentDiscountUnit | Dimension |
| Consumed Unit | ConsumedUnit | Dimension |
| Contracted Unit Price | ContractedUnitPrice | Dimension |
| Invoice Issuer | InvoiceIssuer | Dimension |
| List Unit Price | ListUnitPrice | Dimension |
| Pricing Category | PricingCategory | Dimension |
| Pricing Unit | PricingUnit | Dimension |
| Provider | ProviderName | Dimension |
| Publisher | PublisherName | Dimension |
| Region ID | RegionId | Dimension |
| Region Name | RegionName | Dimension |
| Resource ID | ResourceId | Dimension |
| Resource Name | ResourceName | Dimension |
| Resource Type | ResourceType | Dimension |
| Service Category | ServiceCategory | Dimension |
| Service Name | ServiceName | Dimension |
| Service Subcategory | ServiceSubCategory | Dimension |
| SKU ID | SkuId | Dimension |
| SKU Meter | SkuMeter | Dimension |
| SKU Price Details | SkuPriceDetails | Dimension |
| SKU Price ID | SkuPriceId | Dimension |
| Sub Account ID | SubAccountId | Dimension |
| Sub Account Name | SubAccountName | Dimension |
| Tags | Tags | Dimension |
Differences from the FOCUS 1.1 column names
- Invoice Issuer uses the column
InvoiceIssuer(FOCUS 1.1:InvoiceIssuerName).- Service Subcategory uses the column
ServiceSubCategory(FOCUS 1.1:ServiceSubcategory).- Provider and Publisher are the display names for
ProviderNameandPublisherName.- Display names spell identifiers as "ID" (for example, Billing Account ID for
BillingAccountId).
Additional Ternary and provider fields
These fields are available in FOCUS Billing but are not FOCUS columns. Ternary fields are added by Ternary; provider fields come from that provider's billing export and are labeled with the provider in reports.
| Source | Fields |
|---|---|
| Ternary | Absolute Credits (measure); Cloud ID (cloud_id), Cloud Name (cloud_name), Data Source, Fiscal Week, Fiscal Month, Fiscal Quarter, Fiscal Year, Invoice Month, Service ID, Sub Account Number (dimensions) |
| Ternary (AI) | AI Input Tokens and AI Output Tokens (measures); AI Provider, AI Model, AI Model Family, AI Model ID, AI Model Version, AI Publisher, AI Modality, AI API Key ID, AI Interface, AI Data Fidelity (dimensions) |
| Google Cloud | Ancestry Names (ancestry_names), Credit Type (credits_type) |
| Microsoft Azure | Customer Tenant ID (customerTenantId), Department Name (DepartmentName), Invoice Section ID (invoiceSectionId / InvoiceSectionId), Invoice Section Name (invoiceSectionName / InvoiceSectionName) |
| AWS | Product Group (user-defined tag ProductGroup) |
How to build a Ternary report using FOCUS Fields?
Reports can be built using a combination of Measures, Groupings, and Filters.
In the report builder, open a measure or grouping picker. FOCUS fields are listed under FOCUS in the picker's Sources sidebar, which is selected by default, and you can type a field name, such as Billed Cost, to search for it.
Notes and considerations
- Where a direct FOCUS equivalent does not exist, the closest standardized field is used.
- Provider-specific metadata remains accessible and clearly labeled in reports.
Updated 4 days ago
