microsoft / microsoft/finops-toolkit

FOCUS 1.3 and 1.4 support across the toolkit

Open
#2,120 0 comments 0 reactions 1 assignee View on GitHub

@flanakin is already working on this.

Since May 6, 2026.

Tool: FinOps hubs Tool: FOCUS
Dominant language
PowerShell
Stars
603
Forks
248
Avg merge
7d 11h
Merged PRs (30d)
11

Description

Summary

Add FOCUS 1.3 (ratified December 2025) and FOCUS 1.4 (working draft, targeting June 2026) support across the FinOps toolkit. Implementation follows the hub schema versioning procedure, which couples each new FOCUS minor version to a new hub schema version (v1_3, v1_4).

Child issue #2104 captured the original 1.3 request and remains the source of context for the Contract Commitment dataset and ContractApplied column. This issue extends that to also cover 1.4 and tracks the full delivery plan.

Plugin updates are tracked separately in #2119.

Out of scope: regenerating the FOCUS conformance reports, updating Cost Management export schemas, and updating FocusCost_*.json open-data metadata. Those activities run only against official Microsoft Cost Management FOCUS releases, not as part of adding hub support.

Branch strategy

  • Umbrella branch: flanakin/focus14 (off origin/dev).
  • Each phase below lands as a feature branch off flanakin/focus14, reviewed via PR back into flanakin/focus14. Final merge of flanakin/focus14 into dev.

Scope summary

FOCUS 1.2 → 1.3 (compatible)

  • 8 new Cost and Usage columns: AllocatedMethodId, AllocatedMethodDetails, AllocatedResourceId, AllocatedResourceName, AllocatedTags, ContractApplied, ServiceProviderName, HostProviderName
  • New Contract Commitment dataset (14 mandatory columns)
  • Deprecates ProviderName and PublisherName (still present in 1.3)

FOCUS 1.3 → 1.4 (incompatible — working draft)

  • Removes deprecated ProviderName and PublisherName
  • Expands Contract Commitment dataset by 14 columns (lifecycle, payment terms, applicability, etc.)
  • New Invoice dataset (deferred until spec stabilizes)

Plan / checklist

Scoping (complete)
  • Step 1 — Inventory all FOCUS references in the toolkit
  • Step 2 — Classify Cost Management vs FinOps hubs ownership
  • Step 3 — Identify FOCUS metadata gaps in hubs vs Cost Management
  • Step 4 — Confirm the existing "add a new FOCUS version" procedure
  • Step 5 — Extract 1.2 → 1.3 → 1.4 spec deltas
Implementation phases
  • Phase 0 — Refresh hub upgrade-procedure docs and data-model.md preview convention. (#2121, PR #2123)
  • Phase 1IngestionSetup_v1_3.kql + Costs_raw extension for FOCUS 1.3 columns. (#2124, PR #2126)
  • Phase 2HubSetup_v1_3.kql and Latest aliases retargeted to v1_3. (#2127, PR #2128)
  • Phase 3ContractCommitment dataset end-to-end (raw, transform, final, hub function, Latest alias). (#2129, PR #2130)
  • Phase 4IngestionSetup_v1_4.kql (preview): drops ProviderName/PublisherName from Costs, expands ContractCommitment by 14 columns. (#2131, PR #2132)
  • Phase 5HubSetup_v1_4.kql (preview); Latest aliases stay pinned to v1_3 GA. (#2133, PR #2134)
  • Phase 6 — Plugin updates for FOCUS 1.3 / 1.4 (tracked separately in #2119).
  • Phase 7 — Pester tests for new versioned functions; update changelog.

Removed from scope

  • Phase 1 (originally): multi-version conformance tooling — closed as #2122. Conformance reports are generated only against official Microsoft Cost Management FOCUS releases.
  • Cost Management export schema updates — same reason.
  • Open-data FocusCost_*.json metadata — these files describe Cost Management exports (DataGenerator: Microsoft) and are therefore out of scope.

References

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.