SSABSUSAcademy
Warehouse

Ingredients in SABSUS

Create raw materials with names, categories, units, media, barcodes, stock rules, nutrition values, and processing-loss data.

Ingredients in SABSUS visual guide
DifficultyIntermediate
Time14 minutes
ModeInteractive walkthrough
Fields35 explained

Voice explanation

Audio source: ingredients-en.mp3

Listen to a short explanation of what this section is for, what to fill in, and why the data matters.

Step-by-step instructions

Warehouse, purchasing, technical cards, workshops, reports, and AI agents can use reliable ingredient records instead of free-text raw materials.

Use the interactive screenshot walkthrough first. Switch steps with the step dots, then read what to fill and why it matters.

Fields on this screen

Ingredients list

How to fill: Start from the list and search before creating a new ingredient.

Why: Duplicate ingredients create wrong stock balances and recipe costs.

Add

How to fill: Click Add to create a new ingredient in the current company.

Why: The form creates a product row with Ingredient context.

Name

How to fill: Type the short ingredient name in the current interface language.

Why: This is the label staff will search and select.

Name translations

How to fill: Open the three-dot translation control and fill enabled languages.

Why: Multilingual teams need the same ingredient in every active language.

Category

How to fill: Choose the ingredient category, not a customer menu category.

Why: Ingredient categories keep raw-material reporting separate from product catalog navigation.

Unit of measurement

How to fill: Pick the unit the business will actually count in stock and recipes.

Why: Changing units later can confuse recipe quantities and inventory reports.

Item brand

How to fill: Fill it when supplier or brand matters.

Why: It helps distinguish similar ingredients, such as two tomato suppliers.

Tags

How to fill: Add short search tags only when they will help staff find the item.

Why: Useful tags improve search; random tags create noise.

Consider stock levels

How to fill: Enable it when SABSUS should track the ingredient in warehouse stock.

Why: Stock warnings and consumption reports depend on this switch.

Minimum stock level

How to fill: Set the reorder threshold after enabling stock control.

Why: Managers need a practical warning before the ingredient runs out.

List number

How to fill: Use the plus/minus controls for list ordering.

Why: High-use ingredients can be easier to reach.

Dimensions

How to fill: Fill only for packaged or physical storage planning needs.

Why: Most loose food ingredients can leave dimensions at zero.

Barcode

How to fill: Fill the scan code if the ingredient is received or counted by barcode.

Why: Scanning is faster and less error-prone than manual search.

Nutrition values

How to fill: Fill proteins, fats, carbohydrates, and kcal when menus, labels, or AI answers need nutrition.

Why: Leave values at zero only when nutrition is not tracked.

Processing loss

How to fill: Fill realistic percentages for cleaning, boiling, frying, stewing, and baking.

Why: Yield and cost explanations become more accurate.

Photo

How to fill: Upload a square image that clearly shows the raw material.

Why: Visual recognition helps warehouse and purchasing teams avoid selecting the wrong item.

Save

How to fill: Save only after name, category, unit, barcode, losses, stock settings, and media are checked.

Why: Saved data becomes the source for warehouse, purchasing, technical cards, reports, and agents.

Verify

How to fill: Return to the list and search the saved row.

Why: Verification confirms that the ingredient loads back from Supabase.

Common mistakes

  • Creating ingredients before creating ingredient categories.
  • Using a product menu category instead of an ingredient category.
  • Leaving the unit as pcs when the business counts the ingredient in kg, g, liter, or pack.
  • Creating duplicate ingredients with slightly different names.
  • Adding processing-loss values without checking real production yields.
  • Enabling stock tracking but leaving minimum stock at an unrealistic value.
  • Uploading a decorative image that does not show the real raw material.
  • Saving without checking the row in the Ingredients list.
  • Changing data natively without updating company.loadproduct.
AI Agent Field Reference for implementation

This block is intentionally below the human instructions. It explains storage names and downstream dependencies for automation, support, and future AI agents.

FieldStored asPurposeWhy it matters
Ingredient IDproducts.idUnique product-row identifier for the ingredient.Technical cards, stock, write-offs, purchasing, imports, and AI agents need a stable ingredient reference.
Companyproducts.companyCompany workspace that owns the ingredient.Prevents ingredients from appearing in another company.
Typeproducts.type = ingridMarks the product row as an ingredient.Separates raw materials from sellable products, packaging, modifiers, semi-finished items, and digital products.
Name translationsproducts.name[]Ingredient name in every enabled language.Search, warehouse, purchasing, recipes, reports, and customer-facing explanations need readable names.
Photoproducts.photos[]Ingredient image stored in Supabase Storage and attached to the product row.Visual recognition reduces warehouse and purchasing mistakes.
Ingredient categoryproducts.category_ingredients[]Ingredient-category IDs selected in the Categories field.Groups raw materials for search, imports, stock reports, purchasing, and AI explanations.
Product categoriesproducts.category[]General product category links when used by other product types.For ingredients, prefer category_ingredients so raw-material grouping stays separate from customer menu categories.
Item brandproducts.brandSupplier, producer, or brand label for the ingredient.Helps distinguish similar raw materials from different suppliers.
Tagsproducts.tags[]Search and grouping tags.Tags improve internal search, imports, and future automated matching.
YouTube linkproducts.youtube[]Optional media references.Use only when an ingredient has training, preparation, or supplier videos.
Unit of measurementproducts.unit_of_measurementStock unit such as kg, g, pcs, pack, liter, or oz.All stock quantities and recipe consumption must use a clear unit.
Weight per unitproducts.grossGross weight or amount per accounting unit when the field is visible.Converts packs, pieces, and measured ingredients into inventory calculations.
Number in listproducts.number_listSorting order in lists.Keeps frequently used ingredients near the top.
Consider stock levelsproducts.stokingWhether stock control is enabled for the ingredient.Enables minimum stock, low-stock warnings, and warehouse reliability.
Minimum stock levelproducts.minstockThreshold for stock warnings.Managers can reorder before ingredients run out.
Allow oversellproducts.oversellWhether the system can sell/consume beyond available stock.Disable for strict inventory; enable only when stock is reconciled later.
Dimensionsproducts.width / products.length / products.heightOptional physical dimensions in millimeters.Useful for packaged goods, storage planning, delivery, and imports.
Preparation processproducts.preparation_process[]Internal preparation notes per language.Kitchen, workshop, and training workflows can explain how to handle the ingredient.
Descriptionproducts.description[]Long description per language.Useful for staff cards, supplier details, and AI explanations.
Short descriptionproducts.short_description[]Compact description per language.Useful when space is limited in lists or cards.
Product Barcodeproducts.qr_codeBarcode or internal scan code.Speeds up receiving, inventory, lookup, and stock operations.
Excise Goods Codeproducts.excise_tax_on_goodsExcise or regulated-goods code when required.Needed for regulated products and fiscal reporting in some jurisdictions.
Nutrition proteinsproducts.proteinsProtein value.Nutritional cards, labels, and AI answers can explain ingredient composition.
Nutrition fatsproducts.fatFat value.Used for nutritional information and dietary explanations.
Nutrition carbohydratesproducts.carbohydratesCarbohydrate value.Used for nutritional information and dietary explanations.
Nutrition kcalproducts.caloriesCalorie value.Used for nutritional information, labels, and customer explanations.
Nutrition modeproducts.perkkalWhether nutrition is treated per 100g or another mode.Agents must state the nutrition basis instead of quoting values without context.
Processing loss - cleaningproducts.cleaningPercent loss during cleaning.Helps convert gross raw weight into usable net weight.
Processing loss - boilingproducts.boilingPercent loss during boiling.Supports recipe yield and preparation explanations.
Processing loss - fryingproducts.fryingPercent loss during frying.Supports cost and yield calculations for cooked items.
Processing loss - stewingproducts.stewingPercent loss during stewing.Supports recipe yield and technical-card planning.
Processing loss - bakingproducts.bakingPercent loss during baking.Supports recipe yield, cost, and production explanations.
Created atproducts.created_atTimestamp when the ingredient row was created.Useful for audit history and setup troubleshooting.
Updated atproducts.updated_atTimestamp when the ingredient row was changed.Support and AI agents can explain whether ingredient data is fresh.
Reload markercompany.loadproductCompany timestamp used to reload product and ingredient data.Native or bulk changes need this marker so the app refreshes Ingredients.

Use these guides to connect this section to adjacent SABSUS workflows.