Price list item attributes
Pricing APIs compute list price for an item using price list lines. Price list line contains pricing information for a given SKU (ItemID, UOM), or SKU with differing pricing dates, or SKU with differing quantity tiers in Sterling™ Order Management System Software.
To use the attribute based unit price for an item, you need to enable the pricing organization rule, Enable Attribute Based Unit Price.
When enabled, this feature allows you to model a price list line to store list price, based on the mentioned parameters as well as on item attributes. Item attributes for a price list line can be an exact match to the item attributes, or non-overlapping ranges or combination of both. Item attributes can be numeric or alphabetic.
In attribute based pricing, list prices are determined using combination of item attributes and Item Id, UOM. The combination of item attributes can be an absolute string, or absolute decimal or range based decimal match.
For example, attribute tier based pricing can be setup as follows:
Use case 1
- In the SBC UI, define the item attribute using Manage attributes option from the Products tab.
The attribute in this example is a number attribute with allowed values specified as
(15)-15.Note: Do not include a space or special characters in the
AttributeID
. Attributes with spaces in theAttributeID
are not supported in this feature.From the SBC UI, define the values for these attributes using the attribute tiers.
- You can also model this use case by forming the API input as follows:Sample API input for
managePricelistLine
API<PricelistLineList OrganizationCode="DEFAULT"> <PricelistLine ItemID="Lenses" PricingStatus="ACTIVE" SellerOrganizationCode="DEFAULT" UnitOfMeasure="EACH" ListPrice="10.5" StartDateActive="2018-03-15" EndDateActive="2025-03-15"> <PricelistHeader PricelistName="PL"/> <PricelistLineAttrList> <PricelistLineAttr LineAttributeID="SphericalPower" LineAttributeGroupID="Numbers" LineAttributeDomain="ItemAttribute" GroupId="1" LineAttributeMinValue="1" LineAttributeMaxValue="1.25" Operation="Manage" ListPrice="9"/> </PricelistLineAttrList> </PricelistLine> </PricelistLineList>
Sample API input forgetItemPrice
API<ItemPrice Currency="USD" OrganizationCode="DEFAULT"> <LineItems> <LineItem ItemID="Lenses" LineID="1" Quantity="1" UnitOfMeasure="EACH"> <LineItemAttributes SphericalPower="1.05" /> </LineItem> <LineItem ItemID="Lenses" LineID="2" Quantity="1" UnitOfMeasure="EACH"> </LineItem> </LineItems> </ItemPrice>
Sample API input forgetOrderPrice
API<Order OrderReference="" OrganizationCode="DEFAULT" EnterpriseCode="DEFAULT" Currency="USD" > <OrderLines> <OrderLine ItemID="Lenses" UnitOfMeasure="EACH" Quantity="12" LineID="1"> <CustomAttributes SphericalPower="1.05" /> </OrderLine> </OrderLines> </Order>
Use case 2
- In the SBC UI, define the item attribute using Manage attributes option from the Products tab. The attribute in this example is a number attribute with allowed values specified as (15)-15. From the SBC UI, define the values for these attributes using the attribute tiers.
- You can also model this use case by forming the API input as follows:Sample API input for
managePricelistLine
API<PricelistLineList OrganizationCode="DEFAULT"> <PricelistLine ItemID="Lenses" PricingStatus="ACTIVE" SellerOrganizationCode="DEFAULT" UnitOfMeasure="EACH" ListPrice="10.5" StartDateActive="2018-03-15" EndDateActive="2025-03-15"> <PricelistHeader PricelistName="PL"/> <PricelistLineAttrList> <PricelistLineAttr LineAttributeID="SphericalPower" LineAttributeGroupID="Numbers" LineAttributeDomain="ItemAttribute" GroupId="2" LineAttributeNumberValue="2.50" Operation="Manage" ListPrice="7"/> </PricelistLineAttrList> </PricelistLine> </PricelistLineList>
Sample API input forgetItemPrice
API<ItemPrice Currency="USD" OrganizationCode="DEFAULT" > <LineItems> <LineItem ItemID="Lenses" LineID="1" Quantity="1" UnitOfMeasure="EACH"> <LineItemAttributes SphericalPower="2.5"/> </LineItem> <LineItem ItemID="Lenses" LineID="2" Quantity="1" UnitOfMeasure="EACH"> </LineItem> </LineItems> </ItemPrice>
Sample API input forgetOrderPrice
API<Order OrderReference="" OrganizationCode="DEFAULT" EnterpriseCode="DEFAULT" Currency="USD" > <OrderLines> <OrderLine ItemID="Lenses" UnitOfMeasure="EACH" Quantity="12" LineID="1"> <CustomAttributes SphericalPower="2.5"/> </OrderLine> </OrderLines> </Order>
Use case 3
- In the SBC UI, define the item attribute using Manage attributes option from the Products tab. The attribute in this example is a number attribute with allowed values specified as (15)-15. From the SBC UI, define the values for these attributes using the attribute tiers.
- You can also model this use case by forming the API input as follows:Sample API input for
managePricelistLine
API<PricelistLineList OrganizationCode="DEFAULT"> <PricelistLine ItemID="Lenses" PricingStatus="ACTIVE" SellerOrganizationCode="DEFAULT" UnitOfMeasure="EACH" ListPrice="10.5" StartDateActive="2018-03-15" EndDateActive="2025-03-15"> <PricelistHeader PricelistName="PL"/> <PricelistLineAttrList> <PricelistLineAttr LineAttributeID="SphericalPower" LineAttributeGroupID="Numbers" LineAttributeDomain="ItemAttribute" GroupId="3" LineAttributeMinValue="1.5" LineAttributeMaxValue="2.15" Operation="Manage" ListPrice="8"/> </PricelistLineAttrList> </PricelistLine> </PricelistLineList>
Sample API input forgetItemPrice
API<ItemPrice Currency="USD" OrganizationCode="DEFAULT" > <LineItems> <LineItem ItemID="Lenses" LineID="1" Quantity="1" UnitOfMeasure="EACH" > <LineItemAttributes SphericalPower="1.5"/> </LineItem> <LineItem ItemID="Lenses" LineID="2" Quantity="1" UnitOfMeasure="EACH" > </LineItem> </LineItems> </ItemPrice>
Sample API input forgetOrderPrice
API<Order OrderReference="" OrganizationCode="DEFAULT" EnterpriseCode="DEFAULT" Currency="USD"> <OrderLines> <OrderLine ItemID="Lenses" UnitOfMeasure="EACH" Quantity="12" LineID="1"> <CustomAttributes SphericalPower="1.5"/> </OrderLine> </OrderLines> </Order>
Use case 4
- In the SBC UI, define the item attribute using Manage attributes option from the Products tab. The attribute in this example is a number attribute with allowed values specified as (15)-15. From the SBC UI, define the values for these attributes using the attribute tiers.
- You can also model this use case by forming the API input as follows:
In this use case, for a given
ItemID
and UOM there is no list price which matches the data range. Hence, the default list price is used for this line item, since there is no record for this combination in the database.Sample API input forgetItemPrice
API<ItemPrice Currency="USD" OrganizationCode="DEFAULT"> <LineItems> <LineItem ItemID="Lenses" LineID="2" Quantity="1" UnitOfMeasure="EACH" > <LineItemAttribute SphericalPower=”3”/> </LineItem> <LineItem ItemID="Lenses" LineID="1" Quantity="1" UnitOfMeasure="EACH" > </LineItem> </LineItems> </ItemPrice>
Sample API input forgetOrderPrice
API<Order OrderReference="" OrganizationCode="DEFAULT" EnterpriseCode="DEFAULT" Currency="USD"> <OrderLines> <OrderLine ItemID="Lenses" UnitOfMeasure="EACH" Quantity="12" LineID="1"> <CustomAttributes SphericalPower="1.5"/> </OrderLine> </OrderLines> </Order>
The following table illustrates these use cases:
Product ID | List price | Quantity ordered | Attribute value | New List price |
---|---|---|---|---|
Lenses/Each | $10.00 | 1 | SphericalPower: +1.05 | $9.00 |
Lenses/Each | $10.00 | 1 | SphericalPower: +2.50 | $8.00 |
Lenses/Each | $10.00 | 1 | SphericalPower: 1.5 | $7.00 |
Lenses/Each | $10.00 | 1 | SphericalPower: 3 | $10.00 |
- Enable the pricing organization rule, Enable Attribute Based Unit Price. .
- Create attribute tiers for a price list item.
- Testing the pricing setup with item attributes.