FOCUS 1.4 Validator

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

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.