{"title":"Reserved products","slug":"reserved-products","url":"https://support.storeconnect.com/articles/reserved-products","url_markdown":"https://support.storeconnect.com/articles/reserved-products.md","subtitle":null,"summary":"Reserved products are product placeholders StoreConnect uses for charges that are not really products: shipping, promotions, tipping, and cash rounding. Do not modify or delete them. Each needs an active price book entry on every price book in the org.","type":"Help_Documentation","video_url":"","keywords":"reserved products, reserved, price book, checkout products, modified products, discount products, promotional products, shipping method products","last_modified":"2026-08-21T07:12:35+0000","body_markdown":"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.\n\nStoreConnect 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.\n\nThese are the reserved products created by StoreConnect:\n\n- **StoreConnect Shipping** — added to orders when a shipping method is selected\n- **StoreConnect Promotion** — added to orders when a discount or promotion code is applied\n- **StoreConnect Cash Rounding** — added to orders to round the total to the nearest cash denomination\n- **StoreConnect Tipping** — added to orders when a customer adds a tip\n\nAll 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.\n\n## Reserved product validation\n\nStoreConnect checks for a valid price book entry at the moment each reserved product is needed, not proactively. Specifically:\n\n- **Shipping** — checked when shipping rates are requested (on the cart page, during express checkout, or when custom shipping rates are fetched)\n- **Promotions** — checked when a customer applies a promo code\n- **Cash rounding and tipping** — checked at order creation when StoreConnect attempts to add those line items\n\nThis 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.\n\n## Reserved product price book entries\n\nStoreConnect automatically manages reserved product PBEs in three situations:\n\n- **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.\n- **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.\n- **When a store's currency changes** — a trigger on the Store object creates PBEs for the new currency on all reserved products.\n\nTo 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.\"*\n\nIf 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.\n\n## Check and fix missing price book entries\n\nIf a reserved product PBE was not created (for example, because of a trigger failure during install or a manual deletion), follow these steps:\n\n1. In Salesforce, go to **Products** and search for each reserved product by name (StoreConnect Shipping, StoreConnect Promotion, StoreConnect Cash Rounding, StoreConnect Tipping).\n2. Open each product and review the **Price Books** related list.\n3. Confirm there is an entry for every price book in your org, and that each entry is **Active**.\n4. 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**.\n\n:::note\nIf your org uses multiple currencies, you need one active price book entry per currency per price book for each reserved product.\n:::\n\n## Manually create a reserved product\n\nIf 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.\n\n### Create a Product2 record\n\nAdd the record with the following details:\n\n| Field | Value |\n|---|---|\n| Name | See product table below |\n| Description | See product table below |\n| sC Id (`s_c__sC_Id__c`) | See product table below — must match exactly |\n| Active | false |\n| Is Master (`s_c__Is_Master__c`) | true |\n| Sync to Google (`s_c__Sync_To_Google__c`) | false |\n\nThe four reserved products and their required values:\n\n| Name | Description | sC Id |\n|---|---|---|\n| StoreConnect Shipping | Used internally for StoreConnect shipping, DO NOT EDIT OR DELETE | `11111111-1111-1111-1111-111111111111` |\n| StoreConnect Promotion | Used internally for StoreConnect promotions, DO NOT EDIT OR DELETE | `22222222-2222-2222-2222-222222222222` |\n| StoreConnect Cash Rounding | Used internally for StoreConnect cash rounding, DO NOT EDIT OR DELETE | `33333333-3333-3333-3333-333333333333` |\n| StoreConnect Tipping | Used internally for StoreConnect tipping, DO NOT EDIT OR DELETE | `44444444-4444-4444-4444-444444444444` |\n\n### Add the product to the price book\nNext, 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.\n\n| Field | Value |\n|---|---|\n| Pricebook | Standard price book, then each price book in your org |\n| Unit Price | 0.00 |\n| Active | true |\n\n:::warning\nYou 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.\n:::"}