FOCUS conformance summary
This document summarizes the known conformance gaps for the latest FOCUS 1.0 dataset in Microsoft Cost Management compared to the FOCUS 1.0 specification. To learn more about FOCUS, refer to the FOCUS overview.
Overall conformance
The Microsoft Cost Management FOCUS 1.0 dataset has a conformance score of 96%.
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 DH2.4.2, NH1-3, CnC1.2, CnUP3.1 |
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 DH2.4.2, NH1-3, LC1.2, LUP3.1 |
SkuId is 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 SkI3.1 |
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 CD3 |
PublisherName is null for reservation usage, reservation purchases, and savings plan unused charges. |
Replace null with "Microsoft". | PublisherName PbN2.2 |
AvailabilityZone isn't available in cost datasets and the column isn't included in the dataset. |
Join with resource details. | AvailabilityZone AZ1 |
Incorrect data
Issue | Workaround | Columns / Requirements |
---|---|---|
Some columns can be "-2" or "Unassigned" when there's no value. | Replace "-2" and "Unassigned" with null. | SkuPriceId, SubAccountName, x_AccountId, x_AccountName, x_AccountOwnerId, x_InvoiceSectionId, x_InvoiceSectionName, x_PricingUnitDescription NH1-3, SAN3 |
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 , and CommitmentDiscountType /PriceType . Note MCA accounts also require the tier, which isn't currently available in any cost details dataset. |
SkuPriceId SkPI4 |
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 SH2 |
Other nonfunctional gaps
Issue | Workaround | Columns / Requirements |
---|---|---|
ChargeDescription max length isn't documented. |
Evaluated maximum length as of October 2024 is 355 characters. | ChargeDescription CD4 |
BillingAccountType and SubAccountType should be prefixed with x_. |
Do nothing. These columns are pending closure and inclusion in a future FOCUS version. There's an open pull request. | BillingAccountType, SubAccountType CNO2 |
BillingAccountName isn't guaranteed to be unique. |
Update billing account/profile name to be unique. | BillingAccountName BAN3 |
Provider-specified tags aren't prefixed. | No action needed. | Tags T10 |
Related content
Related resources:
Related products:
Related solutions: