Menu Inventory Documentation¶
Menu Location: Products > Menu Builder > Menu Inventory
Access Level: Manager and above
Last Updated: 2026-03-01
Overview¶
The Menu Inventory page is a comprehensive inventory management tool for tracking and ordering products from distributors. It displays all products on the current week's menu, calculates demand, shows available inventory, and helps you determine how much to order from each distributor.
Primary Functions:
- View inventory levels for all menu products
- Track distributor information (case prices, quantities, orders)
- Calculate product demand based on customer orders
- Auto-calculate retail prices based on wholesale costs
- Auto-calculate inventory stock levels
- Regenerate customer box orders
- Manage substitution settings
- View and download inventory invoices
Page Layout¶
Header Section¶
- Week Selector: Choose which week's inventory to view
- Product Type Filter: View weekly products, permanent products, or both
- Regenerate Box Orders button - Recreate customer orders based on current settings
- Settings menu (gear icon) - Auto-set options and column visibility
- Inventory Invoices link - View/download invoices for distributor orders
Weekly Cycle Status Bar¶
Shows current status of weekly processing workflow:
- Set up the new menu
- Stock the new menu
- Create orders (current step when on inventory page)
- Finalize and close week
Main Inventory Table¶
Large spreadsheet-style table with columns:
- Product Name - Name of menu item
- Distributor Info - Distributor name, case quantity, case price, ordered amount
- Demand - How many units needed based on customer orders
- Inventory - Current stock level
- Reserved - Stock held for specific orders
- Retail Price - Customer-facing price
- Sub columns - Substitution settings (optional)
Footer Sections¶
- Totals - Grand totals for costs and quantities
- Changes to Make - Summary of inventory adjustments needed
- Your Current Order - What you plan to order from each distributor
Product Type Filter¶
Controls which products are displayed on the page:
Product Type Options:
- Weekly Menu Products (option 1) - Shows only products added to this specific week
- Permanent Products (option 2) - Shows only always-available products in your store
- Both (option 3) - Shows both weekly and permanent products (default)
How to Change:
- Select product type from dropdown
- Click "Update" button
- Page reloads with filtered products
When to Use Each:
- Weekly only: When planning distributor orders for the week
- Permanent only: When managing standing inventory for always-available items
- Both: When you need to see complete picture of all products
Distributor Management¶
Understanding Distributor Rows¶
Each product can have multiple distributors. For each distributor, you see:
Case Quantity (Qty): How many units come in one case
- Example: 12 (means 12 items per case)
Case Price (Cost): How much one case costs wholesale
- Example: $24.00 (cost per case)
Ordered: How many cases you're ordering from this distributor
- Enter the number of cases you want to order
- This is THE key field - it determines what you're actually ordering
Units: Unit of measure (lbs, each, bunch, etc.)
Distributor: Which distributor supplies this product
- Can change distributor from dropdown
Adding a Distributor to a Product¶
Purpose: Add an additional distributor source for a product
Steps:
- Find product in the table
- Click "+" button next to product name
- Fill in distributor information:
- Select distributor from dropdown
- Enter case quantity
- Enter case price
- Enter units
- Click save or update inventory
Use Cases:
- Product available from multiple vendors
- Comparing prices between distributors
- Backup supplier for high-demand items
Updating Distributor Information¶
Purpose: Change pricing, quantities, or orders for a distributor
Steps:
- Find product and distributor row
- Update any field:
- Case quantity
- Case price
- Units
- Ordered amount
- Save changes using Save button at bottom
Auto-Updates:
- When you change case price or quantity, retail price may auto-update (if auto-pricing enabled)
- Product cost calculations update immediately
Removing a Distributor¶
Purpose: Remove a distributor source from a product
Steps:
- Find product and distributor row
- Click delete/remove button (usually red X or trash icon)
- Confirm deletion
- Distributor relationship removed
Note: You cannot remove the last distributor for a product that's on the menu.
Inventory Management¶
Understanding Demand¶
Demand shows how many units of a product are needed based on:
- Customer subscription boxes
- Customer add-on orders
- Special requests
- Box type requirements
This is automatically calculated from customer orders.
Understanding Reserved Stock¶
Reserved shows units already allocated to:
- Specific customer orders
- Standing orders
- Special holds
Reserved stock cannot be sold to other customers.
Available Inventory (In Stock)¶
In Stock shows units available for sale/distribution.
Formula: In Stock = Total Ordered - Reserved - Safety Buffer
Manual Inventory Adjustments¶
Purpose: Manually set inventory levels
Steps:
- Find product in inventory table
- Locate "In Stock" column
- Enter new inventory count
- Save changes
When to Use:
- Physical inventory count differs from system
- Waste or damage adjustments
- Manual corrections
Auto-Set Features¶
Auto-Set Inventory Levels¶
Purpose: Automatically calculate optimal inventory levels based on demand and safety buffer
How to Access:
- Click gear icon
- Select "Auto Set In Stock"
Configuration:
- Enter "Inventory Safe Percentage" (0-100)
- This is your safety buffer percentage
- Example: 10 means hold back 10% as safety stock
- Click "Auto Set In Stock"
How It Works:
- System calculates demand for each product
- Determines optimal order quantity
- Sets in_stock = ordered - (safety percentage)
- Example: Ordered 100, safety 10%, stock set to 90
When to Use:
- After finalizing weekly orders
- When you want consistent safety buffers
- For quick inventory setup
Auto-Set Retail Prices¶
Purpose: Automatically calculate retail prices based on wholesale costs and markup
How to Access:
- Click gear icon
- Select "Auto Set Retail Price"
Configuration:
- Enter "Markup Multiplier" (must be > 1)
- Example: 2 = 100% markup (double wholesale cost)
- Example: 2.5 = 150% markup
- Example: 1.5 = 50% markup
- Enter "Price Ending Digit" (0-9)
- Example: 9 makes prices end in $X.X9
- Example: 5 makes prices end in $X.X5
- Click "Auto Set Retail Price"
How It Works:
- Calculates per-unit cost (case price ÷ case quantity)
- Multiplies by markup number
- Rounds to pennies
- Adjusts last digit to your preference
- Example: $1.20 cost × 2.5 markup = $3.00, with digit 9 = $2.99
When to Use:
- After updating wholesale costs
- When standardizing pricing across products
- For quick price updates
Important Notes:
- Only updates weekly products (not permanent)
- Only updates products for selected week
- Saves markup multiplier for future use
Column Visibility Settings¶
Control which columns appear in the inventory table:
Available Toggle Options:
Sub? Column¶
Shows whether product allows substitutions
- Show: Click gear > "Show Sub? Column"
- Hide: Click gear > "Hide Sub? Column"
Sub Value Column¶
Shows substitution value/ratio for products
- Show: Click gear > "Show Sub Value Column"
- Hide: Click gear > "Hide Sub Value Column"
Sub Qty Max Column¶
Shows maximum quantity allowed for substitutions
- Show: Click gear > "Show Sub Qty Max Column"
- Hide: Click gear > "Hide Sub Qty Max Column"
Planned Order From Dist Column¶
Shows planned orders from distributors
- Show: Click gear > "Show Planned Order Column"
- Hide: Click gear > "Hide Planned Order Column"
Use Cases:
- Hide columns you don't use to reduce clutter
- Show substitution columns when managing substitution rules
- Customize view based on workflow
Regenerate Box Orders¶
Purpose: Recreate all customer box orders based on current menu and inventory settings
When to Use:
- After making significant menu changes
- After updating substitution rules
- When customer orders seem incorrect
- Testing different menu configurations
Steps:
- Click "Regenerate Box Orders" button
- System recalculates all customer orders
- Demand values update
- Inventory allocations update
Important Warnings:
- This overwrites existing customer customizations
- Cannot be undone
- Use carefully during active weeks
- Disabled during certain weekly cycle statuses
Best Practice:
- Only regenerate before customers have modified their orders
- Communicate to team before regenerating
- Review demand changes after regenerating
Inventory Invoices¶
Purpose: View and download purchase orders for distributors
Features:
- View All Invoices: Click list icon to see all invoices for the week
- Download PDF: Click PDF icon to download all invoices as one file
- Individual Invoices: View/print orders for each distributor separately
Typical Workflow:
- Complete inventory planning
- Save all changes
- Click "Inventory Invoices" link
- Review invoices for accuracy
- Download PDF for records
- Send invoices to distributors
Common Use Cases¶
Use Case 1: Planning Weekly Orders¶
Goal: Determine how much to order from each distributor for the week
Steps:
- Select current week from week selector
- Set Product Type to "Weekly Menu Products"
- Review Demand column for each product
- Check current In Stock levels
- Calculate needed: Demand - In Stock + Safety Buffer
- Enter number of cases needed in "Ordered" column
- Repeat for all products
- Save changes
- Review totals at bottom
- Download invoices to send to distributors
Tips:
- Start with high-demand items first
- Consider delivery lead times
- Account for product waste/damage
- Round up on perishables
Use Case 2: Updating Distributor Pricing¶
Goal: Update wholesale costs when distributor changes prices
Steps:
- Receive price update from distributor
- Find all products from that distributor
- Update "Case Price" field for each product
- Use "Auto Set Retail Price" if you want retail to adjust
- Save changes
- Review new retail prices for reasonableness
- Manually adjust retail if needed
Important:
- Price changes affect profit margins immediately
- Consider competitive pricing when setting retail
- Document price change dates for records
Use Case 3: Managing Product Substitutions¶
Goal: Configure which products can substitute for others
Steps:
- Show substitution columns (gear > column visibility)
- Find product in table
- Check/uncheck "Sub?" checkbox if product allows substitutions
- Set "Sub Value" (substitution ratio)
- 1.0 = equal substitution
- 1.5 = 1.5x value substitution
- Set "Sub Qty Max" (maximum quantity for subs)
- Save changes
Use Cases:
- Out of stock items need alternatives
- Similar products can interchange
- Seasonal substitutions
Use Case 4: Adding New Distributor for Product¶
Goal: Add second distributor as backup supplier
Steps:
- Find product in inventory table
- Click "+" button next to existing distributor
- Select new distributor from dropdown
- Enter case quantity (may differ from first distributor)
- Enter case price
- Enter units
- Enter initial order (or 0 if not ordering yet)
- Save changes
Benefits:
- Price comparison
- Backup during shortages
- Split orders between suppliers
Use Case 5: Correcting Inventory Count¶
Goal: Fix inventory count after physical count reveals discrepancy
Steps:
- Find product in table
- Note current "In Stock" value
- Compare to physical count
- Enter correct count in "In Stock" field
- Save changes
- Add note/log entry explaining correction
Common Causes:
- Unrecorded waste
- Theft/damage
- System error
- Incorrect receiving count
Saving Changes¶
Critical: Always save your work!
Save Options:
- Save All Changes button at bottom of page
- Auto-save may not be enabled
- No confirmation after save (watch for success message)
What Gets Saved:
- Distributor information (prices, quantities, distributors)
- Ordered amounts
- Inventory levels
- Retail prices (if manually changed)
- Substitution settings
What Doesn't Auto-Save:
- Filter selections
- Column visibility preferences (saved separately)
Best Practices:
- Save frequently during long sessions
- Save before navigating away
- Save before running auto-set functions
- Verify success message appears after save
Troubleshooting¶
Changes Not Saving¶
Symptoms: Make changes but they disappear after refresh
Solutions:
- Click "Save All Changes" button at bottom
- Wait for success confirmation message
- Don't navigate away before save completes
- Check for JavaScript errors in console
Common Causes:
- Forgetting to click save button
- Browser back button
- Session timeout
- JavaScript error
Demand Shows Zero But Customers Have Orders¶
Symptoms: Product shows 0 demand but you know customers ordered it
Check:
- Verify you're viewing correct week
- Check if orders have been regenerated recently
- Verify product is actually on customer orders
- Check if product is on the menu for this week
Solutions:
- Click "Regenerate Box Orders"
- Verify menu setup in Menu Builder
- Check product is active and available
Auto-Set Inventory Not Working¶
Symptoms: Click auto-set but inventory levels don't change
Check:
- Verify you entered safety percentage (0 or higher)
- Check you clicked "Auto Set In Stock" button
- Verify products have ordered amounts > 0
- Check product type filter
Solutions:
- Try setting safety percentage to 0 first
- Ensure orders are entered for products
- Save manually entered orders first, then auto-set
- Contact admin if persistent
Retail Prices Not Calculating Correctly¶
Symptoms: Auto-set retail prices produces unexpected values
Check:
- Verify markup multiplier is > 1
- Check case prices are correct
- Check case quantities are correct
- Verify price ending digit setting
Solutions:
- Use higher multiplier if prices too low
- Update distributor case prices
- Manually override auto-calculated prices
- Save changes after auto-set
Cannot Add Distributor¶
Symptoms: Click + button but nothing happens
Check:
- Verify you have distributor created in Distributors page
- Check JavaScript errors
- Verify product exists in system
- Check permissions
Solutions:
- Create distributor in Distributors page first
- Refresh page
- Try different browser
- Contact administrator
Related Pages¶
- Menu Builder (
build_menu.php) - Create and configure weekly menus - Products (
product_classifications_active.php) - Manage product catalog - Distributors - Manage distributor/vendor information
- Inventory Demand - Print demand report for ordering
- Inventory Invoices (
inventory-invoices.php) - View and download purchase orders - Orders (
cust_order.php) - View customer orders driving demand
Typical Workflow:
- Menu Builder → Build this week's menu
- Menu Inventory → Plan distributor orders
- Inventory Invoices → Download and send orders to distributors
- (Receive inventory)
- Orders page → Fulfill customer orders
Permissions & Access¶
Required Access Level: Manager or higher
Access Level Capabilities:
- Manager: View inventory; update orders, prices, and stock levels; use auto-set features
- Administrator: All Manager capabilities + delete distributors; regenerate orders
- Kiva Admin: All features + access to advanced settings
Restricted Features:
- Regenerate Orders: May be restricted during certain weekly cycle statuses
- Auto-Set Functions: Requires manager or higher
- Delete Distributors: Requires administrator
Best Practices¶
Order Planning¶
- Review demand before ordering
- Account for safety stock (10-20% typical)
- Consider product shelf life
- Check delivery schedules
- Plan for growth (special events, holidays)
Pricing Strategy¶
- Set consistent markup percentages by category
- Use price ending digits for psychological pricing ($X.99)
- Review competitor pricing regularly
- Account for waste/spoilage in markup
- Update prices when costs change
Inventory Accuracy¶
- Perform regular physical counts
- Record waste/damage immediately
- Reconcile inventory weekly
- Investigate large discrepancies
- Train staff on proper receiving
Data Entry¶
- Save work frequently
- Double-check order quantities before submitting
- Verify distributor case sizes (they change!)
- Review totals for reasonableness
- Keep notes on unusual changes
Substitution Management¶
- Only allow subs for similar products
- Set appropriate sub values (quality matching)
- Limit sub quantities to prevent over-substitution
- Review sub patterns for customer satisfaction
- Update sub rules seasonally
Things to Avoid¶
- Don't regenerate orders after customers have customized
- Don't forget to save before leaving page
- Don't set safety percentage too high (wastes money) or too low (causes stock-outs)
- Don't change distributors mid-week without reason
- Don't ignore inventory discrepancies
Integration Points¶
Menu Builder¶
- Products from Menu Builder appear here
- Changes to menu structure affect inventory view
- Regenerating orders uses Menu Builder configuration
Customer Orders¶
- Customer orders drive demand calculations
- Order changes may require inventory regeneration
- Reserved stock reflects committed orders
Distributors/Vendors¶
- Distributor information pulls from Distributors page
- Must create distributor before assigning to products
- Distributor changes affect all products
Accounting/Bookkeeping¶
- Inventory invoices used for accounting
- Cost data affects profit calculations
- Pricing affects revenue projections
Quick Reference Card¶
| Task | Action/Location |
|---|---|
| View different week | Week selector dropdown → Update |
| Filter product types | Product Type dropdown → Update |
| Order from distributor | Enter cases in "Ordered" column → Save |
| Add distributor to product | Click + button → Fill form → Save |
| Auto-calculate inventory | Gear icon → Auto Set In Stock → Enter % → Apply |
| Auto-calculate prices | Gear icon → Auto Set Retail Price → Enter markup → Apply |
| Update case price | Change "Case Price" field → Save |
| Update retail price | Change "Retail Price" field → Save |
| Set manual inventory | Change "In Stock" field → Save |
| Regenerate orders | "Regenerate Box Orders" button (top right) |
| View invoices | Click list icon (top right) |
| Download invoices | Click PDF icon (top right) |
| Show/hide columns | Gear icon → Select column visibility options |
| Save all changes | "Save All Changes" button at bottom |
FAQs¶
What's the difference between "Ordered" and "In Stock"?¶
Ordered is how many cases you're ordering from the distributor. In Stock is how many individual units are available for customer orders. In Stock is calculated from ordered cases after receiving inventory.
Why would I use multiple distributors for one product?¶
Common reasons: price comparison, backup supplier during shortages, split orders to get fresher product, or distributors have different delivery schedules.
What happens when I regenerate box orders?¶
The system recalculates all customer subscription boxes based on current menu configuration. Any customer customizations are overwritten. Demand values update to reflect new calculations.
How does the safety percentage work?¶
If you order 100 units and set 10% safety, the system sets "In Stock" to 90. The 10 units are held back as buffer for waste, damage, or demand spikes.
Can I undo changes after saving?¶
No, there's no undo function. Always verify changes before saving. Consider making notes of original values if making significant changes.
Why are some products not showing up?¶
Check your Product Type filter - you may be viewing only weekly or only permanent products. Also verify the week selector is showing the correct week.
How do I remove a product from inventory?¶
You don't remove from inventory - you remove from the menu in Menu Builder. Products with no orders will show 0 demand.
What's the best safety percentage to use?¶
Typical range is 5-20%. Perishables need lower (5-10%) to reduce waste. Non-perishables can be higher (15-20%) for better availability. Adjust based on your waste and stock-out rates.
Change Log¶
2026-03-01¶
- Initial documentation created
- Documented all primary features and inventory management
- Added detailed troubleshooting guides
- Created comprehensive use cases
- Documented auto-set features and column visibility
- Added best practices for order planning and pricing
End of Documentation
For additional help, contact your system administrator or Kiva Logic support.