Markdown Editor

Cost Allocation and Tagging Standard Template (FinOps, FOCUS 1.4)

Allocation hierarchy, tag dictionary, MUST/SHOULD policy, policy as code, untaggable and shared-cost rules, showback vs chargeback, FOCUS 1.4 map, KPIs

オペレーションフルFOCUS 1.4; FinOps Framework 2026CC BY 4.0costallocationtaggingstandard

使い方: Use it to set the organisation-wide rules that make every cloud and SaaS charge attributable to an owner. Fill the allocation hierarchy with finance first, then the tag dictionary, enforcement rollout and shared-cost rules, and report compliance in the periodic cost review. The main pitfall is counting untaggable charges as non-compliance or enforcing deny policies without an audit period.

プレビュー

Cost Allocation and Tagging Standard: [Organisation name]

Organisation standard for allocating cloud and technology cost to the teams, products and business units that cause it: the allocation hierarchy, mandatory tags and allowed values, tag governance and policy-as-code enforcement, treatment of untagged and untaggable cost, shared-cost split rules, showback and chargeback, the mapping to FOCUS 1.4 columns, compliance KPIs, exceptions and review. Based on the FinOps Open Cost and Usage Specification (FOCUS) 1.4 (ratified 2026-06-04) and aligned with the Allocation and Invoicing & Chargeback capabilities of the FinOps Framework (2026 update), both published under CC BY 4.0. Replace every [bracketed] value and every row marked Example. Worked examples use the fictional SaaS company "Corvid Commerce".

Document control

FieldValue
Document ID[FIN-STD-001]
Version[0.1]
Status[Draft / In review / Approved / Superseded]
Owner[@finops-lead]
Finance counterpart[@finance-business-partner]
Approvers/reviewers[@cfo-delegate], [@vp-engineering], [@head-of-platform], [@cloud-foundation-lead], [@ciso-delegate]
Effective date[YYYY-MM-DD]
Last updatedYYYY-MM-DD
Classification[Internal]
Cost sources in scope[Example: Two public cloud providers, one observability SaaS, one CDN]
FOCUS version used1.4
Next review[YYYY-MM-DD]

Approvals

RoleNameDecisionDate
FinOps lead[@name][Approve / Approve with conditions / Reject]YYYY-MM-DD
Finance (CFO delegate)[@name][Decision]YYYY-MM-DD
Engineering leadership[@name][Decision]YYYY-MM-DD
Platform and cloud foundation[@name][Decision]YYYY-MM-DD

Revision history

VersionDateAuthorChange summary
0.1YYYY-MM-DD[@name]First draft
1.0YYYY-MM-DD[@name]Example: Approved; enforcement in audit mode for 60 days
1.1YYYY-MM-DD[@name]Example: Added data-classification; enforcement switched to deny in production accounts

Contents

1. Purpose and scope

Purpose: make every unit of technology cost attributable to an accountable owner, so that teams can see and manage what they spend, finance can budget and report by business dimension, and leadership can compare cost with the value each product delivers.

Objectives:

  • every charge in the cost dataset is allocated to a cost centre, an owning team and a service, either directly by tag or by a documented rule;
  • allocation is reproducible from the normalised billing data by anyone with access, without manual spreadsheets;
  • the share of unallocated cost stays below the target in section 11.

Scope:

In scopeOut of scope
Example: All public cloud accounts, subscriptions and projectsEmployee laptops and end-user licences (IT asset management)
Example: SaaS platforms billed to engineering (observability, CDN, source control)Personnel cost of the platform team (finance allocates it separately)
Example: Kubernetes clusters and other shared runtime platformsOn-premises data centre (until migrated)
Example: Marketplace purchases through a cloud provider[Out of scope item]

2. Roles and responsibilities

R = responsible, A = accountable, C = consulted, I = informed.

ActivityFinOps teamFinancePlatform and cloud foundationProduct teamsSecurity
Define mandatory tags and allowed valuesA, RCCCC
Maintain cost centre and team reference dataCA, RIII
Apply tags to resourcesIIR (shared and platform resources)A, R (own resources)I
Enforce tag policy in accounts and pipelinesCIA, RIC
Define shared-cost split rulesA, RCCII
Publish monthly allocation and compliance reportA, RIIII
Post chargeback journal entriesCA, RIII
Approve exceptionsACRR (request)C

3. Allocation hierarchy

Cost rolls up through the hierarchy below. The upper levels come from the account structure; the lower levels come from tags.

LevelSourceFOCUS columnFallback when missing
OrganisationBilling accountBillingAccountId, BillingAccountNameNot applicable
Business unitAccount folder or management group, mapped in the account registrySubAccountId mapped through the registryAccount registry owner
Cost centreTag cost-centerTagsCost centre of the account in the registry
Owning teamTag owner-teamTagsOwning team of the account in the registry
ServiceTag serviceTagsunassigned-[team] bucket owned by the team
EnvironmentTag environmentTagsEnvironment of the account in the registry

Account registry: keep one record per account, subscription or project with business unit, default cost centre, default owning team and default environment. The account vending process in the Landing Zone Design (architecture/landing-zone-design) MUST create the registry record before the account is handed over.

Allocation precedence: when sources disagree, use the first that applies:

  1. for an allocated charge from a data generator-calculated split cost allocation (the FOCUS term; AllocatedResourceId is not null): the mandatory keys in AllocatedTags, falling back to Tags for keys not present there;
  2. resource tag on the charge (FOCUS Tags);
  3. account registry defaults for the SubAccountId;
  4. a shared-cost rule from section 8;
  5. the unallocated bucket owned by the FinOps team.

Split rows come first because, on an allocated charge, Tags carries the tags of the origin resource (for example the cluster node), and FOCUS does not repeat those tags in AllocatedTags. Ranking Tags first would send every split row back to the node owner and undo the split.

4. Mandatory tags and allowed values

4.1 Tag dictionary

KeyRequired onAllowed values or patternSource of truthPurpose
cost-centerAll taggable resourcesExample: cc- followed by 4 digits, from the finance listFinance cost centre listFinance roll-up and chargeback
owner-teamAll taggable resourcesTeam slug from the team directoryTeam directory (Team API)Accountability and showback
serviceAll taggable resourcesService ID from the service catalogueService catalogueProduct and unit cost
environmentAll taggable resourcesprod, staging, dev, sandbox, sharedThis standardSeparating production from non-production cost
data-classificationData stores and compute that processes datapublic, internal, confidential, restrictedData classification policySecurity and residency controls
expires-onResources in sandbox accountsDate in YYYY-MM-DD format, at most [30] days aheadRequesterAutomatic clean-up
managed-byOptionaliac, console, platformPipeline or platformDrift and clean-up analysis

4.2 Format rules

  • Keys and values MUST be lowercase, using letters, digits and hyphens only. Some providers accept only lowercase label keys; one format avoids per-provider mapping.
  • Values SHOULD be at most [63] characters (Example, chosen to fit the strictest provider in use; check the current limits of each provider).
  • Keys MUST NOT carry a provider-reserved prefix. FOCUS requires provider-defined tags to carry a provider prefix, so user-defined keys without one remain distinguishable in the Tags column.
  • Values MUST come from the source of truth named in 4.1. Free-text values are rejected by enforcement.
  • Tags MUST NOT contain secrets or personal data: tag values are visible in billing exports to everyone who can read cost data.

4.3 Changing the dictionary

Request new keys or new allowed values through [FinOps intake]. The FinOps team decides within [10 business days] after consulting finance and the platform team. New mandatory keys take effect no earlier than [60 days] after approval, with audit-mode enforcement during that period.

5. Policy statements

IDStatement
CAT-POL-001Every account, subscription or project MUST have a record in the account registry with business unit, default cost centre, default owning team and default environment.
CAT-POL-002Every taggable resource MUST carry all mandatory tags in section 4.1 with allowed values.
CAT-POL-003Infrastructure as code modules MUST expose the mandatory tags as required inputs and apply them to every taggable resource they create (see Infrastructure as Code Module Specification, ops/iac-module-specification).
CAT-POL-004Production accounts MUST reject creation of taggable resources without mandatory tags; non-production accounts MUST at least report them daily.
CAT-POL-005Tags SHOULD be inherited from the account or resource group where the provider supports inheritance, and resource tags SHOULD override inherited values only when more specific.
CAT-POL-006Kubernetes workloads MUST carry owner-team and service as labels on namespaces, and the cluster cost tool MUST use them to allocate node cost (section 8.2).
CAT-POL-007Untaggable charges MUST be allocated by a rule in section 7 and MUST NOT be counted as tag non-compliance.
CAT-POL-008Every shared-cost rule MUST name its driver, data source, owner and review date, and MUST be reproducible from FOCUS data.
CAT-POL-009Allocated results MUST be published monthly to every owning team within [5 business days] after the provider's billing period closes.
CAT-POL-010Unallocated cost MUST stay below the target in section 11; the FinOps team MUST investigate any month above it.
CAT-POL-011Resources in sandbox accounts MUST carry expires-on and SHOULD be deleted automatically after that date unless renewed.
CAT-POL-012Tag values MUST NOT contain secrets, credentials or personal data.

6. Tag governance and enforcement

Control IDControlTypeWhereScopeResponse
TAG-CTL-01 (Example)Pipeline policy check on infrastructure plansPreventiveCI pipelineAll accountsPipeline fails with the list of missing tags
TAG-CTL-02 (Example)Provider tag policy with deny on createPreventiveOrganisation policyProduction accountsRequest blocked
TAG-CTL-03 (Example)Kubernetes admission policy for namespace labelsPreventiveCluster admissionAll clustersNamespace creation rejected
TAG-CTL-04 (Example)Daily compliance scan against the dictionaryDetectiveCost and inventory dataAll accountsTicket to owning team, due in [5 business days]
TAG-CTL-05 (Example)Auto-remediation from account registry defaultsCorrectiveScheduled jobNon-productionDefaults applied, owner notified
TAG-CTL-06 (Example)Sandbox expiry clean-upCorrectiveScheduled jobSandbox accountsResources past expires-on stopped, then deleted after [7] days
[TAG-CTL-NN][Control][Type][Where][Scope][Response]

6.1 Rollout of enforcement

  1. Audit mode for [60 days]: policies report but do not block. Publish the list of failing resources per team weekly.
  2. Deny in new production deployments once audit findings for production fall below [5%] of resources.
  3. Deny everywhere except sandbox after a further [30 days].
  4. Remediate the remaining backlog with registry defaults and team tickets; track in the monthly report.

6.2 Example policy as code

Example only: an Open Policy Agent rule (Rego v1 syntax) that checks a Terraform plan in JSON form (terraform show -json) for the mandatory tags and the environment values. It evaluates the effective tags, not only the tags written on the resource: with the AWS provider default_tags block (the usual way to implement CAT-POL-005 inheritance), the merged set appears in tags_all and tags may be null. Adapt attribute names per provider (some use labels).

package corvid.tagging

import rego.v1

required := {"cost-center", "owner-team", "service", "environment"}

allowed_environments := {"prod", "staging", "dev", "sandbox", "shared"}

# Provider default tags from the plan configuration (AWS provider
# default_tags block); empty when the provider sets none.
default_tags := dt if {
	some block in input.configuration.provider_config.aws.expressions.default_tags
	dt := block.tags.constant_value
} else := {}

changed contains rc if {
	some rc in input.resource_changes
	some action in rc.change.actions
	action in {"create", "update"}
}

# A tag attribute can be null or absent (unknown until apply).
as_map(x) := x if {
	is_object(x)
} else := {}

attr(rc, name) := as_map(object.get(rc.change.after, name, {}))

# Effective tags: provider defaults, then the merged tags_all attribute
# where the plan already knows it, then resource tags (right side wins).
effective_tags(rc) := object.union(
	object.union(default_tags, attr(rc, "tags_all")),
	attr(rc, "tags"),
)

deny contains msg if {
	some rc in changed
	missing := required - object.keys(effective_tags(rc))
	count(missing) > 0
	msg := sprintf("%s: missing mandatory tags %v", [rc.address, missing])
}

deny contains msg if {
	some rc in changed
	env := effective_tags(rc).environment
	not env in allowed_environments
	msg := sprintf("%s: environment value %q is not allowed", [rc.address, env])
}

Example limitations to test before switching to deny:

  • tags_all is often unknown at plan time and is then absent from change.after; the rule therefore adds the provider default tags read from the plan's configuration section. Default tags set through a variable or an aliased provider (aws.<alias>) appear as references, not constant values, so read them from your own pipeline input instead.
  • Run the policy against a plan that relies only on inherited tags and confirm that it passes; a policy that rejects compliant resources is the usual reason a deny rule gets removed.
  • Keep the list of resource types that cannot carry tags in the policy repository and exclude them explicitly, so that exclusions are reviewed like any other code change.

7. Untagged and untaggable cost

CategoryDefinitionTreatmentOwner
Untagged (taggable)Charge for a resource that supports tags but lacks one or more mandatory tagsAllocate by account registry defaults; count as non-compliant in section 11; ticket to the owning teamOwning team
UntaggableCharge that cannot carry a resource tag (support plans, taxes, promotional credits, some marketplace fees, some data transfer)Allocate by a rule below; report as its own lineFinOps team
UnallocatedCharge that neither a tag, the registry nor a rule can assignHeld in the FinOps unallocated bucket; investigated monthlyFinOps team

Untaggable cost rules:

Rule IDCharge typeFOCUS filterAllocation driver
UNT-01 (Example)Provider support planChargeCategory = Purchase and ServiceName of the support offerProportional to each business unit's direct allocated EffectiveCost (section 8.1)
UNT-02 (Example)TaxChargeCategory = TaxSame allocation as the charges the tax applies to, else proportional to direct cost
UNT-03 (Example)Promotional and programme creditsChargeCategory = Credit (FOCUS: incentives or allowances unrelated to other charges)To the team or business unit the credit programme was granted for, else proportional to direct cost
UNT-04 (Example)Commitment purchasesChargeCategory = Purchase with CommitmentDiscountIdAmortised through EffectiveCost to the resources that used the commitment; unused commitment to the FinOps central budget
UNT-05 (Example)Refunds and correctionsNegative charges within Usage, Purchase or Tax (FOCUS keeps refunds in the category of the original charge); ChargeClass = Correction marks corrections to a closed billing periodSame allocation as the original charge, matched on ResourceId or SubAccountId; corrections to closed periods are booked in the current period, not restated
[UNT-NN][Charge type][Filter][Driver]

8. Shared cost allocation rules

Choose the method per shared cost:

MethodWhen to useRisk
ProportionalA measured driver reflects consumption (CPU requests, bytes ingested, direct spend)Needs reliable driver data every month
Even splitConsumers benefit roughly equally and the amount is smallPenalises small consumers
Fixed percentagesDriver data is not available yet; percentages agreed for a fixed periodDrifts from reality; review at least yearly
Rule IDShared costMethodDriver and data sourceRecipientsOwnerReview
SHR-01 (Example)Shared Kubernetes cluster nodesProportional, idle redistributedNamespace CPU request hours from the cluster cost toolOwning teams by namespace label[@platform-runtime]Quarterly
SHR-02 (Example)Provider support plan (UNT-01)ProportionalDirect allocated EffectiveCost per business unitBusiness units[@finops-lead]Yearly
SHR-03 (Example)Observability SaaS platformFixed percentagesIngest volume measured at the start of the yearBusiness units[@platform-runtime]Yearly
[SHR-NN][Shared cost][Method][Driver][Recipients][@name][Cadence]

8.1 Worked example: support plan (SHR-02)

Example (a different month from the section 11 example): support plan charge in the month: USD 18,000. Direct allocated EffectiveCost by business unit: Storefront USD 300,000, Payments USD 150,000, Data USD 150,000, total USD 600,000.

Business unitDirect cost (USD)ShareSupport allocated (USD)
Example: Storefront300,000300,000 / 600,000 = 50%9,000
Example: Payments150,00025%4,500
Example: Data150,00025%4,500
Total600,000100%18,000

8.2 Worked example: shared cluster with idle capacity (SHR-01)

Example: cluster node cost in the month: USD 120,000. Share of requested CPU hours: checkout 45%, catalog 30%, payments-core 15%; the remaining 10% is idle capacity that no workload requested.

RecipientRequested shareDirect share (USD)Idle redistributed (USD)Total (USD)
Example: checkout45%54,00012,000 × 45 / 90 = 6,00060,000
Example: catalog30%36,00012,000 × 30 / 90 = 4,00040,000
Example: payments-core15%18,00012,000 × 15 / 90 = 2,00020,000
Idle10%12,000redistributed0
Total100%120,00012,000120,000

The alternative is to leave idle cost (USD 12,000) with the platform team as a visible efficiency target. Choose one approach, state it in the rule, and report idle cost as its own number either way, so that redistribution does not hide waste.

8.3 Worked example: observability platform (SHR-03)

Example: platform charge USD 30,000 with fixed shares agreed for the year: Storefront 40%, Payments 40%, Data 20%. Allocated: USD 12,000, USD 12,000 and USD 6,000. An even split would give USD 10,000 each, moving USD 4,000 of cost onto Data, the smallest consumer.

9. Showback and chargeback

AspectShowbackChargeback
What happensAllocated cost is reported to ownersAllocated cost is booked against the owner's budget by finance
PrerequisitesAllocation hierarchy and monthly reportAllocation coverage (KPI-02) at its section 11 target for [3] consecutive months, agreed dispute process, finance journal process
Behaviour it drivesAwareness and voluntary optimisationBudget accountability
Typical useExample: Platform shared costs, early adoption phaseExample: Business units with their own P&L

Decision for this organisation: [Example: Showback for all teams from the effective date; chargeback to business units from [YYYY-MM-DD] once allocation coverage (KPI-02) meets its target in section 11 for three consecutive months. Platform shared capabilities stay centrally funded during platform adoption, as set in the Internal Developer Platform Charter (architecture/internal-developer-platform-charter).]

Dispute process: owners raise disputes within [10 business days] of the report. The FinOps team corrects tags or rules in the next cycle; finance posts corrections only above [USD 1,000] per line (Example threshold).

10. Mapping to FOCUS 1.4

Allocation elementFOCUS 1.4 columnNotes
OrganisationBillingAccountId, BillingAccountNameTop of the hierarchy
Account, subscription or projectSubAccountId, SubAccountName, SubAccountTypeKey into the account registry
Resource tagsTagsJSON object of finalised user-defined and provider-defined tags
Data generator-calculated split allocationAllocatedResourceId, AllocatedResourceName, AllocatedTags, AllocatedMethodId, AllocatedMethodDetailsPresent only when the provider calculates split cost allocation, for example for container workloads
Service groupingServiceName, ServiceCategory, ServiceSubcategoryServiceCategory uses the specification's fixed list of allowed values
Charge typeChargeCategory, ChargeClassDrives the untaggable rules in section 7
Cost measure for allocationEffectiveCostAmortised cost after discounts; use BilledCost only to reconcile with invoices
CommitmentsCommitmentDiscountId, CommitmentDiscountStatusUnused commitment handling in UNT-04
PeriodBillingPeriodStart, BillingPeriodEnd, ChargePeriodStart, ChargePeriodEndMonthly allocation uses the billing period
Invoice reconciliationInvoiceId, and the Invoice Detail and Billing Period datasets added in FOCUS 1.4Reconcile chargeback totals (BilledCost) to provider invoices before finance posts journals

10.1 Custom columns for enrichment

When the organisation adds its own allocation results to a FOCUS dataset, name the added columns with the x_ prefix (required by the Custom Column Handling attribute of FOCUS 1.4) and in Pascal case with Id or Name suffixes (recommended by the same attribute), so that they cannot collide with columns added in later FOCUS versions.

Custom columnContentPopulated by
x_CostCenterId (Example)Final cost centre after precedence rulesAllocation job
x_OwnerTeamName (Example)Final owning teamAllocation job
x_ServiceId (Example)Final service IDAllocation job
x_AllocationRuleId (Example)Rule applied (tag, registry, SHR-NN, UNT-NN or unallocated)Allocation job
x_TagCompliant (Example)true when all mandatory tags are present and validCompliance scan

The FOCUS specification also covers data generator-calculated split cost allocation: when a provider splits one charge into allocated charges, the sum of each cost and quantity column across the allocated charges must equal the origin charge. Apply the same rule to internal splits: the sum of allocated amounts per rule MUST equal the source charge, and the monthly report MUST show the reconciliation.

11. Compliance measurement

KPI IDKPIFormulaTargetCadence
KPI-01Tag complianceEffectiveCost of taggable charges with all mandatory tags valid / EffectiveCost of all taggable chargesExample: at least 95%Monthly, daily trend
KPI-02Allocation coverageEffectiveCost allocated by tag, data generator split, registry or rule / total EffectiveCostExample: at least 98%Monthly
KPI-03Unallocated share1 minus KPI-02Example: at most 2%Monthly
KPI-04Remediation timeMedian days from detection of a non-compliant resource to fixExample: at most 5 business daysMonthly
KPI-05Report timelinessBusiness days from billing period close to published allocationExample: at most 5Monthly

Example month for Corvid Commerce:

ItemAmount (USD)
Total EffectiveCost640,000
Untaggable (support 18,000 plus tax 4,000)22,000
Taggable640,000 minus 22,000 = 618,000
Taggable with all mandatory tags valid571,650
Taggable but non-compliant618,000 minus 571,650 = 46,350
Of which allocated by account registry defaults30,000
Unallocated46,350 minus 30,000 = 16,350
  • KPI-01 tag compliance = 571,650 / 618,000 = 92.5% (below the 95% target: action required).
  • KPI-02 allocation coverage = (571,650 + 22,000 + 30,000) / 640,000 = 623,650 / 640,000 = 97.4% (below the 98% target).
  • KPI-03 unallocated share = 16,350 / 640,000 = 2.6% (above the 2% limit: CAT-POL-010 investigation required).

The Cloud Cost Review (ops/finops-cost-review) reports these KPIs per account each period. This standard owns their definitions.

12. Exceptions and risk acceptance

Request exceptions through [FinOps intake] with the policy statement affected, the reason, the compensating allocation method and an end date. Exceptions are granted for at most [6 months] and may be renewed once; a second renewal needs the platform steering group or the CFO delegate.

Exception IDPolicyScopeReasonCompensating methodApproved byExpires
CAT-EXC-001 (Example)CAT-POL-004Legacy data warehouse accountProvider service does not support tag policies at createRegistry defaults; whole account is one service[@finops-lead]YYYY-MM-DD
CAT-EXC-002 (Example)CAT-POL-002Acquired company accountsIntegration in progressFixed allocation to the acquired business unit[@cfo-delegate]YYYY-MM-DD
[CAT-EXC-NNN][Policy][Scope][Reason][Method][@name]YYYY-MM-DD

13. Review cycle and related documents

Review this standard at least yearly, and also after a reorganisation, a new cloud or SaaS provider, a new FOCUS version, or a quarter in which KPI-03 exceeded its limit twice. The FinOps lead owns the review; finance confirms the hierarchy.

DocumentRelationship
Cloud Cost Review (ops/finops-cost-review)Periodic review that reports compliance against this standard
Landing Zone Design (architecture/landing-zone-design)Account structure, registry creation and tag guardrails
Infrastructure as Code Module Specification (ops/iac-module-specification)Tagging contract of each module
Kubernetes Cluster Design (ops/kubernetes-cluster-design)Namespace labels and cluster cost tooling
Internal Developer Platform Charter (architecture/internal-developer-platform-charter)Funding model for platform shared costs
TCO Analysis (architecture/tco-analysis)Forward-looking cost estimates that use the same dimensions

14. Glossary and references

14.1 Glossary

TermMeaning
AllocationAssigning a charge to an accountable owner and business dimension
ShowbackReporting allocated cost to owners without booking it to their budgets
ChargebackBooking allocated cost to the owner's budget through finance
Shared costCost of a resource or service used by several owners
Untaggable chargeCharge that cannot carry a resource tag
Idle capacityPaid capacity that no workload requested in the period
Account registryRecord of each account with its default allocation dimensions
EffectiveCostFOCUS column for amortised cost after applicable discounts
Allocated chargeFOCUS row produced when a data generator splits one origin charge across several consumers; identified by a non-null AllocatedResourceId
CorrectionFOCUS ChargeClass value for a charge that corrects a closed billing period
Effective tagsThe tags a resource ends up with after provider default tags, inherited tags and resource tags are merged
Custom columnColumn added to a FOCUS dataset outside the specification, prefixed x_
Policy as codeRules written as code and evaluated automatically in pipelines or platforms

14.2 References

ReferenceVersion or date checkedUse
FinOps Open Cost and Usage Specification (FOCUS), github.com/FinOps-Open-Cost-and-Usage-Spec/FOCUS_Spec (tag v1.4) and focus.finops.org1.4, ratified 2026-06-04, checked 2026-10-24Column names, ChargeCategory and ChargeClass semantics, Custom Column Handling, split cost allocation, Invoice Detail dataset
FinOps Framework, FinOps Foundation, finops.org/framework2026 update, checked 2026-10-24Allocation, Invoicing & Chargeback and Governance, Policy & Risk capabilities
Open Policy Agent, Rego policy language, openpolicyagent.orgCurrent documentationPolicy as code example syntax
Cloud Cost Review (ops/finops-cost-review)CompanionPeriodic review
Landing Zone Design (architecture/landing-zone-design)CompanionAccount structure and guardrails

Standard and licence note

Based on the FinOps Open Cost and Usage Specification (FOCUS) 1.4, ratified on 2026-06-04, and aligned with the FinOps Framework (2026 update) of the FinOps Foundation, both published under the Creative Commons Attribution 4.0 International licence (CC BY 4.0, https://creativecommons.org/licenses/by/4.0/). FOCUS is © Joint Development Foundation Projects, LLC, FinOps Open Cost and Usage Specification (FOCUS) Series and its contributors. See https://focus.finops.org/ and https://www.finops.org/framework/. FOCUS column names and FinOps capability names are used with attribution; the specification text is not reproduced, and all policy statements, rules, examples and the policy-as-code sample are original to this collection. FinOps capability names change between framework updates: check the current list at finops.org/framework before use. Open Policy Agent and Terraform are trademarks of their owners; this template is not affiliated with or endorsed by them. Corvid Commerce is fictional. Check the current official versions before use. Template licence: MIT.

関連テンプレート