1. Overview
  2. Create
  3. Products

Products (commerce)

The Products desk (/dxp/products) is where you manage catalogue items: titles, slugs, default prices, scheduled sale windows, status, optional variant matrices, and (where enabled) inventory and fulfilment helpers.

Confirm the active Space in the header matches the site that sells these products (Workspace and Spaces).

Routes

ActionRoute
List / create/dxp/products
Edit/dxp/products/edit?id=…
SavePOST /dxp/products/save
Create public pagePOST /dxp/products/page/new (from the product editor when no page exists yet)

Archive, inventory adjust, and fulfilment preview use dedicated POST endpoints (for example /dxp/products/archive, /dxp/products/inventory, /dxp/products/fulfil) when your plan and modules expose them.

Default price and status

  • Default price — The regular price in the Space currency when no sale window is active.
  • StatusDraft (not sold publicly), Active (eligible for storefront and checkout), or Archived.

Scheduled sale prices

Use Scheduled sale prices on the product editor to run time-limited promotions (for example “Spot Sale”, Christmas, Black Friday).

FieldMeaning
LabelShort name shown on the storefront when the sale is active (optional promo label).
Starts / EndsWall-clock window in the Space display timezone (see Regional settings).
Sale priceAmount charged while the window is open.

Outside each window the default price applies. Windows do not overlap in normal use; if you add several, the catalogue resolver picks the applicable band for “now”.

Storefront preview on save

The editor shows Storefront price right now with your Regional label (for example “UK (BST)”). Use it to confirm what visitors should see at this moment before you rely on the live URL.

Saving the product:

  • Notifies the engine with the active price, regular price, and promo label.
  • Re-materialises the linked product page when one exists (slug matches the product).
  • Upgrades legacy product pages so price blocks expose live sale fields to the edge.

Public product page

Products are backend catalogue records; shoppers usually see a page whose slug matches the product.

  1. On the product editor, open the Public page card.
  2. If no page exists, click Create page — this seeds a product layout (from Appearance → Product page layout when set).
  3. Use Open page editor to adjust marketing copy, images, and layout blocks.

Live price and stock are joined at render time into data_mapped / commerce blocks on that page. You do not paste the price into a paragraph block; the platform hydrates it from the catalogue.

After changing prices or sale windows, you usually only need to save the product. If the live site still looks wrong, hard-refresh as a visitor or see Troubleshooting.

Media and downloads

Use Library for hero images and downloadable files, then reference them from the product page blocks.

Inventory

Stock adjustments should be deliberate. Many teams note the reason when correcting counts after a stock-take (where the audit trail is exposed).

The product editor shows recent stock movements (newest first). When checkout holds are enabled, you may also see reserved (units held while someone is in Stripe Checkout) and sellable (on hand minus reserved). Holds start at checkout, not add-to-cart — see Checkout inventory holds.

For disputes, use Ledger travel on the products list or editor: pick a UTC instant and the Stock column / balance reflects only ledger rows with at on or before that time. See Ledger travel (as-of audit). Ledger travel does not rewind reserved; that reflects live checkout sessions.

Automated replenishment: supply-side agents can append ledger rows and post forecasts via Agent replenishment (agent gates). Staff approve wholesaler POs on Observe → Purchase requests.

Exchange and orders

Staff answering “did this order go through?” often use Exchange when commerce modules are enabled, instead of opening the payment provider directly.