Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This document summarizes the known conformance gaps for the latest FOCUS 1.2-preview dataset in Microsoft Cost Management compared to the FOCUS 1.2 specification. To learn more about FOCUS, refer to the FOCUS overview.
Overall conformance
The Microsoft Cost Management FOCUS 1.2-preview dataset has a conformance score of 94%.
The remaining conformance gaps are summarized in the following sections. For details on these or other FOCUS requirements, refer to the full conformance report. The IDs provided in the tables are for reference purposes only. IDs aren't defined as part of FOCUS.
Missing data
| Issue | Workaround | Columns / Requirements |
|---|---|---|
ContractedUnitPrice and ContractedCost are 0 for Enterprise Agreement (EA) Marketplace charges, EA reservation usage when cost allocation is enabled, and all Microsoft Customer Agreement (MCA) reservation usage. |
Join with price sheet dataset. | ContractedCost, ContractedUnitPrice DH3.3.2, NH1-4, CnC4, CnUP4.2, SkPI5.8 |
ListCost isn't supported and is 0 for EA or MCA Marketplace charges, EA or MCA reservation usage. |
Join with price sheet dataset. | ListCost, ListUnitPrice DH3.3.2, NH1-4, LC4, LUP4.2 |
SkuId and SkuPriceId are null when a charge doesn't have a corresponding price in the price sheet, like savings plan unused charges and Marketplace charges. |
No action needed. | SkuId, SkuPriceId SkI4.2, SkPI4.2 |
PublisherName is null for reservation usage, reservation purchases, and savings plan unused charges. |
Replace null with "Microsoft". | PublisherName PbN4 |
InvoiceId isn't supported for EA accounts. |
None | InvoiceId II4.2 |
ChargeDescription is null for savings plan unused charges and charges that aren't directly associated with a product SKU. |
Replace with computed alternative as desired. | ChargeDescription CD4 |
ServiceName is empty for EA Marketplace purchases. |
Replace with PublisherName value. |
ServiceName SvN4 |
ServiceName is empty for MCA reservation and savings plan purchases, rounding adjustment, MACC shortfall, and Azure credit records. |
Replace with x_SkuMeterSubcategory value. |
ServiceName SvN4 |
CapacityReservationId and CapacityReservationStatus are not specified in the Cost Management FOCUS 1.2-preview dataset. |
Copy x_SkuDetails.VMCapacityReservationId and set status to Unused when ResourceId is the capacity reservation ID. |
CapacityReservationId, CapacityReservationStatus CRI1, CRS1 |
CommitmentDiscountQuantity and CommitmentDiscountUnit are not specified in the Cost Management FOCUS 1.2-preview dataset. |
Multiply the ConsumedQuantity by the instance size flexibility normalized ratio and set the unit to the currency for savings plans or ConsumedUnit. |
CommitmentDiscountQuantity, CommitmentDiscountUnit CDQ1, CDU1 |
SkuPriceDetails is not specified in the Cost Management FOCUS 1.2-preview dataset. |
Use x_SkuDetails and prefix all property names with "x_". |
SkuPriceDetails SkPD1 |
AvailabilityZone isn't available in cost datasets and the column isn't included in the dataset. |
Join with resource details. | AvailabilityZone AZ1 |
Inconsistent data
| Issue | Workaround | Columns / Requirements |
|---|---|---|
SkuPriceId doesn't identify a single price and doesn't have an equivalent in the price sheet. |
For EA accounts, join with the price sheet using x_SkuMeterId/MeterId, x_SkuOfferId/OfferID, x_SkuTerm/Term, and CommitmentDiscountType/PriceType. For MCA accounts, join with the price sheet using SkuPriceId and a concatenated "{ProductId}{SkuId}{MeterId}" string, x_SkuTerm/Term, CommitmentDiscountType/PriceType, and x_SkuTier/TierMinimumUnits. |
SkuPriceId SkPI5.6-7 |
CommitmentDiscountId doesn't match ResourceId exactly because ResourceId is lowercased to meet FOCUS requirements. |
Convert CommitmentDiscountId to lowercase if comparing to ResourceId. |
CommitmentDiscountId, ResourceId DH3.12, SH2 |
ResourceName may not be in the original case. |
Lowercase to ensure consistent casing when grouping and file a support request on the service responsible for the resource. | ResourceName SH3 |
SkuMeter may be different for a given SkuId. |
No action needed. | SkuMeter SkM4 |
SkuId may be different for some SKUs that offer the same functionality. |
No action needed. | SkuId SkI5.2-3 |
Other nonfunctional gaps
| Issue | Workaround | Columns / Requirements |
|---|---|---|
x_SkuMeterCategory and x_SkuMeterSubcategory are not normalized. |
Evaluated maximum length as of October 2024 is 355 characters. | x_SkuMeterCategory, x_SkuMeterSubcategory CH3.1.2 |
ChargeDescription max length isn't documented. |
Evaluated maximum length as of October 2024 is 355 characters. | ChargeDescription CD4 |
| Provider-specified tags aren't prefixed. | No action needed. | Tags T5.1 |
| Negotiated discounts do not have an identifier. | Compare ListCost and ContractedCost to identify negotiated discounts. |
DH3.3.2 |
Give feedback
Let us know how we're doing with a quick review. We use these reviews to improve and expand FinOps tools and resources.
If you're looking for something specific, vote for an existing or create a new idea. Share ideas with others to get more votes. We focus on ideas with the most votes.
Related content
Related resources:
Related products:
Related solutions: