The FinOps Open Cost and Usage Specification (FOCUS) is an open specification that normalizes billing datasets across data generators, reducing complexity for FinOps Practitioners.
This certification is available to FinOps Foundation members that generate billing data which reliably supports the FOCUS v1.3 specification by providing structurally conformant datasets, expected types and formats (with any deviations disclosed in the Conformance Gap Report), and consistent core calculations. It provides practitioners confidence that a provider’s data meets published specification requirements, providing assurance that datasets substantially align with the FOCUS v1.3 specification, within the published deviation thresholds.
Please contact member-cert@finops.org to request a Request for Information (RFI) document and kickstart the certification process for your FOCUS implementation. If your organization is not a FinOps Foundation member but wishes to participate in the FOCUS certification process, contact hello@finops.org to discuss membership options.
The certification program currently validates conformance for FOCUS v1.2 and FOCUS v1.3.
Subsequent versions of FOCUS are under active development. As the FOCUS specification evolves, the certification program will be updated and expanded to align with each new release.
Each version will have its own defined conformance criteria. Once released, each version will have a 24-month window during which certifications may be issued for that version. As future FOCUS versions add datasets, the Full-tier’s coverage will expand to include all datasets defined in that version. Each new dataset contributes its own Mandatory column requirements to Full-tier evaluation.
Please check this page regularly for updates, or contact member-cert@finops.org for the latest information on certification timelines and criteria for a specific FOCUS version.
This certification offers two tiers, allowing data generators to certify based on the FOCUS datasets their software produces. Tiers are self-selected at submission. A data generator may certify at the Essential-tier without supporting the additional dataset required by the Full-tier.
This certification tier involves the Cost and Usage dataset. It is for any FOCUS-conformant data generator.
Required Dataset: Cost and Usage
This certification tier is more comprehensive than the Essential tier. It involves multiple datasets, including cross-dataset relationship guarantees between the Cost and Usage dataset and the Contract Commitment dataset. It is for FOCUS-conformant data generators providing a collection of datasets beyond cost and usage.
Required Datasets: Cost and Usage + Contract Commitment
Generators holding Essential Tier certification may upgrade to Full Tier certification only by submitting a new full submission covering all contributing datasets together. Partial submissions are not accepted because the cross-dataset checks at Full-tier require all datasets evaluated together against current production data. The upgrade submission produces a new Full-tier certification with its own validity window, and replaces the prior Essential-tier certification.
An overview of the requirements for the FinOps Certified FOCUS v1.3 Conformant certification.
Being a FinOps Foundation Member and Linux Foundation Member in good standing are prerequisites to becoming a FinOps Certified FOCUS Conformant.
The FinOps Certified FOCUS Conformant certification requires individuals in your organization to have achieved FinOps Certified FOCUS Analyst certifications based on your organization’s size.
The following table outlines the type and number of certifications that individuals in your organization require for a FOCUS Data Generator.
| Company Size | FinOps Certified FOCUS Analyst |
|---|---|
| 5,000 + | 10 |
| 500 – 4,999 | 5 |
| 100 – 499 | 3 |
| Less than 100 | 2 |
The “Company Size” column in this table refers to the parent organization size that was used for defining your fee structure when you joined the Linux Foundation and counts are not based on the individual business unit. For example, a 100 person product team that is part of a 1,500 person organization would fall into the “500-4,999” individual certification requirement tier, and not the “100-499” individual certification requirement tier.
The certification process requires the following:
FinOps Foundation (F2) staff will run the FOCUS Validator – an F2 open-source application that validates sample data against a specific version of the FOCUS specification – on the submitted sample data.
The results of the FOCUS Validator analysis, together with the information provided in the RFI, are used to complete the certification review and determine whether a data generator is eligible for FinOps Certified FOCUS Conformant status.
The certification process is considered complete only when F2 staff have verified that conformance gap and column mapping reports, and confirmed they are publicly accessible.
To support the conformance certification review and validation process, data generators are required to provide the information outlined below.
This information ensures accurate identification of the data generator, establishes a point of contact for follow-up questions, and enables effective evaluation of the submitted sample data against certification criteria.
Sample data must be drawn from production data, or a functionally equivalent dataset used to serve production consumers, in a way that preserves the distribution of edge cases present in production. Samples engineered to avoid known nulls, conformance failures, or other edge conditions are not acceptable. If a gap exists in production, it must exist in the sample. Documentation of a deviation in a footnote is not a substitute for that deviation appearing in the submitted sample
Sample data must also remove or mask personally identifiable information while preserving structural validity. Hash or replace IDs (BillingAccountId, SubAccountId, ResourceId), remove names and tag values. Do not anonymize cost columns, dates, currencies, categories, or quantities needed for validation.
All of the following criteria are required:
The criteria in this section derive directly from the FOCUS v1.3 specification’s Requirements Model.
A column is in scope when its Feature Level is “Mandatory” and its Status is not “Deprecated.” As the specification evolves, the corresponding criteria for future certifications will be derived for each new version of the FinOps Open Cost and Usage Specification (FOCUS).
Two columns are designated “Mandatory” in the FOCUS v1.3 specification but are also marked as deprecated as of v1.3 and are therefore excluded from this version’s certification scope: ‘PublisherName’ and ‘ProviderName’. Both are removed entirely in subsequent FOCUS versions.
Data providers generating FOCUS conformant Cost and Usage datasets are required to support the FOCUS columns listed below. Column presence is non-negotiable: a missing Mandatory column is an automatic non-certification at any tier.
All of the following criteria are required for Essential Tier certification:
Billed Cost [Column ID: BilledCost]
Billing Account ID [Column ID: BillingAccountId]
Billing Account Name [Column ID: BillingAccountName]
Billing Currency [Column ID: BillingCurrency]
Billing Period End [Column ID: BillingPeriodEnd]
Billing Period Start [Column ID: BillingPeriodStart]
Charge Category [Column ID: ChargeCategory]
Charge Class [Column ID: ChargeClass]
Charge Description [Column ID: ChargeDescription]
Charge Period End [Column ID: ChargePeriodEnd]
Charge Period Start [Column ID: ChargePeriodStart]
Contracted Cost [Column ID: ContractedCost]
Effective Cost [Column ID: EffectiveCost]
Host Provider Name [Column ID: HostProviderName]
Invoice Issuer Name [Column ID: InvoiceIssuerName]
List Cost [Column ID: ListCost]
Pricing Quantity [Column ID: PricingQuantity]
Pricing Unit [Column ID: PricingUnit]
Service Category [Column ID: ServiceCategory]
Service Name [Column ID: ServiceName]
Service Provider Name [Column ID: ServiceProviderName]
Full-tier submissions must additionally support the FOCUS Contract Commitment columns listed below. Column presence is non-negotiable: a missing Mandatory column is an automatic non-certification at Full tier.
All of the following criteria are required for Full Tier certification:
Billing Currency [Column ID: BillingCurrency, Contract Commitment dataset]
Contract Commitment Category [Column ID: ContractCommitmentCategory]
Contract Commitment Cost [Column ID: ContractCommitmentCost]
Contract Commitment Description [Column ID: ContractCommitmentDescription]
Contract Commitment ID [Column ID: ContractCommitmentId]
Contract Commitment Period End [Column ID: ContractCommitmentPeriodEnd]
Contract Commitment Period Start [Column ID: ContractCommitmentPeriodStart]
Contract Commitment Quantity [Column ID: ContractCommitmentQuantity]
Contract Commitment Type [Column ID: ContractCommitmentType]
Contract Commitment Unit [Column ID: ContractCommitmentUnit]
Contract ID [Column ID: ContractId]
Contract Period End [Column ID: ContractPeriodEnd]
Contract Period Start [Column ID: ContractPeriodStart]
Full-tier submissions are evaluated for valid join relationships between contributing datasets. The following cross-dataset checks apply to FOCUS v1.3.
Note the current FOCUS Validator processes a single dataset file at a time. For FOCUS v1.3 certification, cross-dataset integrity is evaluated through self-attestation supported by representative-sample inspection by F2 staff. Multi-dataset validator support is planned for future certification versions.
A submission qualifies as FOCUS v1.3 certified at either tier only if the submitted data demonstrates at least one capability introduced in v1.3. This prevents a v1.3 certification from being claimed for a submission that exercises only pre-v1.3 content.
The Version Capability Demonstration Requirement is met when at least one of the criteria listed below is met in the submitted dataset sample.
At least one of the following criteria is required:
For Cost and Usage submissions, populating ServiceProviderName satisfies this requirement, since ServiceProviderName is Mandatory and was introduced in v1.3. Full-tier submissions automatically satisfy this requirement through the presence of the Contract Commitment dataset, which was introduced at v1.3. Data Generators may still certify at a prior FOCUS version if their data meets that version’s requirements but does not exercise any v1.3-new elements.
Deviations are counted at the column level. A column with one or more rule failures counts as a single deviation, regardless of how many rules failed on that column. Each dataset’s allowances and thresholds are evaluated independently. A Full-tier submission must pass both the Mandatory column gap allowance and the non-mandatory deviation threshold for every contributing dataset.
Mandatory Columns
All Mandatory columns are required to be present. However Mandatory column content rules are subject to a per-dataset gap allowance. When a Mandatory column is present in correct type and format but contains content rule failures (invalid values, unjustified nulls, or other deviations from FOCUS-defined behavior on that column), the column is counted as a “Mandatory column gap”. Submissions are allowed a limited number of “Mandatory column gaps” per dataset, calculated as approximately 20% of the Mandatory column count for that dataset.
The following table outlines the dataset type and the per-dataset gap allowance permitted for Mandatory column content rules.
| Dataset Type | Mandatory Columns | Gap Allowance |
|---|---|---|
| Cost and Usage | 21 | 4 |
| Contract Commitment | 13 | 3 |
Non-Mandatory Columns
For non-mandatory columns, the MUST and MUST NOT violations are counted separately using a per-dataset threshold. The threshold is calibrated as approximately one-third of the non-mandatory column count for each dataset, with a floor of 5.
Cost and Usage dataset:
Contract Commitment dataset:
Indicate if the data you generate for key areas – including infrastructure, billing and pricing, and account management features – can be mapped to FOCUS columns. This information helps practitioners understand the scope of support for non-mandatory FOCUS v1.3 columns.
Any of the following criteria are required:
| Availability Zones | Mapped to the AvailabilityZone FOCUS Cost and Usage column |
| Capacity Reservations | Mapped to any of the CapacityReservation.* FOCUS Cost and Usage columns |
| Commitment Discounts | Mapped to any of the CommitmentDiscount.* FOCUS Cost and Usage columns |
| Multi-Currency Pricing | Mapped to the PricingCurrency, and any of the PricingCurrency.* FOCUS Cost and Usage columns |
| Multiple Billing Account Types | Mapped to the BillingAccountType FOCUS Cost and Usage column |
| Multiple Sub Account Types | Mapped to the SubAccountType FOCUS Cost and Usage column |
| Regions | Mapped to the RegionId, and RegionName FOCUS Cost and Usage columns |
| Resource-Based Billing | Mapped to the ResourceId, ResourceName, and ResourceType FOCUS Cost and Usage columns |
| SKU Pricing | Mapped to the SkuId, SkuPriceId, SkuMeter, and SkuPriceDetails FOCUS Cost and Usage columns |
| Sub Accounts | Mapped to the SubAccountId, and SubAccountName FOCUS Cost and Usage columns |
| Tags | Mapped to the Tags FOCUS Cost and Usage columns |
| Unit Pricing | Mapped to the ListUnitPrice, and ContractedUnitPrice FOCUS Cost and Usage columns |
Some criteria involve semantic or business logic rules that cannot be automatically verified. In this section, data generators are asked to self-assess their sample data and disclose any areas where their datasets do not meet the expected outcomes.
Examples include cross-row relationships (like commitment amortization totals), alignment with external data (such as the ‘BilledCost’ FOCUS column sums matching invoice totals), and semantic correctness (for instance, the ‘ConsumedQuantity’ FOCUS column accurately reflecting actual usage).
Any known deviations from the expected outcomes must be documented and included in publicly accessible FOCUS conformance information required for this certification.
Attestation and deviation documented for the following criteria is required:
| Invoice Alignment | Sum of BilledCost for InvoiceId matches invoice total from InvoiceIssuer |
| Marketplace Billing | BilledCost is 0 (zero) for charges where payments go to third parties |
| Commitment Amortization | Sum of EffectiveCost equals BilledCost of commitment purchase (both used & unused) |
| Commitment Purchase EffectiveCost | EffectiveCost is 0 (zero) for purchases covering future charges |
| Consumed Quantity Semantics | ConsumedQuantity represents actual consumption, not billed quantity |
| Pricing Math | The UnitPrice multiplied by the PricingQuantity equals corresponding FOCUS Billing or Pricing Cost column |
| Currency Consistency | BillingCurrency matches currency used in invoices from InvoiceIssuer |
| Billing Period Boundaries | BillingPeriodStart/BillingPeriodEnd correctly represent inclusive/exclusive time period bounds |
| Charge Period Boundaries | ChargePeriodStart/ChargePeriodEnd correctly represent inclusive/exclusive time period bounds |
| Identifier Uniqueness | IDs (BillingAccountId, ResourceId, …etc) are unique within a provider scope |
| Immutable ID Consistency | Immutable identifiers remain consistent across billing periods |
Billing model constraints that impact multiple data generators across the industry may impact FOCUS conformance. In these cases, an exception may be requested to allow the certification process to move forward.
When requesting a Known Industry Limitation exception, data generators must supply evidence demonstrating multi–data generator impact, clearly describe the underlying architectural root cause, and document any available practitioner workarounds.
A Known Industry Limitation exception request is considered when it meets the following criteria:
Any approved Known Industry Limitation exception requests must be documented and included in publicly accessible FOCUS conformance information required for this certification.
Below is an example of a Known Industry Limitation request that uses the FOCUS column called ConsumedQuantity to illustrate an exception request format.
Column Affected: ConsumedQuantity
Requirement Violated:
ConsumedQuantity MUST represent the volume of a metered SKU associated with a resource or service used, based on the Consumed Unit.
Description of Limitation:
Cloud platforms measure and bill usage in minimum increments rather than exact consumption. For example, compute services may bill in 1-second or 1-minute minimum increments even when actual usage is shorter. A VM running for 45 seconds may be reported as 60 seconds of ConsumedQuantity.
Root Cause (Architectural):
Billing systems round up to minimum increments at the metering layer, before data reaches the billing export. Providers cannot retroactively derive actual sub-increment consumption because the underlying telemetry is aggregated and discarded. This is fundamental to how metering pipelines operate at scale, not a transformation choice.
Multi-Provider Impact:
Practitioner Workaround:
Use PricingQuantity for cost calculations rather than ConsumedQuantity when analyzing short-duration workloads. When comparing consumption across providers, normalize to the largest minimum increment in your dataset.
Practitioners rely on documentation about the behavior of your FOCUS implementation.
To successfully complete the certification process, publish a gap report and column mapping reference, both of which must be publicly accessible, that document alignment, deviations, and known industry limitations between the data generator output and the FOCUS specification.
The published information may include additional context, and examples not provided by the gap report or column mapping reference to help practitioners understand the derivation of FOCUS columns from your source data.
The certification process is considered complete only when F2 staff have verified the gap and column mapping reports, and that they are publicly accessible.
| Public Documentation | Details |
|---|---|
| Conformance Gap Report |
|
| Column Mapping Reference |
|
Contact us at member-cert@finops.org to request an RFI document and get started on your certification process.
No. There is no separate fee for certification. Certification is available for FinOps Foundation members in good standing. Membership funds the certification program; if a non-member data generator wishes to participate, contact hello@finops.org to discuss membership options for your organization.
This certification signals to the community that…
Use of the FinOps Certified® mark and the FinOps Certified FOCUS Generator badge is governed by the LF Projects Trademark Policy. Certified data generators in good standing may display the badge on their websites, marketing materials, and product documentation. Additionally, the badge will be displayed on your FinOps Foundation Member profile page, the FinOps Landscape, and on your booth at the FinOps X conference.
Badge usage must accurately represent the scope and tier of the certification awarded. Examples of misuse include:
Questions about specific use cases should be directed to the FinOps Foundation. Use that conflicts with the LF Projects Trademark Policy is subject to LF Projects enforcement.
The individual certification requirements aim to validate the knowledge required for understanding and supporting the FOCUS specification for data generation provided by your software.
No. The different types of individual certifications are mutually exclusive. For example, one FinOps Certified Professional certification does not substitute for any FinOps Certified FOCUS Analyst certifications.
The FOCUS Validator is an open-source Python application that validates datasets against the FOCUS specification. It processes large datasets, executes validation rules, and generates detailed compliance reports. You can download and run the validator on your sample data at any time, including before submitting for certification. Details and source code are available on GitHub.
A non-passing submission does not terminate the certification process. Instead, it identifies areas requiring remediation before certification can be granted. FinOps Foundation staff will communicate the specific deficiencies in writing and work with the data generator to clarify the changes needed for resubmission, such as a Known Industry Limitation that was not accepted as submitted.
Data generators are provided a 1-month remediation window beginning on the date the certification result is communicated. During this period, the submission may be revised and resubmitted without restarting the certification process. After the remediation window expires, a new submission is required.
Both Parquet and CSV formats are accepted. The sample must include at least one complete billing period with a representative mix of charge categories.
Remove or mask personally identifiable information while preserving structural validity. Hash or replace IDs (BillingAccountId, SubAccountId, ResourceId), remove names and tag values. Do not anonymize cost columns, dates, currencies, categories, or quantities needed for validation.
Static and Dynamic classify what information a validation rule depends on, not whether the rule can be automated.
Dynamic checks are not inherently non-automatable; they simply depend on inputs the FOCUS Validator does not yet consume. As validation tooling evolves to incorporate additional sources such as catalog metadata or invoice references, more Dynamic checks may become automatable. The Static or Dynamic classification of a rule does not change; only the validation coverage provided by the Validator expands.
Accuracy for Dynamic checks is further reinforced through Practitioner usage after certification. If Practitioners identify behavior that diverges from a data generator’s published Conformance Gap Report or documented Dynamic check responses, the discrepancy may be reviewed with the data generator and can result in updated disclosures or, in cases of material misrepresentation, revocation of certification.
Certified sample data is contributed to the FOCUS Sandbox and attributed to your organization. This helps practitioners learn from real-world, certified FOCUS implementations and demonstrates your organization is actively contributing to the advancement of the FinOps practice and strengthening interoperability across the ecosystem.
Only certified submissions. Sample data from data generators who do not achieve certification will not be added to the FOCUS Sandbox.
Provider-attributed. Datasets are labeled by data generator name, allowing practitioners to explore how specific data generators implement the specification.
Customer data protected. Sample data must have PII removed before submission per the Provider Submission Guide. The Sandbox contains no customer-identifiable information.
Version-tagged. Data is associated with the FOCUS version against which it was certified.
Contributing to the FOCUS Sandbox is part of becoming a FinOps Certified FOCUS Conformant data provider.
The Mandatory columns for certification are derived directly from the FOCUS specification’s Requirements Model. Any column whose Feature Level is “Mandatory” in the specified FOCUS version is in scope, except those whose Status is “Deprecated.” This rule is mechanical and applies uniformly across versions and tiers, eliminating subjective per-version selection. For FOCUS v1.3, this produces 21 Cost and Usage Mandatory columns at the Essential tier and 13 additional Contract Commitment Mandatory columns at the Full tier.
Essential tier covers the FOCUS Cost and Usage dataset. Full tier additionally covers the Contract Commitment dataset and includes cross-dataset integrity checks between the two. Tiers are self-selected at submission. A data generator may certify at Essential without supporting Full. Generators holding Essential certification may upgrade to Full only by submitting a fresh full submission covering all contributing datasets together.
Each dataset has a fixed allowance for the number of Mandatory columns that may have content gaps and still result in certification. Cost and Usage permits up to 4 gaps; Contract Commitment permits up to 3 gaps. Allowances are evaluated independently per dataset; a Full-tier submission must pass the allowance for every contributing dataset. A missing Mandatory column is not absorbed by the allowance and results in automatic non-certification.
A v1.3 certification requires that the submitted data exercises at least one capability introduced at v1.3. For Cost and Usage submissions, this is satisfied when ServiceProviderName (introduced in v1.3) is populated in the submitted rows. For Full-tier submissions, the presence of the Contract Commitment dataset itself satisfies the requirement, since that dataset was introduced at v1.3. Generators submitting only pre-v1.3 content can still certify at the relevant prior FOCUS version.
Submitted samples must be drawn from production data, or a functionally equivalent dataset used to serve production consumers, in a way that preserves the distribution of edge cases present in production. Samples engineered to avoid known nulls, conformance failures, or other edge conditions are not acceptable. If a deviation is disclosed in your Conformance Gap Report, the sample must exhibit it.
Deviations are counted at the column level in two distinct ways:
SHOULD violations and gaps in recommended or optional columns are disclosed in the Conformance Gap Report but do not affect certification status. A missing Mandatory column is not a gap; it is an automatic non-certification.
A Known Industry Limitation is a deviation caused by fundamental billing model constraints affecting multiple data generators. Approved Known Industry Limitations are excluded from the deviation count but must be disclosed publicly.
When requesting a Known Industry Limitation exception, data providers must supply evidence demonstrating three criteria have been met: (1) affects two or more data providers, (2) there is a billing architecture limitation(s) rather than implementation choices, and (3) has a clear practitioner workaround documented.
You choose the format: web page, PDF, Markdown, or any publicly accessible format without paywall or registration. The Gap Report must include: certification summary, deviation list with workarounds, Known Industry Limitations (if any), and applicability declarations.
Documentation showing how each FOCUS column is derived from your native billing data, including source fields and transform logic. This helps practitioners understand your transformation logic and troubleshoot discrepancies.
Yes. If your conformance status changes (e.g., you fix a deviation), you may update your Conformance Gap Report and notify F2 Staff. Your certification remains valid; updates are informational.
Certified data providers are listed publicly on the FOCUS website with their FOCUS version, certification date, deviation count, Known Industry Limitation count (if any), and links to their published Conformance Gap Report and Column Mapping Reference.
No. Certification is version-specific. For example, a FOCUS 1.2 certification is independent of FOCUS 1.3 certification. You must separately certify for each version you wish to claim.
We are actively developing certification support for subsequent versions. Check back for updates to this page or contact member-cert@finops.org for the latest timeline.
Your current certification remains valid and on record indefinitely. Once released, each version will have a 24-month window during which certifications may be issued for that version. There are no retroactive changes to historical certifications. Each FOCUS version will have its own certification criteria, and you must submit a separate request to become certified for another FOCUS version.
Yes. Each FOCUS version will have its own certification criteria, and you must submit a separate request to become certified for another FOCUS version. Your current certification(s) remains valid and on record indefinitely.
Yes! Details about the FOCUS Validator are available in GitHub using the link here.
Yes. The FOCUS Validator is available for you to use anytime. It provides a robust validation framework that can process large datasets, execute complex validation rules, and generate detailed reports about compliance with FOCUS.
Yes. The FOCUS Validator is available for you to use anytime. It provides a robust validation framework that can process large datasets, execute complex validation rules, and generate detailed reports about compliance with FOCUS.
The certification is not shareable or inheritable by partners. The certification does not extend to partners that white-label your software offerings.
Contact us at member-cert@finops.org