Skip to content
Log in

Reserved products

On this page

Reserved products are product records added to Salesforce by StoreConnect that are used during checkout. Each reserved product is tied to a specific feature and should be treated as do not modify or delete — without them, StoreConnect will error when attempting to use that feature.

StoreConnect uses reserved products to add extra line items to an order (for example, a shipping charge or a promotional discount). For this to work, each reserved product must have an active price book entry (PBE) in every price book your store uses — one per price book, per currency.

These are the reserved products created by StoreConnect:

  • StoreConnect Shipping — added to orders when a shipping method is selected
  • StoreConnect Promotion — added to orders when a discount or promotion code is applied
  • StoreConnect Cash Rounding — added to orders to round the total to the nearest cash denomination
  • StoreConnect Tipping — added to orders when a customer adds a tip

All reserved products are created with Active = false, which is intentional and correct. However, their price book entries must be active for StoreConnect to use them.

Reserved product validation

StoreConnect checks for a valid price book entry at the moment each reserved product is needed, not proactively. Specifically:

  • Shipping — checked when shipping rates are requested (on the cart page, during express checkout, or when custom shipping rates are fetched)
  • Promotions — checked when a customer applies a promo code
  • Cash rounding and tipping — checked at order creation when StoreConnect attempts to add those line items

This means a missing price book entry may not surface until a customer reaches a specific step in checkout, at which point they will see an error and be unable to proceed.

Reserved product price book entries

StoreConnect automatically manages reserved product PBEs in three situations:

  • On installation or upgrade — the post-install handler creates all four reserved products and a PBE for every price book and currency in your org.
  • When a new price book is created — a trigger on the Pricebook2 object fires and creates PBEs for all reserved products on that new price book.
  • When a store’s currency changes — a trigger on the Store object creates PBEs for the new currency on all reserved products.

To prevent configuration issues, validation rules block any attempt to deactivate a reserved product PBE. If you try to set a PBE to inactive, Salesforce will return an error: “Reserved product price book entries must be active.”

If a validation rule or unexpected required field on the Product or PricebookEntry object prevents creation during install or a trigger run, you may be prompted during installation to resolve the issue and retry, or to create the records manually.

Check and fix missing price book entries

If a reserved product PBE was not created (for example, because of a trigger failure during install or a manual deletion), follow these steps:

  1. In Salesforce, go to Products and search for each reserved product by name (StoreConnect Shipping, StoreConnect Promotion, StoreConnect Cash Rounding, StoreConnect Tipping).
  2. Open each product and review the Price Books related list.
  3. Confirm there is an entry for every price book in your org, and that each entry is Active.
  4. If an entry is missing, click Add Standard Price or use the Add to Price Book action to create a new entry with a unit price of $0.00 and set it to Active.

:::note If your org uses multiple currencies, you need one active price book entry per currency per price book for each reserved product. :::

Manually create a reserved product

If a reserved product record is missing entirely, you must create it with exact field values — StoreConnect identifies these products by their sC Id field, not their name.

Create a Product2 record

Add the record with the following details:

Field Value
Name See product table below
Description See product table below
sC Id (s_c__sC_Id__c) See product table below — must match exactly
Active false
Is Master (s_c__Is_Master__c) true
Sync to Google (s_c__Sync_To_Google__c) false

The four reserved products and their required values:

Name Description sC Id
StoreConnect Shipping Used internally for StoreConnect shipping, DO NOT EDIT OR DELETE 11111111-1111-1111-1111-111111111111
StoreConnect Promotion Used internally for StoreConnect promotions, DO NOT EDIT OR DELETE 22222222-2222-2222-2222-222222222222
StoreConnect Cash Rounding Used internally for StoreConnect cash rounding, DO NOT EDIT OR DELETE 33333333-3333-3333-3333-333333333333
StoreConnect Tipping Used internally for StoreConnect tipping, DO NOT EDIT OR DELETE 44444444-4444-4444-4444-444444444444

Add the product to the price book

Next, create a PricebookEntry for each product on every price book in your org, starting with the Standard price book. If your org uses multiple currencies, create one price book entry per currency per price book.

Field Value
Pricebook Standard price book, then each price book in your org
Unit Price 0.00
Active true

:::warning You must add the product to the standard price book first, otherwise Salesforce will reject custom price book entries with a STANDARD_PRICE_NOT_DEFINED error. :::

Was this article helpful?

Was this article helpful?