Skip to content

Commit

Permalink
#503a - Update SkuPriceId per SkuPriceDetails (#530)
Browse files Browse the repository at this point in the history
This change is dependent on #503 being merged as it links to
SkuPriceDetails. This change to SkuPriceId solves for a case where a
provider does not have a SkuPriceId but wants to include
SkuPriceDetails. This case was introduced when there was a change in
scope of #503 to not include SkuDetails.

Changes:
- Reformatted normative to bullets
- Added option (MAY) to repeat SkuId as SkuPriceId when there is no
SkuPriceId, as long as other conditions are not violated.

---------

Co-authored-by: Udam Dewaraja <[email protected]>
Co-authored-by: Joaquin <[email protected]>
  • Loading branch information
3 people authored Sep 5, 2024
1 parent b9b8a24 commit 7091e62
Showing 1 changed file with 7 additions and 1 deletion.
8 changes: 7 additions & 1 deletion specification/columns/skupriceid.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,13 @@

A SKU Price ID is a unique identifier that defines the unit price used to calculate the charge. SKU Price ID can be referenced on a [*price list*](#glossary:price-list) published by a provider to look up detailed information, including a corresponding list unit price. The composition of the properties associated with the SKU Price ID may differ across providers. SKU Price ID is commonly used for analyzing cost based on pricing properties such as Terms and Tiers.

The SkuPriceId column MUST be present in a FOCUS dataset when the provider publishes a SKU price list. This column MUST be of type String. SkuPriceId MUST define a single unit price used for calculating the charge. The [ListUnitPrice](#listunitprice) MUST be associated with the SkuPriceId in the provider published *price list*. This column MUST NOT be null when [ChargeClass](#chargeclass) is not "Correction" and [ChargeCategory](#chargecategory) is "Usage" or "Purchase", MUST be null when ChargeCategory is "Tax", and MAY be null for all other combinations of ChargeClass and ChargeCategory. A given value of SkuPriceId MUST be associated with one and only one [SkuId](#skuid), except in cases of commitment discount flexibility.
The *SkuPriceId* column adheres to the following requirements:
- *SkuPriceId* MUST be present in a FOCUS dataset when the provider publishes a SKU price list and MUST be of type String.
- *SkuPriceId* MUST define a single unit price used for calculating the charge.
- [*ListUnitPrice*](#listunitprice) MUST be associated with the *SkuPriceId* in the provider published price list.
- *SkuPriceId* MUST NOT be null when [*ChargeClass*](#chargeclass) is not "Correction" and [*ChargeCategory*](#chargecategory) is "Usage" or "Purchase", MUST be null when *ChargeCategory* is "Tax", and MAY be null for all other combinations of *ChargeClass* and *ChargeCategory*.
- A given value of *SkuPriceId* MUST be associated with one and only one [*SkuId*](#skuid), except in cases of commitment discount flexibility.
- If a provider does not have a *SkuPriceId* and wants to include information in columns linked to *SkuPriceId* such as *ListUnitPrice* or [*SkuPriceDetails*](#skupricedetails), the *SkuId* MAY be used in the *SkuPriceId* column as long as it adheres to the above conditions.

## Column ID

Expand Down

0 comments on commit 7091e62

Please sign in to comment.