Browse all docs
Products & Inventory

Variants & options

Most physical products aren't one-size-fits-all. Options let a single product listing hold several sellable variants — each with its own price, stock, and image.

Turning options on

Open a product and switch on "This product has options"in the Pricing & inventory section. The form switches from a single price/stock pair to a list of variant rows.

What a variant row holds

  • The option label (e.g. "Small", "Red", "500ml")
  • An internal stock code (SKU), if you use one
  • Its own price in PKR
  • Its own stock count
  • An optional image specific to that variant (useful for color swatches)
  • Optional cost-per-unit and supplier details, used by Accounting

Add as many variant rows as you need with + Add option, duplicate a similar row instead of starting from scratch, and remove any you don't need.

How customers see it

On the storefront, a product with options shows a picker (e.g. size buttons or a color swatch row) before "Add to cart". Whichever combination is out of stock is disabled automatically — customers can never add more of a variant than you have on hand.

Pricing variants differently

Each variant's price is independent. A common pattern is a base size at the "from" price shown in listings, with larger sizes priced higher — Forma handles this automatically by showing the lowest variant price in your product grid and the full picker on the product page.

Removing a variant doesn't remove it from past orders

If you delete a variant that customers have already ordered, existing orders keep their original line-item details — only future availability changes.