Skip to main content

Bulk Import

If you have an existing ingredient or consumable list in a spreadsheet, you can import everything in one go rather than adding items one by one. This is particularly useful when setting up Brikly for the first time or when onboarding a new supplier with a large product range.

How it works

  1. Go to CostingBrik > Ingredients (or Consumables).
  2. Click Import.
  3. Download the CSV template.
  4. Fill in your items following the template format.
  5. Upload the completed CSV.
  6. Review the preview table and confirm.

Brikly validates every row before importing. Any rows with missing required fields or unrecognised values are flagged so you can correct them before proceeding.

CSV template columns

Download the template from the import modal to get a pre-formatted file with the correct headers. Here is what each column does:

Required columns

ColumnDescriptionExample
nameA clear, descriptive name for the ingredientSemi-skimmed milk
supplierSupplier name - matched to an existing supplier or auto-createdBrakes
cost_per_packThe price you pay per pack (must be zero or positive)5.99

Measurement columns

ColumnDescriptionExample
usage_typeHow this ingredient is measured: weight, volume, or unit. If omitted, Brikly infers it from pack_unitvolume
pack_sizeNumeric size per unit (e.g. 500 for 500ml). Required for weight and volume items500
pack_unitUnit of measurement for the pack size. See accepted units belowml
units_per_packNumber of individual units in each pack. Defaults to 112

Per-unit measurement columns (optional)

These columns let you specify the actual weight or volume of each individual unit. They are especially useful for items bought by the unit but tracked by weight or volume - for example, canned drinks or bottled sauces.

ColumnDescriptionExample
weight_per_unit_gramsWeight of one unit in grams330
volume_per_unit_mlVolume of one unit in millilitres330
When to use per-unit measurements

If you buy Coca Cola in cases of 24 cans and each can is 330ml, set pack_unit to each, units_per_pack to 24, and volume_per_unit_ml to 330. Brikly then knows both the purchase format and the actual volume per serving.

Other optional columns

ColumnDescriptionExample
categoryCategory for organising your ingredient libraryDairy
brandSpecific brand, if relevantYeo Valley
Prices should be ex-VAT

Always enter your cost_per_pack as the ex-VAT price. This is the price shown on most trade supplier invoices (Brakes, Bidfood, etc.). Brikly uses ex-VAT prices for all recipe costing and margin calculations.

Accepted pack units

TypeUnits
Weightg, kg, oz, lb
Volumeml, l, fl oz, gal, pt, us pt
Counteach, unit, piece, pack

When you omit usage_type, Brikly infers it from the pack_unit:

  • Weight units set usage_type to weight
  • Volume units set usage_type to volume
  • Count units set usage_type to unit

Example CSV rows

Here are examples covering the most common ingredient types:

name,supplier,usage_type,pack_size,pack_unit,units_per_pack,cost_per_pack,weight_per_unit_grams,volume_per_unit_ml,category,brand
Flour,Local Supplier,weight,1,kg,1,5.99,,,Baking,Baker's Choice
Milk,Dairy Farm,volume,1,l,12,2.50,,1000,Dairy,
Eggs,Fresh Farms,unit,,,12,4.75,,,Dairy,
Olive Oil,Food Wholesale,volume,500,ml,6,8.99,,,Oils,
Coca Cola (330ml cans),Drinks Supplier,volume,24,each,24,20.99,,330,Cold Drinks,

How each row works

Flour - a weight-based ingredient. Bought in 1kg bags, one bag per pack, at £5.99. Brikly converts this to a cost per gram automatically.

Milk - a volume-based ingredient sold in cases of 12 one-litre bottles. The volume_per_unit_ml of 1000 tells Brikly that each bottle is 1000ml, so it can calculate cost per ml.

Eggs - a unit-based ingredient. No pack size or unit needed - just 12 eggs per pack at £4.75.

Olive Oil - a volume-based ingredient. Bought in cases of 6 bottles, each 500ml, at £8.99 per case. Brikly derives the volume from the pack size and unit.

Coca Cola - a volume item bought by the unit. The pack_unit is each because you buy individual cans, but usage_type is volume because you track drinks by volume. The volume_per_unit_ml of 330 tells Brikly each can is 330ml.

Validation rules

Brikly checks every row against these rules before importing:

RuleDetail
name and supplier cannot be emptyEvery ingredient must have both
cost_per_pack must be zero or positiveNegative costs are rejected
usage_type must be weight, volume, or unitIf provided, it must be one of these three values
pack_unit must be a recognised unitSee accepted pack units above
Weight and volume items need pack_size + pack_unitBoth are required unless the pack unit is a count unit like each
pack_size must be positiveIf provided, it cannot be zero or negative
weight_per_unit_grams must be positiveIf provided, it cannot be zero or negative
volume_per_unit_ml must be positiveIf provided, it cannot be zero or negative
Common mistakes
  • Entering VAT-inclusive prices - always use the ex-VAT figure from your supplier invoice.
  • Leaving pack_size and pack_unit blank for weight or volume items - Brikly needs these to calculate cost per gram or ml.
  • Using an unrecognised unit like "litre" instead of "l" - check the accepted units list.

Preview and confirmation

After uploading your CSV, Brikly shows a preview table with all parsed rows. Check that:

  • Names and suppliers look correct.
  • Pack sizes and units are what you expect.
  • Cost per pack values are right.
  • Weight and volume per-unit values appear where expected.

If everything looks good, click Upload Ingredients to confirm. Brikly then processes each row and reports back:

  • Added - the number of ingredients successfully created.
  • Skipped - duplicates that already exist in your library (matched by name, case-insensitive).
  • Errors - any rows that failed, with the row number and reason.

Duplicate handling

Brikly checks each ingredient name against your existing library (case-insensitive). If an ingredient with the same name already exists, the row is skipped - it will not create a duplicate or overwrite the existing record.

info

Skipped duplicates are counted separately in the results summary. They are not treated as errors.

Suppliers

Suppliers referenced in your CSV are matched by name. If a supplier does not already exist in your Brikly account, it is created automatically during the import. You can review and update supplier details later in CostingBrik > Suppliers.

After importing

Once your import is complete:

  • Review categories - check that ingredients are in the right categories. You can bulk-reassign categories from the ingredients list.
  • Check base units - Brikly sets base units automatically (grams for weight, ml for volume, unit for count). Adjust in Managing Units if needed.
  • Link to recipes - your imported ingredients are now available in the recipe builder.
  • Verify pricing - spot-check a few items to make sure pack costs and per-unit costs look correct.
Start small

If you have hundreds of ingredients, consider importing in batches - one category or supplier at a time. This makes it easier to review and catch any issues.