microsoft / microsoft/finops-toolkit
FOCUS 1.3 and 1.4 support across the toolkit
@flanakin is already working on this.
Since May 6, 2026.
- 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(offorigin/dev). - Each phase below lands as a feature branch off
flanakin/focus14, reviewed via PR back intoflanakin/focus14. Final merge offlanakin/focus14intodev.
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
ProviderNameandPublisherName(still present in 1.3)
FOCUS 1.3 → 1.4 (incompatible — working draft)
- Removes deprecated
ProviderNameandPublisherName - 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 1 —
IngestionSetup_v1_3.kql+Costs_rawextension for FOCUS 1.3 columns. (#2124, PR #2126) - Phase 2 —
HubSetup_v1_3.kqland Latest aliases retargeted to v1_3. (#2127, PR #2128) - Phase 3 —
ContractCommitmentdataset end-to-end (raw, transform, final, hub function, Latest alias). (#2129, PR #2130) - Phase 4 —
IngestionSetup_v1_4.kql(preview): drops ProviderName/PublisherName from Costs, expands ContractCommitment by 14 columns. (#2131, PR #2132) - Phase 5 —
HubSetup_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— these files describe Cost Management exports (DataGenerator: Microsoft) and are therefore out of scope.FocusCost_*.jsonmetadata
References
- FOCUS 1.3 announcement
- FOCUS specification
- Hub developer docs — adding a FOCUS version
- Original FOCUS 1.3 request: #2104
- Plugin updates: #2119
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.