Skip to content

Add Product Page

Menu Location: Products > (Products page) > Add Product button


Overview

The Add Product page (kiv/add-product.php) is where you create and edit the individual sellable items ("menu" items) in your store. It covers name, pricing, stock, category, images, vendor/cost info, and physical/shipping details.

Several sections of this page (product tags, alternate store categories, product options, product attributes, SEO meta) only appear after the base product has been saved once. You fill in the core details first, click Create, and the page reloads in edit mode with the additional sections unlocked.

Primary Functions:

  • Create new products and edit existing ones
  • Set pricing, cost tracking, and an optional wholesale price
  • Track stock levels and low-stock alerts
  • Assign the product to a category (classification) and, once saved, additional store categories and tags
  • Upload up to 5 product images
  • Control whether a product is active, hidden from the shop, and how it can be subbed in/out of an order
  • Configure shipping-relevant weight/dimensions (if enabled for your store)

Page Layout

Header Section

  • Page Title: "Add Product" (or "Edit Product" once a product is loaded)
  • Save Button: "Create" on a new product, "Save" once the product exists
  • Products created earlier can be reopened via the Last Viewed link (Products menu) or from the main Products list

Description Tab

  • Product name, classification (category), and the main rich-text description
  • Up to three additional custom-labeled tabs for extra description content

Images Tab

  • 5 image slots, plus an AI Image generator

Advanced Settings / Status-Stock Sections

  • Stock quantity, reorder point, purchase increments, sub-in/sub-out rules, weight/dimensions (if enabled)

Product Options / Attributes (existing products only)

  • Alternate unit/price combinations, and optional predefined attributes (beta)

Basic Product Information

Product Name

Field: Name (name)

  • Plain text field, no character limit enforced in the form
  • The system checks for an existing active product with the exact same name and will block saving with an error if one is found. This is the only name/SKU-style duplicate check on this page

Product SKU

There is no user-entered SKU field on this page. If your store has the "magic SKU" feature enabled, a SKU is generated automatically from the internal product ID and displayed read-only (labeled with a tooltip: "The SKU is read-only and can not be edited").

Product Description

Description:

  • One main rich-text editor field for the product's description
  • Optionally, add up to 3 more custom tabs (you name each tab, e.g. "Ingredients") with their own rich-text content. There is no separate "short description" vs. "long description" field

Pricing

Retail Price

Field: Retail Price

  • The price customers pay; enter as a plain number
  • If the product is currently on sale, this field is locked (you must end the sale to change price directly; see Sale Price below)

Case Price / Case Quantity

Fields: Case Qty., Case Price

  • Case Qty.: number of items in one case as received from your vendor ("If you are unsure, just set this to '1'")
  • Case Price: what you pay per case
  • These two fields are how per-unit cost is tracked for this product; they are internal and not shown to customers

Wholesale Price

Field: Wholesale Price (only shown if your store has wholesale buyers enabled)

  • A separate selling price used for wholesale-designated customer accounts
  • This is a flat price you set directly; there is no percentage/multiplier field

Sale Price

Available on an already-created product only, via the "Create Sale for Item" tool:

  • Enter a sale price (must be lower than the current retail price)
  • Saving moves the current retail price to "original price" and sets the new sale price as the active retail price
  • Ending the sale is a manual action ("End Sale" button). There is no automatic start/end date and no scheduled reversion

Inventory Management

Number In Stock

Field: Number In Stock (in_stock)

  • New products default to your store's configured starting stock amount (0 unless your store sets a different default)
  • Reserved: a read-only, system-maintained count of how much of the current stock is committed to customer orders/subscriptions; you cannot edit it directly
  • Available stock = Number In Stock - Reserved

Reorder Point

Field: Reorder Point

  • When available stock (In Stock - Reserved) reaches this level or below, a low-inventory alert is sent to admins
  • Set to 0 to disable alerts for this product
  • The low-stock alert feature must also be enabled system-wide for your store

Purchase Increments

Field: Purchase Increments

  • Most products should stay at "1"
  • For items sold in fractional units (e.g. garlic sold by the 1/4 lb), enter the increment as a decimal, e.g. .25

Status and Visibility

  • Status: Active / Disabled (this page does not have a Draft, Published, or Scheduled state)
  • Hide from Shop: Yes/No. When set to Yes, the product is hidden from the customer-facing shop but stays visible/editable in the admin
  • Show on Menu Builder: controls whether the item is available to add when building a week's menu (only shown for certain store configurations)

There is no "available on backorder" option and no separate low-stock customer-facing status. Stock display to customers is controlled by other store-wide settings, not a per-product field on this page.


Product Categories

Classification

Field: Classification (classification)

  • Single-select dropdown of existing product classifications
  • You can type a new classification name directly in place of picking an existing one when creating a product

Alternate Store Categories

Available once the product has been saved.

  • A checkbox list lets you list the product under additional store category pages, beyond its main classification
  • This does not add search filters. It's specifically for showing the product on other store category pages

Product Tags

Available once the product has been saved.

  • A single text field lets you add a tag to the product (autocomplete/create as you type)
  • Manage the full tag list from Products > Product Tags (kiv/admin-edit.php?table=product_tags)

Product Images

  • 5 image slots (not a larger gallery), each slot uploads through the image picker widget
  • Recommended size: 250x250 pixels minimum
  • The first slot is the primary image by default; once other slots have images, a star icon lets you make a different slot primary
  • An "AI Image" option can generate a product image for you
  • There is no drag-to-reorder gallery and no video embed option on this page

Subscription Settings

There is no subscription-frequency picker, box-eligibility checklist, or "auto-swap eligibility" field on this page. The actual per-product controls are:

  • Sub? (allow_sub): Yes/No, whether a customer can sub this item into their order
  • Do not allow item to be subbed out? (disallow_sub_out): if set to True, the sub button is hidden for this item and customers cannot sub it back out once added
  • Only Available as recurring? (recurring_only): restricts the item to recurring purchase only
  • Do NOT allow to be added as recurring? (recurring_prevention): the inverse of the above; blocks the item from being added as a recurring purchase

The Recurring and Permanent Subs panels (existing products only) are read-only reports showing how many customers currently subscribe to, or have a permanent substitution rule referencing, this product. They are not configuration settings.


Shipping & Physical Properties

Only shown if your store has the product weights/sizes feature enabled (product_weights_sizes config):

  • Length, Width, Height, Weight: plain numeric fields, no units label is enforced on the page itself

There is no temperature-requirement setting (ambient/refrigerated/frozen) and no fragile/perishable/hazardous checkboxes on this page.

Special Pack Item (only shown if the "Special Pack Sheet" feature is enabled for your store): flags this product to print on a separate pack sheet alongside driver sheets, for warehouse handling. It does not change customer-facing shipping options.

Requires a separate box? (seperate_box): when set to Yes, the system prints an extra label for the customer's order when this item is added. It is a packing/label instruction, not a literal "ships in its own box" shipping rule.


Vendor Information

Vendor/Farm

Field: Vendor/Farm (only shown if your store has vendors/farms enabled)

  • Dropdown of vendors/farms (managed at Products > Vendors & Farms, kiv/admin-edit.php?table=vendors)
  • Per the page's own tooltip, this is purely informational for the customer (shown on the welcome screen and a dedicated vendor page); it is not used for reordering or purchasing

Distributer

  • A separate dropdown (managed under the Distributers admin page) tied to the Case Qty./Case Price fields above, for tracking who you sourced a case from and at what cost

There is no vendor SKU field on this page.


Super Fresh Deadline (Optional)

Available on an already-created product only, in its own card near the bottom of the page (below the Sold Out card). This card saves independently with its own Save button, it is not part of the main product Save.

By default a product's order cutoff comes from its Vendor/Farm (set on the Vendors & Farms page), or, if the product has no vendor, from the store's route-based default cutoff. A status line at the top of the card states which of these is currently active, and links to the vendor's cutoff settings when the product has a vendor.

To give a single product its own cutoff instead, for example an item that needs a longer lead time than the rest of the vendor's products:

  • Override with a custom cutoff for this product: checkbox. The day/hour/minute selects only appear once this is checked
  • Cutoff Day: the day of the delivery week the cutoff falls on (weeks start Sunday)
  • Cutoff Hour / Cutoff Minute: the time of the cutoff

Once the cutoff passes for a delivery week, customers can no longer add this product to an order shipping that week; items already in the order can still be decreased or removed.


Common Use Cases

Use Case 1: Add a Simple Product

Goal: Create a basic product for the online store

Steps:

  1. From the Products page, click Add Product
  2. Enter the product Name
  3. Select (or type a new) Classification
  4. Set the Retail Price
  5. Set Case Qty. / Case Price if you want cost tracking
  6. Set Number In Stock
  7. Click Create
  8. On the reloaded edit page, upload an image and add a description

Result: The product is saved as Active and visible in the shop unless Hide from Shop is set.

Use Case 2: Put a Product on Sale

Goal: Temporarily discount an existing product

Steps:

  1. Open the product (it must already exist)
  2. Use the "Create Sale for Item" tool and enter a sale price lower than the current retail price
  3. Save

Result: Retail price becomes the sale price; the previous price is kept as the original price. Click End Sale manually when the promotion is over. There is no automatic expiration date.

Use Case 3: Hide a Product from the Shop Without Deleting It

Goal: Stop selling a product temporarily

Steps:

  1. Open the product
  2. Set Hide from Shop to Yes
  3. Save

Result: The product stays in the admin and its order history, but disappears from the customer-facing shop.

Use Case 4: Prevent a Product from Being Subbed Out

Goal: Once a customer adds this item, don't let them swap it away

Steps:

  1. Open the product
  2. Set Do not allow item to be subbed out? to True
  3. Save

Result: The sub button no longer appears for this item on a customer's order.

Use Case 5: Add Extra Unit/Price Options

Goal: Offer the same product at a second unit and price (e.g. an "each" price and a "case" price)

Steps:

  1. Open an existing product
  2. In the Product Options table, click Add Option
  3. Enter the additional unit and retail price
  4. Save

Result: The product now has more than one purchasable unit/price combination. (This is separate from the beta Product Attributes feature, which lets you attach a predefined attribute, such as a size, to a product; attributes are managed at Products > Product Attributes.)


Troubleshooting

Product Won't Save

Check:

  1. Is there already an active product with this exact name? The page blocks saving with: "Error, an active product already exists that is active with the same name."
  2. If a price field looks locked, the product may currently be on sale. End the sale first to edit retail price directly.

Product Not Appearing in Store

Check:

  1. Status is Active, not Disabled
  2. Hide from Shop is set to No
  3. If your store limits products by weekly menu, confirm the product is included on the current menu / Show on Menu Builder is set correctly

Available Stock Looks Wrong

Check:

  1. Reserved is system-maintained (it increases/decreases automatically as customers add, sub, or remove this item); you cannot edit it
  2. Available stock shown elsewhere is In Stock minus Reserved, not the raw In Stock number

  • Products (kiv/product_classifications_active.php): the main products list; also where bulk CSV export/import lives
  • Product Tags (kiv/admin-edit.php?table=product_tags)
  • Vendors & Farms (kiv/admin-edit.php?table=vendors)
  • Product Attributes (kiv/admin-edit.php?table=product_attr, beta)
  • Inventory Demand (kiv/product_classifications_print_inv.php)

Quick Reference Card

Task Action/Location
Create new product Products page > Add Product button
Set product name Description tab > Name field
Set retail price Retail Price field
Track cost Case Qty. / Case Price fields
Set a wholesale price Wholesale Price field (if wholesale buyers enabled)
Put item on sale "Create Sale for Item" tool (existing products only)
End a sale "End Sale" button
Upload image Images section, one of 5 slots
Assign category Classification dropdown
Add a tag Product Tags field (existing products only)
List in additional store categories Alternate Store Categories checkboxes (existing products only)
Hide from shop without deleting Hide from Shop = Yes
Set stock level Number In Stock field
Set low-stock alert Reorder Point field
Prevent subbing out "Do not allow item to be subbed out?"
Add another unit/price Product Options > Add Option (existing products only)
Set a custom order cutoff for one product Super Fresh Deadline (optional) card (existing products only)

FAQs

Can I edit a product after creating it?

Yes, reopen it via the Products list or the "Last Viewed" link, make changes, and click Save.

What happens if I delete a product that's in customer orders?

Instead of deleting, set Status to Disabled and/or Hide from Shop to Yes. Historical orders keep showing the product as it was.

How do I put a product on sale?

Open the existing product and use the "Create Sale for Item" tool. There are no start/end dates; you end the sale manually when it's over.

Can I bulk-add or bulk-edit products instead of one at a time?

Yes, the main Products page has CSV export/import tools for bulk product data.

Can I limit how many of a product a customer can buy?

Yes, Advanced Settings has a "Max Purchase Quantity per Customer" field.

Is the case price/cost visible to customers?

No. Case Qty./Case Price are for your own cost tracking and are never shown to customers.

Does this page let me set product weight and dimensions?

Only if your store has the product weights/sizes feature turned on; otherwise those fields don't appear.


Recent Updates

2026-08-13

  • The Pre-fill from image using AI tool now reads product images with better accuracy (an image-recognition fix), and the upload area shows a new "AUGUST 2026 UPDATE: Better accuracy, try it now!" note

2026-08-11

  • The per-product order cutoff moved into its own "Super Fresh Deadline (optional)" card, saved separately from the main product form. It now shows a status line naming the active cutoff source (vendor, or the store's route-based default) and links to the vendor's cutoff settings

2026-08-07

  • New: "Override vendor order cutoff" fields let a single product use its own order cutoff instead of inheriting its vendor's

End of Documentation

For additional help, contact your system administrator or Kiva Logic support.