SaaS Price Indexing

SaaS price indexing speeds up the time that it takes for price changes to get reflected on Commerce Servicesafter they have been submitted. This allows merchants with large, complex catalogs, or with multiple websites or customer groups, to continually process price changes.
If you have a headless storefront or use the catalog-adapter extension, customers can disable the Adobe Commerce core price indexer.

Computational heavy processes such as indexation and price calculation have been moved from the Commerce core to Adobe’s Cloud infrastructure. This allows merchants to quickly scale up resources to boost price indexation times, and reflect those changes faster.

The Core indexing data flow to SaaS services looks like:

Default data flow

With SaaS price indexing, the flow is:

SaaS price indexing data flow

All merchants can benefit from these improvements, but those who will see the greatest gains are customers with:

  • Constant price changes: Merchants that require repeated changes to their prices to meet strategic goals such as frequent promotions, seasonal discounts, or inventory markdowns.
  • Multiple websites and/or customer groups: Merchants with shared product catalogs across multiple websites (domains/brands) and/or customer groups.
  • Large number of unique prices across websites or customer groups: merchants with extensive shared product catalogs that contain unique prices across websites or customer groups, such as B2B merchants with pre-negotiated prices, brands with different pricing strategies.

SaaS price indexing is available for free for customers using Adobe Commerce services and supports price calculation for all built-in Adobe Commerce product types.

This guide describes how SaaS price indexing works and how to enable it.

Requirements

Luma and Adobe Commerce Core GraphQL users can install the catalog-adapter extension that provides Luma and Core GraphQl compatibility and disables the Adobe Commerce Product Price indexer.

Usage

After upgrading your Adobe Commerce instance with SaaS price indexing support, sync the new feeds:

bin/magento saas:resync --feed=scopesCustomerGroup
bin/magento saas:resync --feed=scopesWebsite
bin/magento saas:resync --feed=prices

Prices for custom product types

Price calculations are supported for custom product types such as base price, special price, group price, catalog rule price, etc.

If you have a custom product type that uses a specific formula to calculate final price, you can extend the behavior of the product price feed.

  1. Create a plugin on the Magento\ProductPriceDataExporter\Model\Provider\ProductPrice class.

    code language-xml
    <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xsi:noNamespaceSchemaLocation="urn:magento:framework:ObjectManager/etc/config.xsd">
        <type name="Magento\ProductPriceDataExporter\Model\Provider\ProductPrice">
            <plugin name="custom_type_price_feed" type="YourModule\CustomProductType\Plugin\UpdatePriceFromFeed" />
        </type>
    </config>
    
  2. Create a method with the custom formula:

    code language-php
    class UpdatePriceFromFeed
    {
        /**
        * @param ProductPrice $subject
        * @param array $result
        * @param array $values
        *
        * @return array
        */
        public function afterGet(ProductPrice $subject, array $result, array $values) : array
        {
            // Override the output $result with your data for the corresponding products (see original method for details)
            return $result;
        }
    }
    
recommendation-more-help
d84c01c7-401e-4340-8dad-f91bb65421cb