Skip to main content
Back to documentation

Importing your ingredients

The CSV format, the preview step, and how re-importing stays safe.

Browse documentation

Instead of adding ingredients one at a time, you can upload a spreadsheet of ingredients and their baseline costs. Find it in the app under your brand’s costing area, on the Import ingredients screen.

The CSV format

Your file needs four columns. The order does not matter, but the names do:

  • name — the ingredient name (for example, Mozzarella).
  • category — the ingredient category (for example, Cheeses). A category that doesn’t exist yet is created when the row creates a new ingredient. This value does not move an existing ingredient to another category.
  • unit — the unit the cost is measured in (for example, kg). The unit must already exist in your brand’s catalog so it can be matched.
  • cost — the price for one of that unit (for example, 8.50).

The importer offers a Download template link with the exact header row and a couple of example lines, so the easiest start is to download it, fill it in, and upload it back.

Preview before anything is saved

Uploading a file first runs a preview. Nothing is written until you confirm. Each row is shown with a status:

  • Create — a new ingredient will be added.
  • Update price — the ingredient already exists and its baseline cost will be updated.
  • Skip — the row matches an existing ingredient with the same price, so nothing changes.
  • Error — the row can’t be imported (for example, an unknown unit or an invalid cost), with the reason shown. Error rows are excluded when you apply.

When you confirm, Mezbano plans the same file again against the catalog as it exists at that moment. This prevents a stale preview from applying decisions based on records that changed in the meantime. If an individual row still cannot be saved, the final result marks that row as an error without describing it as successfully imported.

What the import changes

For a new name, the import creates the ingredient, creates its category if needed, and adds an always-effective brand baseline for one unit. For an existing name, it only adds or updates that ingredient’s always-effective baseline unit and cost. It does not rename the ingredient, recategorize it, or replace its other catalog settings.

An update changes the existing always-effective baseline in place. That means an as-of recipe-cost recalculation can reflect the updated baseline even for an earlier date; use separately effective-dated records in the costing screens when you need distinct price periods.

Re-importing is safe

Ingredients are matched by trimmed, case-insensitive name within your brand, across all categories. Re-uploading the same file therefore does not create another ingredient with that name. Rows whose baseline unit and cost already match are skipped; changed values are updates, not duplicates.

Related