sf-catalog
Before Writing Code
Fetch live docs before implementing catalog features.
- Web-search: "Salesforce B2C Commerce Cloud catalog management documentation 2026"
- Web-search: "Salesforce B2B Commerce Product2 ProductCatalog documentation 2026"
- Web-search: "Salesforce B2C Commerce price books promotions documentation 2026"
- Web-search: "Salesforce B2B Commerce buyer groups entitlements 2026"
- Web-fetch the SFCC Business Manager catalog structure reference
- Web-fetch the Salesforce Product2 and Pricebook2 object reference
Conceptual Architecture
B2C Commerce Catalog Model
Master Catalog (shared across sites)
-> Site Catalog (site-specific subset)
-> Categories (hierarchical tree)
-> Products (assigned to categories)
Catalog Hierarchy:
- Master Catalog: Contains all products, shared across multiple sites
- Site Catalog: Site-specific subset; inherits products from master
- Categories: Hierarchical navigation tree; products have one primary category, multiple secondary
- Catalog Assignment: Products linked to catalogs via catalog-product relationships
Product Type Taxonomy:
| Product Type |
Description |
| Standard Product |
Simple product without variations |
| Master Product |
Parent defining shared attributes |
| Variation Group |
Optional grouping layer between master and variations |
| Variation Product |
Specific SKU with unique variation attributes (color, size) |
| Product Set |
Curated collection (e.g., "Complete the Look") |
| Product Bundle |
Package of products sold together at bundle price |
Attribute System:
- Products carry standard attributes (name, description, price, images) and custom attributes
- Searchable attributes are indexed for full-text search and faceted navigation
- Variation attributes (color, size) define the master-to-variation relationship
- Custom attributes defined in Business Manager or via XML import
Pricebook Hierarchy:
| Concept |
Detail |
| Price Book |
Container for prices; supports multiple currencies |
| List Price |
Base price (MSRP) |
| Sale Price |
Promotional price, time-bound |
| Customer Group Pricing |
Segment-specific prices |
| Price Book Inheritance |
Child books inherit from parent; override selectively |
| Price Tiers |
Quantity-based pricing rules |
Promotions Engine:
- Product promotions (discount on specific products/categories)
- Order promotions (cart-level, e.g., $10 off $50)
- Shipping promotions (free/discounted shipping)
- Qualifiers: cart total, product quantity, customer group
- Exclusivity rules control stacking; coupon codes single-use or multi-use
Search and Refinements:
- Proprietary search index managed by Salesforce
- Searchable attributes indexed for faceted navigation
- Sorting rules: relevance, price, newest, custom
- Search suggestions (typeahead), did-you-mean, search redirects
Import/Export:
- Bulk XML import via Business Manager or jobs; strict XSD schema
- Delta import for incremental updates (performance optimization)
- Import modes: replace, update, or delete existing data
B2B Commerce Catalog Model
ProductCatalog (B2B container)
-> ProductCategory (categories)
-> Product2 (standard Salesforce object)
-> PricebookEntry (price per pricebook)
-> Buyer Group Entitlements
B2C vs B2B Catalog Comparison:
| Aspect |
B2C (SFCC) |
B2B (Lightning) |
| Product object |
SFCC Product (proprietary) |
Product2 (standard sObject) |
| Category object |
SFCC Category |
ProductCategory (B2B-specific) |
| Price container |
Price Book (SFCC) |
Pricebook2 (standard sObject) |
| Price entry |
Price per book + currency |
PricebookEntry (junction object) |
| Visibility control |
Site catalog assignment |
Buyer Group Entitlements |
| Variant model |
Master -> Variation Products |
Product2 child records + custom fields |
| Search |
Proprietary SFCC index |
Commerce Search (Einstein-powered) |
| Import |
XML via Business Manager |
Batch Apex, Platform Events, Data Loader |
Entitlements and Visibility (B2B):
- Buyer Groups: collections of buyer accounts (WebStore BuyerGroup)
- Product Entitlements: control which buyer groups see which products
- Price Entitlements: control which buyer groups see which prices
- Account hierarchies: parent-child visibility inheritance
Volume Pricing (B2B):
- Tiered pricing with quantity breaks at different unit prices
- Negotiated pricing via account-specific custom price books
- Contract pricing for long-term agreements per account
- Consider Salesforce CPQ for complex pricing logic
Content Integration (B2C)
- Content Library: Shared content assets (text, HTML, images)
- Content Slots: Dynamic placeholders on category and product pages
- Page Designer: Visual page builder for merchandising pages
Catalog Sync (B2B)
- ERP integration: sync products from SAP, Oracle, or other systems
- Scheduled batch Apex or Platform Events for bulk updates
- Change Data Capture (CDC) for real-time product updates
- Custom Metadata for catalog configuration without custom objects
Code Examples
// Pattern: B2C product retrieval
// Fetch live docs for SCAPI Shopper Products API
// GET /products/{id} -> product attributes, pricing, variants
// Pattern: B2B product query with entitlements
// Fetch live docs for Product2, BuyerGroup, and Entitlement objects
// Query Product2 WHERE entitled for buyer group
Best Practices
B2C Catalog Structure
- Keep master catalog clean; use site catalogs for site-specific products
- Limit category depth to 3-4 levels for performance and UX
- Plan variation attributes upfront (color, size) for consistency
- Use delta imports for incremental updates; validate XML against XSD before import
B2C Pricing and Promotions
- Use price book inheritance to avoid duplicate pricing data
- Set list price and sale price separately (never overwrite list)
- Test promotion stacking rules before launch to prevent unintended discounts
- Schedule promotions to auto-start/end (avoid manual changes)
B2B Catalog Management
- Use standard Product2 fields where possible; avoid over-customization
- Create buyer-group-specific price books; use standard book as fallback
- Document entitlement rules clearly (who sees what)
- Use batch Apex or Platform Events for large catalog syncs from ERP
Cross-Platform
- Maintain single source of truth for product master data (PIM or ERP)
- Rebuild search indexes after major catalog changes
- Test catalog changes in sandbox before production
- Use SCAPI (not OCAPI) for new B2C implementations
Fetch the SCAPI Shopper Products reference and Salesforce Product2 object docs for exact field names and schemas before implementing.
1---2name: sf-catalog3description: Manage Salesforce Commerce catalogs — B2C (Business Manager catalogs, categories, products, pricing books, promotions, search indexes) and B2B (Product2, Pricebook2, PricebookEntry, volume discounts, entitlements). Use when working with product data across either platform.4---56# sf-catalog78## Before Writing Code910**Fetch live docs before implementing catalog features.**11121. Web-search: "Salesforce B2C Commerce Cloud catalog management documentation 2026"132. Web-search: "Salesforce B2B Commerce Product2 ProductCatalog documentation 2026"143. Web-search: "Salesforce B2C Commerce price books promotions documentation 2026"154. Web-search: "Salesforce B2B Commerce buyer groups entitlements 2026"165. Web-fetch the SFCC Business Manager catalog structure reference176. Web-fetch the Salesforce Product2 and Pricebook2 object reference1819## Conceptual Architecture2021### B2C Commerce Catalog Model2223```24Master Catalog (shared across sites)25 -> Site Catalog (site-specific subset)26 -> Categories (hierarchical tree)27 -> Products (assigned to categories)28```2930**Catalog Hierarchy:**31- **Master Catalog**: Contains all products, shared across multiple sites32- **Site Catalog**: Site-specific subset; inherits products from master33- **Categories**: Hierarchical navigation tree; products have one primary category, multiple secondary34- **Catalog Assignment**: Products linked to catalogs via catalog-product relationships3536**Product Type Taxonomy:**3738| Product Type | Description |39|---|---|40| Standard Product | Simple product without variations |41| Master Product | Parent defining shared attributes |42| Variation Group | Optional grouping layer between master and variations |43| Variation Product | Specific SKU with unique variation attributes (color, size) |44| Product Set | Curated collection (e.g., "Complete the Look") |45| Product Bundle | Package of products sold together at bundle price |4647**Attribute System:**48- Products carry standard attributes (name, description, price, images) and custom attributes49- Searchable attributes are indexed for full-text search and faceted navigation50- Variation attributes (color, size) define the master-to-variation relationship51- Custom attributes defined in Business Manager or via XML import5253**Pricebook Hierarchy:**5455| Concept | Detail |56|---|---|57| Price Book | Container for prices; supports multiple currencies |58| List Price | Base price (MSRP) |59| Sale Price | Promotional price, time-bound |60| Customer Group Pricing | Segment-specific prices |61| Price Book Inheritance | Child books inherit from parent; override selectively |62| Price Tiers | Quantity-based pricing rules |6364**Promotions Engine:**65- Product promotions (discount on specific products/categories)66- Order promotions (cart-level, e.g., $10 off $50)67- Shipping promotions (free/discounted shipping)68- Qualifiers: cart total, product quantity, customer group69- Exclusivity rules control stacking; coupon codes single-use or multi-use7071**Search and Refinements:**72- Proprietary search index managed by Salesforce73- Searchable attributes indexed for faceted navigation74- Sorting rules: relevance, price, newest, custom75- Search suggestions (typeahead), did-you-mean, search redirects7677**Import/Export:**78- Bulk XML import via Business Manager or jobs; strict XSD schema79- Delta import for incremental updates (performance optimization)80- Import modes: replace, update, or delete existing data8182### B2B Commerce Catalog Model8384```85ProductCatalog (B2B container)86 -> ProductCategory (categories)87 -> Product2 (standard Salesforce object)88 -> PricebookEntry (price per pricebook)89 -> Buyer Group Entitlements90```9192**B2C vs B2B Catalog Comparison:**9394| Aspect | B2C (SFCC) | B2B (Lightning) |95|---|---|---|96| Product object | SFCC Product (proprietary) | Product2 (standard sObject) |97| Category object | SFCC Category | ProductCategory (B2B-specific) |98| Price container | Price Book (SFCC) | Pricebook2 (standard sObject) |99| Price entry | Price per book + currency | PricebookEntry (junction object) |100| Visibility control | Site catalog assignment | Buyer Group Entitlements |101| Variant model | Master -> Variation Products | Product2 child records + custom fields |102| Search | Proprietary SFCC index | Commerce Search (Einstein-powered) |103| Import | XML via Business Manager | Batch Apex, Platform Events, Data Loader |104105**Entitlements and Visibility (B2B):**106- Buyer Groups: collections of buyer accounts (WebStore BuyerGroup)107- Product Entitlements: control which buyer groups see which products108- Price Entitlements: control which buyer groups see which prices109- Account hierarchies: parent-child visibility inheritance110111**Volume Pricing (B2B):**112- Tiered pricing with quantity breaks at different unit prices113- Negotiated pricing via account-specific custom price books114- Contract pricing for long-term agreements per account115- Consider Salesforce CPQ for complex pricing logic116117### Content Integration (B2C)118119- **Content Library**: Shared content assets (text, HTML, images)120- **Content Slots**: Dynamic placeholders on category and product pages121- **Page Designer**: Visual page builder for merchandising pages122123### Catalog Sync (B2B)124125- ERP integration: sync products from SAP, Oracle, or other systems126- Scheduled batch Apex or Platform Events for bulk updates127- Change Data Capture (CDC) for real-time product updates128- Custom Metadata for catalog configuration without custom objects129130## Code Examples131132```javascript133// Pattern: B2C product retrieval134// Fetch live docs for SCAPI Shopper Products API135// GET /products/{id} -> product attributes, pricing, variants136```137138```apex139// Pattern: B2B product query with entitlements140// Fetch live docs for Product2, BuyerGroup, and Entitlement objects141// Query Product2 WHERE entitled for buyer group142```143144## Best Practices145146### B2C Catalog Structure147- Keep master catalog clean; use site catalogs for site-specific products148- Limit category depth to 3-4 levels for performance and UX149- Plan variation attributes upfront (color, size) for consistency150- Use delta imports for incremental updates; validate XML against XSD before import151152### B2C Pricing and Promotions153- Use price book inheritance to avoid duplicate pricing data154- Set list price and sale price separately (never overwrite list)155- Test promotion stacking rules before launch to prevent unintended discounts156- Schedule promotions to auto-start/end (avoid manual changes)157158### B2B Catalog Management159- Use standard Product2 fields where possible; avoid over-customization160- Create buyer-group-specific price books; use standard book as fallback161- Document entitlement rules clearly (who sees what)162- Use batch Apex or Platform Events for large catalog syncs from ERP163164### Cross-Platform165- Maintain single source of truth for product master data (PIM or ERP)166- Rebuild search indexes after major catalog changes167- Test catalog changes in sandbox before production168- Use SCAPI (not OCAPI) for new B2C implementations169170Fetch the SCAPI Shopper Products reference and Salesforce Product2 object docs for exact field names and schemas before implementing.