Rebrand 2023 Learn more 

  • Price Books/

    Price Books

    In Product Experience Manager product, pricing and catalog data are all stored separately in Product Experience Manager. In Commerce, the product data is stored separately from pricing, catalogs, and inventory. This separation means that you retrieve all product data only when you are managing product data and assets. Otherwise, when setting prices or managing inventory, you retrieve a reference to the product rather than the entire product, which makes the response times very fast.

    pxm relationships

    You can use price books to configure your product pricing. Your price books are associated with your catalogs. Creating separate price books enables you to:

    • Maintain consistent and accurate pricing across all your product listings and channels.
    • Provide competitive pricing by creating different price books for different channels. For example, different pricing for different geographical regions, based on standard of living costs.
    • Provide personalized pricing by creating personalized price books. For example, pricing for loyalty customers versus new customers.
    • Enable cross-selling and upselling by offering sales and volume pricing for your products.
    • Create price-books based on real-time adjustments such as inventory levels and market conditions.

    Each catalog must have one price book. In your storefront, the product prices are displayed in the currency for the selected locale. If a product in the catalog does not have a price in the price book, the product is displayed without a price.

    A price book can be associated with multiple catalogs.

    Following on from this, you can associate more than one price book with a catalog. Price book stacking allows you to create multiple price books for different scenarios, such as seasonal sales, business versus retail customer pricing, and reward programs. If you have multiple price books, when you create a catalog, you must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books. For example, you may have products that have different prices based on region. You can have a price book with the standard retail pricing and then have a second price book that has different pricing for a different region. See Create a catalog.

    A price book contains a list of product SKUs and the prices you want to charge for those products. If your store supports multiple locales, a price book can contain product prices in each of the supported currencies. In addition, you can configure sales and volume (tier) pricing.

    price diagram

    Price books work with products that are defined using the Product Experience Manager resource model. If your products are defined using an earlier Products resource model, you will need to migrate products to the pcm/products resource before you implement price books.

    You can duplicate an existing price book and create a new price book. All products and prices associated with the price book are copied to the new price book. Based on the business requirements, you can use the same data or update the data.

    Volume (tiers) Pricing

    Using volume (tiers) pricing allows your store to offer different pricing for minimum quantities of items that your customers purchase. When a customer adds sufficient quantity of an item and meets the minimum required quantity for different pricing, all products with that item SKU are discounted in the cart. You can define the price range for different quantities of different items as in the following example:


    Sales Pricing

    With sales pricing, a store can optionally add a sale price to a product price. For example, a store can schedule seasonal pricing on products without creating a new price book and catalog ruleset. Optionally, a store can schedule the date ranges for the sale products.

    You can set a sale price for an item within a bundle so that the product is sold at the sale price when sold as part of the bundle. For example, if you have a bundle consisting of four items, you can apply a discounted price to an item within the bundle to get a bundle sales price. See Create bundle sale price.

    1. For sale prices in the same price book:

      • the schedules must not overlap.
      • if you have just one sale price, without a schedule, this is effectively a permanent price. If you want to add more sale prices to the price book, you must configure a schedule for the sale price.
    2. Sale prices in different price books can have overlapping schedules.

    Both list and sale price (or was/is prices) are available in the catalog response, enabling you to display slash pricing on your storefront, depending on your requirements.

    Price Modifiers

    You can use price modifiers to change the price property of child products. By default, child products inherit the same price as their base products. Using price modifiers, you can enable child products to inherit a different price. This enables you to configure the price of child products, for example, to be lower than its base product, without having to individually update the price of your child products. There are three types of price modifier.

    ModifierData TypeEffect
    price_incrementstringIncreases the price of a product.
    price_decrementstringDecreases the price of a product.
    price_equalsstringSets the price of a product to the amount you specify.

    The following is an overview of the steps you need to follow to use price modifiers.

    1. Create a price modifier. You must give the price modifier a unique name. For more information, see Create a Price Modifier
    2. Build your child products with the new product modifier. For more information, see Build Child Products.

    Bulk Creating/Updating Price Books and Prices

    You can create and update product price books and prices in bulk, at both organization and store level, using the Price Book Import API. This is useful, for example, if you have a promotion and want to update 50,000 product prices. Rather than having to go to each price book and manually edit 50,000 prices, you can use the Price Book Import API to bulk update all your product prices at the same time, including setting different prices for different currencies.

    See Price Book Import/Bulk Update.

    Was this helpful?