Skip to main content
Use offers to let each store sell against Mercur’s shared master catalog on its own terms. The offer is the central concept of the marketplace. Products live in a single master catalog that no store owns; an offer is the record that connects a store to a master product variant. It carries everything that makes that listing the store’s own: its SKU, its price, its inventory, and its shipping profile. Cart and order line items link back to the exact offer that was purchased, so the whole order lifecycle knows which store fulfills and gets paid.
Products are shared; offers are owned. A store never owns a product. It publishes an offer against a master product variant. Two stores selling the same product each have their own offer, with their own SKU, price, and stock.

Key features

  • Per-store listings: one offer per store per variant, each with its own SKU (unique within a store).
  • Offer-scoped pricing: prices live on the master variant’s shared price set, scoped by an offer_id rule so every store prices independently.
  • Offer-scoped inventory: inventory items link to the offer, not the variant, so stock never leaks between stores.
  • Per-offer shipping: each offer points at the store’s own shipping profile.
  • Order attribution: cart and order line items link to the purchased offer, driving fulfillment, commission, and payouts.
  • Bulk operations: create and update many offers, and batch an offer’s inventory links, in a single workflow run.

Get started

Learn how the domain fits together:

What is an offer

The offer record, how it points at a master variant, and its SKU.

Pricing & inventory

Offer-scoped prices on the shared price set and offer-linked inventory.

Shipping

How an offer carries its own shipping profile.

Examples

Build against the Offer domain in your own code:

Create an offer

Run createOffersWorkflow with a price and inventory.

Bulk-create offers

List many offers against the catalog in one run.

Manage offer inventory

Attach, update, and detach inventory items on an offer.

Resources

Data models, workflows, service methods, and events for the Offer domain:

Data models

The Offer entity and its fields.

Links

How the Offer domain links to other modules.

Workflows

Create, update, delete, and inventory-batch workflows.

Service

Module service methods for working with records directly.

Events

Events emitted as offers change.