Work With a B2C Site12% of the exam

Products, variations, inventory lists and price books

How B2C Commerce product types, catalogs, inventory lists and session price books decide what a shopper can find, buy and pay, and which inventory flag or Script API call changes each outcome.

Official exam objective
Given a Business Manager task, work with the product data model to manage products and product search model, their categorization, and associated inventory and pricebooks.

~7 min read · 14 practice questions ·

What the exam expects

  • Separate the product (master) catalog from the storefront catalog and say which products ProductMgr.queryAllSiteProducts() returns for a site.
  • Predict whether a standard product, base product, variation group, variation product, product set or bundle can be bought, priced, promoted and found in search.
  • Pick the inventory list or inventory record setting (default in-stock flag, perpetual, backorder allocation, Use Bundle Inventory Only) that produces a required availability, and read ProductAvailabilityModel results.
  • Explain how checkout reserves stock, what cancellation does to it, and how to add a custom inventory attribute.
  • Control which price books a shopper's session uses with PriceBookMgr.

Key terms: base product (the non-sellable product that represents all its variations); variation group (a subset of a base product's variants sharing a value such as one color); inventory list (holds one inventory record per product; one list per site); perpetual (an inventory record flag meaning always in stock); ATS (available to sell); applicable price books (the price books set in the user session for price lookup).

Key facts

Product with no record
Detail
Decided by the list's default in-stock flag
Checkout reservation
Detail
Expires if not finalized within 10 minutes
Manual cancel or Order.setStatus()
Detail
Doesn't change stock levels
Base product
Detail
Can't be purchased; orderable if online and one variant is orderable
Product set price
Detail
Always the sum of its products; can't be set
Moving a variant
Detail
Release in one import, assign in a later one
queryAllSiteProducts()
Detail
SeekableIterator; call close() if not fully read
Session price books
Detail
Only the books set are used for lookup
Sources for this section (4)
  • When does getAvailabilityLevels() throw an exception?
  • Why can the product catalog stay unassigned from every site?
  • Why does a variation group show a price range even when its base product has a price book entry?
  • How often does the CleanupInventoryTransaction job run?

The questions are free to read. Answers with their sources and self-grading are included with the pack.

Keep reading with the B2C Commerce Developer pack

  • Core concepts
  • Exam traps
  • Worked scenario

The pack includes:

  • All 28 lessons of the B2C Commerce Developer guide, with reading progress
  • Interactive decision walks and step-by-step sequence steppers
  • Practice exams purchase adds inline bank questions and topic practice (14 questions for this lesson)
  • An official source cited for every claim
  • An AI tutor that answers from the guide
  • Choose guide-only, practice-only, or save $4 with both

Practice for the B2C Commerce Developer exam