Before you start
- A product and an agreed category/price taxonomy.
- Configured Price Types for any additional price records.
- Know which selling flow consumes each price type; storing a price is not proof that every checkout selects it.
Open in your admin application
Use your installation’s admin address with one of these routes. Replace {id} with the actual record identifier.
/categories/category-insert/product-edit?ProductID={id}/price-types/product-price-insert?ProductID={id}Create and assign a category
Create the category record
Open
/category-insert. Enter Category, then set Is Top Level and Is Enabled as appropriate. The generic record also exposes Image File Name and User Supplied Content; these are not an image-upload workflow.Attach the product
Open the product workspace → Organization → Add Category. Select the category and save the relationship. Creating a category alone does not put products in it.
Verify the association
Return to Organization and confirm the Categories list. Check the customer-facing catalog separately if your storefront uses a custom hierarchy or publishing rule.
Maintain prices without conflating their roles
Set the primary price
Use Overview → Primary price for the product’s main selling price. Save the product. This is the value returned by the current quote product lookup.
Add another price record
In Prices choose Add Price. The insert form displays the product context, Price type and Amount. Select the configured price type, enter the amount and save. Verify the row in Prices.
Negotiate a single offer
In an open quote, change that line’s Unit Price. This changes the offer, not the primary product price. Review the resulting line total and overall quote totals.
Verify selection in the actual selling flow
Test the account/channel/order context that should use the additional price. The stock quote UI starts from the primary price or an explicit override; additional price records alone do not establish automatic customer-tier selection.
Fields & records
| Field / record | Meaning or use |
|---|---|
| Is Top Level / Is Enabled | Category organization and availability flags. |
| Price type | Classification of an additional ProductPrice record. |
| Amount | Value for that additional price record. |
| Unit Price | Per-offer line value in an open quote, separate from the product primary price. |
Verify the result
- The category exists and the product-category relationship is visible.
- Additional price row has the intended Price type and Amount.
- A test offer uses the intended price source; record the context that selected it.
Troubleshooting
| What you see | What to check or do |
|---|---|
| Category exists but product is absent | Add the ProductCategory relationship; a category record is not an assignment. |
| Wholesale price does not appear in quote | Check the configured pricing selection. The standard quote lookup reads product primary price. |
| Negotiated price changed all sales | Change the quote line for one offer, not Product Primary price. |
Version & scope
Procedure checked against current Feeding Frenzy forms and services. Source verification is not a claim that a live payment, message, customer transaction or full operator run occurred.
Public guides describe shared controls, records and configuration boundaries using fictional data. Tenant URLs, credentials, customer records, provider identifiers and installation-only procedures belong in customer-controlled documentation and are excluded from public pages and search.
- Version
- 2.0.0
- Change source
- Current Feeding Frenzy forms/services plus reconciled Wiki topics
- Feedback key
guide:catalog-organization
Feedback records only the page, guide ID and yes/no choice. It never records documentation search text.
Implementation references (4)
FeedingFrenzy.Admin/wwwroot/kScripts/Categories/CategoriesAdmin.ks.htmlFeedingFrenzy.Admin/wwwroot/kScripts/Products/Product.Edit.ks.htmlFeedingFrenzy.Admin/wwwroot/kScripts/ProductPrices/ProductPrice.Insert.ks.htmlFeedingFrenzy.Admin.UI/QuotesAdmin.cs