What’s new in FOCUS 1.4
47 new columns since 1.3, across 4 datasets — two of which are new entirely. The count is derived by diffing the specification repository at both tags rather than taken from the release notes, so it moves on its own when the specification does.
The theme of 1.4 is reconciliation. Until now FOCUS described consumption: what was used, what it cost, which commitment covered it. What it could not describe was the invoice — so a finance team reconciling against accounts payable and a FinOps team reporting on cost were working from different artefacts and arguing about the difference.
The new Invoice Detail dataset closes that. It carries invoice identifiers, issue and due dates, payment terms, purchase order numbers and billed cost in the payment currency, with a supported feature that joins it back to Cost and Usage. Billing Period is the smaller companion: period boundaries and a status, so a consumer can tell an open period from a closed one rather than inferring it from dates.
The third area of change is Contract Commitment, which gained substantial detail — commitment model, payment model and interval, upfront percentage, benefit category, applicability, lifecycle status and discount percentage. Between them these describe the shape of a commitment well enough that a consumer can reason about it without provider-specific knowledge, which is the point of the specification.
Billing Period
6 new columnsNew dataset- BillingPeriodCreatedMandatory · Date/Time
The timestamp when the Billing Period record was first created.
- BillingPeriodEndMandatory · Date/Time
The exclusive end bound of a billing period.
- BillingPeriodLastUpdatedMandatory · Date/Time
The timestamp when the Billing Period record was last updated.
- BillingPeriodStartMandatory · Date/Time
The inclusive start bound of a billing period.
- BillingPeriodStatusMandatory · String
The state of the billing period (i.e., "Open" or "Closed"), indicating whether the delivered data for the period is preliminary, or if all anticipated invoices have been issued and the delivered data is finalized.
- InvoiceIssuerNameMandatory · String
The name of the entity responsible for invoicing for the resources or services consumed.
Contract Commitment
17 new columns- ContractCommitmentApplicabilityMandatory · JSON
A structured definition of the specific entities to which a contract commitment applies, including inclusion/exclusion logic and applicability percentages.
- ContractCommitmentBenefitCategoryMandatory · String
Defines the primary value or advantage received for a contract commitment.
- ContractCommitmentCreatedMandatory · Date/Time
The timestamp when the contract commitment record was first created.
- ContractCommitmentDiscountPercentageMandatory · Decimal
The effective percentage reduction applied to the list price of resources or services covered by a contract commitment.
- ContractCommitmentDurationTypeMandatory · String
Represents the categorical length of the contract commitment offering.
- ContractCommitmentFulfillmentIntervalMandatory · String
Represents the specific period used to measure and reset the fulfillment of a contract commitment.
- ContractCommitmentLastUpdatedMandatory · Date/Time
The timestamp when the contract commitment record was last updated.
- ContractCommitmentLifecycleStatusMandatory · String
The current lifecycle state of a contract commitment.
- ContractCommitmentModelMandatory · String
Represents the operational behavior and consumption flexibility of a contract commitment.
- ContractCommitmentOfferCategoryMandatory · String
Indicates whether the pricing and terms of a contract commitment are based on a standard, publicly accessible offering or have been specifically brokered through private negotiation.
- ContractCommitmentPaymentIntervalMandatory · String
Represents the frequency by which a contract commitment is invoiced.
- ContractCommitmentPaymentModelMandatory · String
Defines the financial settlement structure of a contract commitment.
- ContractCommitmentPaymentUpfrontPercentageConditional · Decimal
Represents the portion of the total Contract Commitment Cost paid at the start of the duration of a contract commitment.
- InvoiceIssuerNameMandatory · String
The name of the entity responsible for invoicing for the contract commitment.
- PricingCurrencyConditional · String
The national or virtual currency denomination that the Contract Commitment Cost was priced in.
- PricingCurrencyContractCommitmentCostConditional · Decimal
The monetary value of the contract commitment in the Pricing Currency.
- ServiceProviderNameMandatory · String
The name of the entity that provides the contract commitment.
Cost and Usage
2 new columns- CommitmentProgramEligibilityDetailsConditional · JSON
The types of commitment programs available for a specific usage row.
- InvoiceDetailIdConditional · String
The invoice-issuer-assigned identifier for an Invoice Detail record encapsulating charges in the corresponding billing period for a given billing account.
Invoice Detail
22 new columnsNew dataset- BilledCostMandatory · Decimal
Cost of a charge as invoiced by the invoice issuer in a given billing period.
- BillingAccountIdMandatory · String
The identifier assigned to a billing account by the invoice issuer.
- BillingCurrencyMandatory · String
Represents the currency that a charge was billed in.
- BillingPeriodEndMandatory · Date/Time
The exclusive end bound of a billing period.
- BillingPeriodStartMandatory · Date/Time
The inclusive start bound of a billing period.
- ChargeCategoryMandatory · String
Represents the highest-level classification of a charge based on the nature of how it is billed.
- InvoiceDetailCreatedMandatory · Date/Time
The timestamp when the Invoice Detail record was first created.
- InvoiceDetailDescriptionMandatory · String
The invoice-issuer-provided description of an invoice line item.
- InvoiceDetailGrainMandatory · JSON
The set of key-value pairs that defines the granularity of the invoice line item.
- InvoiceDetailIdMandatory · String
The invoice-issuer-assigned identifier for an Invoice Detail record encapsulating charges in the corresponding billing period for a given billing account.
- InvoiceDetailLastUpdatedMandatory · Date/Time
The timestamp when the Invoice Detail record was last updated.
- InvoiceIdMandatory · String
The invoice-issuer-assigned identifier for an invoice encapsulating charges in the corresponding billing period for a given billing account.
- InvoiceIssueDateMandatory · Date/Time
The date the invoice was issued by the invoice issuer.
- InvoiceIssuerNameMandatory · String
The name of the entity responsible for invoicing for the resources or services consumed.
- InvoiceIssueStatusMandatory · String
The publication state of the invoice and the reliability of its associated delivered data, indicating if it is provisional ("Open"), issued ("Issued"), or voided ("Voided").
- PaymentCurrencyConditional · String
The currency in which the invoice is paid.
- PaymentCurrencyBilledCostConditional · Decimal
The Billed Cost as expressed in Payment Currency.
- PaymentCurrencyInvoiceDetailIdConditional · String
The identifier linking a granular record to the specific Invoice Detail record where its Payment Currency Billed Cost is represented or aggregated.
- PaymentDueDateMandatory · Date/Time
The date by which the payment for an invoice is expected to be received by the invoice issuer.
- PaymentTermsMandatory · String
The terms (typically focused on timeframe) by which the invoice issuer expects to receive payment for an invoice.
- PurchaseOrderNumberConditional · String
The unique customer-issued identifier for tracking the lifecycle of a purchase.
- ReferenceInvoiceIdMandatory · String
The invoice-issuer-assigned identifier for an invoice that affects charges as stated on a previous invoice.
Check an export against 1.4
The official validator supports 1.3; 1.4 support is scheduled for later in Q3 2026. Until then the validator here checks against 1.4, in your browser, with no file-size cap.
Column definitions taken from the FOCUS 1.4 specification. FOCUS is published by the FinOps Foundation under CC BY 4.0.
New columns are only useful once something reads them.
Finitizer ingests FOCUS from every provider you run and reports across all of them, including commitments and invoice reconciliation.