Localized Pricebooks

Configure localized pricebooks per country through the SFCC Business Manager.

Localized Price Books

Localized price taken directly from SFCC price books (no FX conversion at render time).

The Localized Price Books feature allows you to generate country-specific price books by applying FX rates, retailer uplifts, estimated duties, taxes, and rounding rules provided by the ESW Pricing Advisor.

Once generated, the final localized product prices are compiled into price books that can be exported to external marketplaces, enabling more targeted promotions, flexible shipping options, and improved conversion rates for international shoppers.

eswRetailerLocalizedPricing

The eswRetailerLocalizedPricing job is responsible for converting product prices into localized values and exporting them. It works in conjunction with the ESW Localized Pricing Countries custom preference to perform the following tasks:

Assign Converted Prices to Local Price Books

  • If a local price book already exists:
    • The job converts all prices from the base price book to local prices using the relevant FX rate, country-specific uplifts, and rounding rules.
    • The updated prices are assigned to the existing local price book.
  • If a local price book does not exist:
    • The job performs the same price conversion process and assigns the resulting prices to a newly created local price book.::

Export Local Price Books

  • Converted prices are stored in XML files following the SFCC Price Book XML schema.
  • For each local price book, the job generates a corresponding XML file and exports it to the IMPEX directory, as defined by the impexDirPath parameter.

Import Local Price Books into SFCC

The ImportPriceBook job is used to import the generated local price books from the IMPEX directory into the SFCC Business Manager, making them available for use within the storefront or third-party platforms.

In line with SFCC standards and the overall ESW cartridge design, product data is retrieved using the ProductSearchModel. This model only includes products that are both searchable and orderable. Any customizations required to include additional or non-standard product data must be implemented by the retailer.

Scalability Recommendation

To ensure performance and scalability when working with large catalogs, ESW recommends generating localized price books in the PIM (Product Information Management system) and then importing them into Salesforce Commerce Cloud (SFCC) as read-only price books.

  • Reduces import time significantly
  • Prevents performance bottlenecks during high-volume catalog processing
  • Maintains consistency across external marketplaces and storefronts

Why Localized Price Books Are Required

Most third-party marketplaces validate product pricing before allowing listings on their platforms. This validation process involves performing URL lookups of the product detail pages (PDP), where the marketplace scrapes product content—including the price—for accuracy.

If prices are rendered dynamically using templates (e.g., calculated on-the-fly via ESW APIs at runtime), the marketplace cannot verify the pricing, and the product listing may be rejected.

Therefore, to ensure successful validation, it is highly recommended that retailers use localized price books, which:

  • Contain pre-calculated final prices per market and currency
  • Serve as a reliable source of truth for both storefront and marketplace feeds
  • Guarantee pricing is available for non-interactive validation (without shopper session or currency detection logic)

Additional Benefits

Beyond supporting third-party marketplaces, localized price books allow retailers to:

  • Display accurate prices across regions
  • Enable native features such as promotions, call-out messages, and other localized merchandising tools
  • Improve shopper trust and conversion by maintaining consistent and transparent pricing

This feature is essential for retailers aiming to offer a seamless international experience and meet the technical requirements of global distribution channels.

Exclude or Freeze Product Prices from Localized Price Books

This feature provides flexibility to either exclude specific products from localized price book generation for a given country or freeze existing product prices from being updated when running the latest Pricing Advisor calculations.

This is especially useful for:

  • Maintaining manual price overrides
  • Excluding non-sellable items in certain markets
  • Preserving price integrity during automated updates

How to Exclude or Freeze Product Prices

Follow the steps below to configure exclusions or freezes

Merchant Tools → Products and Catalogs → Products

Locate

Locate the product by entering its Product ID in the search.

Make Changes

Open and lock the product to make changes.

ESW Configurations

Under the ESW Configurations section, locate:
List of countries where product price is not calculated

Enter ISO code

Enter the ISO code of the country where the product price should be excluded or frozen.

  • To exclude from all localized price books, enter All.
  • To exclude from multiple countries, click Add another value and enter additional ISO codes.

Apply changes

Click Apply to save your changes.

After this configuration, the selected product will not qualify for the price calculation in the localized price book for configured localized countries.

ESW Skip Localized Product Flag

The flag eswSkipFlaggedLocalPrice determines how freeze prices are incorporated into localized price books.

eswSkipFlaggedLocalPrice set to No (default):

  • If a localized price book already exists for the country:
    • Prices for products with a freeze product price are retained from the previous localized price book. They are not recalculated based on PA data.
    • Prices for products without a freeze product price are calculated based on their corresponding PA data.
  • If there is no existing localized price book for the country:
    • Prices for products with a freeze product price are omitted from the generated price book.
    • Prices for products without a freeze product price are calculated based on their corresponding PA data.

eswSkipFlaggedLocalPrice set to Yes

  • Prices for products with a freeze price are copied from the base price book into the localized price book. Only the currency is converted to match the localized currency.
  • Prices for products without a freeze price are calculated based on their corresponding PA data.

Bulk Products Restriction Management

You can update, delete, or change the value of countries for multiple products using any of the following two methods:

  • Bulk Update via Attributes in Business Manager
  • Bulk update via XML Import.

Bulk Update Via Attributes in Business Manager

Business Manager → Merchant Tools → Products and Catalogs → Products

Locate

In the Product Search section, click the By ID tab.
Under List of IDs, enter the product IDs and click Find.

Select Products

Click Select all to select all the products, then click Edit all or Edit Selected.

Edit Attributes

Choose the Update/Delete Product Attributes action and click Next >>.

Choose Attribute

Click Select attributes and choose eswProductPriceFreezeCountries.

Enter ISO Codes

Enter the Country ISO codes for exclusion or freezing.

  • To exclude/freeze for all localized price books, enter All.
  • To add multiple values, use comma-separated codes or add one by one.

Complete Update

Click Finish or go to Batch Process to complete the update.

Bulk Update via XML Import

Prepare XML File

Create an XML file with the following structure:

Sample XML file
<?xml version="1.0" encoding="UTF-8"?>
<catalog xmlns="http://www.demandware.com/xml/impex/catalog/2006-10-31" catalog-id="apparel-catalog">
    <product product-id="701642853695">
    <custom-attributes>
        <custom-attribute attribute-id="eswProductPriceFreezeCountries">
        <value>FR</value>
        <value>GB</value>
        </custom-attribute>
    </custom-attributes>
    </product>
    <product product-id="701642853718">
    <custom-attributes>
        <custom-attribute attribute-id="eswProductPriceFreezeCountries">
        <value>FR</value>
        <value>DE</value>
        <value>SE</value>
        </custom-attribute>
    </custom-attributes>
    </product>
</catalog>

Create an XML file with catalog-id, product-id and values for Country ISO under the custom-attribute tag.

Business Manager → Merchant Tools → Products and Catalogs → Import & Export

Import File

Import the XML file in Business Manager by navigating to Merchant Tools > Products and Catalogs > Import & Export.

Upload

Click Upload under Import and Export files to upload the XML file.

Import and Export

Click the Import & Export module.

Select Uploaded XML File

Click Import under Catalogs and then select the uploaded XML file.

Choose Action

Click Next >> and then select the desired action Merge or Replace.

Finish

Click Finish

Connecting the SFCC Staging Instance to the ESW Production Pricing Advisor API

When using the Localized Price Books feature, ESW recommends connecting your SFCC Staging instance to the ESW Production Pricing Advisor API. This allows price books to be generated in Staging and then replicated to Production, ensuring a safer and more controlled deployment process.

Create the Production OAuth Service

  • Create a new OAuth service named: EswPriceFeedOAuthService.PROD
  • Configure this service with the ESW Production OAuth API URL.

Create the Production Price Feed Service

  • Create a new Price Feed service named: EswPriceFeedV3Service.PROD
  • Configure this service with the ESW Production Pricing Advisor API URL.

For instructions on how to create and configure services in SFCC Business Manager, refer to the official Salesforce Commerce Cloud documentation.

Update Site Preferences

  • Navigate to: Merchant Tools → Site Preferences → Custom Site Preferences → ESW Pricing Configuration
  • Complete the following:
    • Set ESW Price Feed Instance Switcher to Production
    • Enter the production client secret in ESW Production Client Secret for Price Feed Authorization Request

Stats And Load Testing Results

It is expected that a job will run faster on the primary instance group where there are more server resources assigned than available on Sandboxes.

Environment Catalogue Size Total Shopper/Local Markets Total Pricebooks Read Only Pricebook Flag Status Pricebook Generate Time (Minutes) Pricebook Import Time (Minutes) Total Time Taken
On Demand Sandbox 4k Products 30 60
30-List Pricebooks
30-Sale Pricebooks
Disabled 5:37 10:46 16:23
On Demand Sandbox 4k Products 30 60
30-List Pricebooks
30-Sale Pricebooks
Enabled 6:12 00:11 6:23
Staging
(tested on live retailer’s staging instance)
8k Products 130 ~200 Local Pricebooks Disabled 3 Minutes
Large Catalogue
(tested on live retailer’s staging instance)
130k Products 1 2 localized Pricebooks
(List & Sale)
Disabled 4 Minutes

When using Localized Price Books in SFCC, it's important to understand the resource constraints associated with each Salesforce Commerce Cloud realm. Salesforce allocates limited hardware resources per realm, and running long-duration jobs—such as generating localized price books for hundreds of thousands of SKUs across multiple local markets—can significantly impact SFCC performance. This may lead to:

  • System slowdowns
  • Job timeouts
  • Resource deadlocks

Recommendations

  • Assess Suitability Before Enabling
    Review:
    • Number of active SKUs in your catalog
    • Number of localized markets/currencies supported
    • SFCC performance and job processing statistics
  • Use Dynamic Pricing for Large Catalogs
    For retailers managing large product catalogs across many regions, the dynamic pricing model is recommended. In this model, prices are calculated at runtime during template rendering, reducing the load on batch job infrastructure.
  • Enable Read-Only Price Books
    If product prices are not being managed directly within SFCC, ESW strongly recommends using read-only price books to optimize performance.
    • Read-only price books significantly reduce price book import time
    • Ideal for scenarios where pricing is managed externally (e.g., in a PIM or external feed)

    To enable read-only price books: Navigate to Administration → Global Preferences → Feature Switches
    Activate the Read-Only Price Book setting under the Feature Switches section.