Skip to main content

Adding Ingredients

Ingredients are the building blocks of CostingBrik. Every recipe cost traces back to the ingredients it contains, so getting your ingredient library right is the foundation of accurate costing.

Creating an ingredient manually

To add a new ingredient:

  1. Navigate to CostingBrik > Ingredients.
  2. Click Add Ingredient.
  3. Fill in the required fields (see below).
  4. Click Save.

Required fields

FieldDescriptionExample
NameA clear, descriptive name for the ingredientSemi-skimmed milk
CategoryThe group this ingredient belongs toDairy
Base unitThe smallest unit you measure this ingredient inLitres

Optional fields

FieldDescriptionExample
BrandThe specific brand, if relevantYeo Valley
NotesAny additional contextOrganic only - check label
AllergensAllergen flags for this ingredientContains: Milk

Setting the base unit

The base unit is the unit you use when adding this ingredient to recipes. Choose the unit that makes the most practical sense for how you actually use it in the kitchen.

  • Flour - kilograms (kg)
  • Milk - litres (l)
  • Eggs - each
  • Vanilla extract - millilitres (ml)
  • Butter - grams (g)
Choose recipe-friendly units

If you always weigh butter in grams when prepping, set the base unit to grams - even though you buy it in 250g blocks. Brikly handles the conversion between pack sizes and base units automatically.

Bulk import

If you have an existing ingredient list in a spreadsheet, you can import everything in one go. See the Bulk Import guide for full details on the CSV format, accepted units, and validation rules.

AI-assisted creation from invoices

The fastest way to build your ingredient library is to let Brikly create ingredients directly from your supplier invoices.

When you process an invoice, Brikly:

  1. Extracts each line item (product name, quantity, unit, price).
  2. Checks whether a matching ingredient already exists.
  3. For new items, creates the ingredient automatically with the correct unit and category.
  4. Links the ingredient to the supplier and records the price.

After processing, you will see any newly created ingredients flagged for review. You can adjust names, categories, or units before they are finalised.

Matching accuracy

Brikly uses AI to match invoice line items to existing ingredients, even when the supplier's description differs from your ingredient name. For example, "S/S Milk 2L" on an invoice will be matched to "Semi-skimmed milk" in your library. You can review and correct any matches that do not look right.

Naming ingredients - keep it generic

The single most important rule when naming ingredients is: use a generic, product-level name - not a supplier-specific description.

Your ingredient name represents the thing you use in recipes, not the specific product a particular supplier sells you. This is what allows Brikly to track multiple suppliers for the same ingredient, compare prices across them, and keep your recipe costs accurate regardless of who you buy from.

Good vs. bad naming

Do thisNot thisWhy
Semi-skimmed milkYeo Valley Semi-Skimmed Milk 2LBrand and pack size belong on the supplier link, not the ingredient
Plain flourAllinson's Plain White Flour 1.5kgDifferent suppliers sell different brands - the ingredient is the same
Chicken breastFresh Chicken Breast Fillets Skinless 2.5kgPack size and cut detail are supplier-specific
Olive oilFilippo Berio Extra Virgin Olive Oil 5LBrand and container size vary by supplier
Caster sugarTate & Lyle Caster SugarYou might switch brands tomorrow - the recipes stay the same

Why this matters

When you name an ingredient generically, every supplier who sells that product links to the same ingredient record. This means:

  • Price comparison works - you can see at a glance who charges the least for semi-skimmed milk, because all suppliers are linked to one "Semi-skimmed milk" entry. See Comparing Supplier Prices.
  • Invoice matching is accurate - when Brikly processes an invoice that says "S/S Milk 2L" from Supplier A and "Semi Skimmed 4pt" from Supplier B, both map to the same ingredient. See Matching Ingredients.
  • Recipe costs stay clean - your recipes reference "Semi-skimmed milk", and Brikly uses the preferred supplier's price. Switching suppliers updates every recipe automatically.
  • Price history is complete - all price movements for that ingredient appear on one timeline, regardless of which supplier the price came from.

If you use brand- or pack-specific names instead, you end up with separate entries like "Yeo Valley Semi-Skimmed Milk 2L" and "Dairy Co Semi-Skimmed 4 Pint" - each with their own recipes, price history, and supplier links. Your costs fragment, comparisons break, and you lose visibility.

Where do brand and pack details go?

Brikly stores supplier-specific details on the supplier link, not the ingredient itself:

Stored on the ingredientStored on the supplier link
Generic name (e.g. "Semi-skimmed milk")Supplier product name (e.g. "S/S Milk 2L")
Base unit (e.g. litres)Supplier product code
Category (e.g. Dairy)Pack size (e.g. 2 litres)
AllergensPack price (e.g. £1.85)

This separation is what makes the whole system work. Your recipes speak in generic terms ("500ml of semi-skimmed milk"), and Brikly translates that into the right pack sizes and prices for whichever supplier you buy from.

When to use the Brand field

If you genuinely need a specific brand - say a high-end chocolate that defines your signature product - use the Brand field on the ingredient rather than putting it in the name. This keeps the name clean while still recording brand preference.

Tips for a clean ingredient library

  • Keep names generic - no brands, no pack sizes, no supplier-specific descriptions. See the naming guide above.
  • Be consistent with naming - decide on a convention (e.g. "Semi-skimmed milk" not "Milk, semi-skimmed") and stick with it.
  • Avoid duplicates - before adding an ingredient manually, search your library first. Duplicates will skew your recipe costs.
  • Use categories - assigning every ingredient to a category makes filtering and reporting much easier as your library grows.
  • Add brands only when it matters - if you always use a specific brand (e.g. a particular chocolate for your signature brownie), record it in the Brand field. If any brand will do, leave it blank.

Merging duplicate ingredients

If duplicates have built up in your library, you can merge them into a single ingredient - transferring all suppliers, recipes, invoices, and price history automatically. See Merging Ingredients for the full guide.