Recipes

Master data file mapping each finished good or bulk wine item to its ingredient components. One row per ingredient; a blend produces multiple rows sharing the same fg_item_name.

Maps each finished-good or bulk-wine item to the ingredient item(s) that go into it. One row per ingredient. A recipe with multiple ingredient components (a blend) is represented as multiple rows sharing the same fg_item_name and yield values.

Ingredients can be:

  • Another bulk wine item (e.g., a bulk wine going into a bottled FG, or one parent WIP rolling up from its vintages)

  • A crop / raw grape grade (e.g., a parent WIP composed from multiple grape grades sourced from the farm)

About the item levels referenced

Unlike Inventory and Bottling Schedule, recipes can be defined at any item level; there is no strict planning-vs-transactional split. In practice, you'll see recipes at:

  • The Item level (e.g., 122): a generic recipe applied to every vintage of that item

  • The Vintage level (e.g., 122-16): a vintage-specific recipe that overrides the item-level one for that year

  • The Parent WIP level (e.g., ZAMNVCAS): a recipe describing how a parent bulk wine is produced (e.g., a blend of crops)

  • The Child WIP level (e.g., ZAMNVCAS19): a vintage-specific bulk wine recipe

Deliver recipes at whatever level your ERP maintains them. Claret will match them to the corresponding items in the Items master files.

Schema

#
Column
Required?
Description
Example

1

recipe_type

One of: Strategic, with items only, Operational, with items only, Strategic, with item at locations. Most bottling recipes are Strategic, with items only. See Controlled vocabularies below for definitions.

Strategic, with items only

2

fg_item_name

The finished good produced by this recipe. Must match a name from the Finished Good Items file at any level (item_name or vintage_name) or from the Bulk Wine Items file (parent_wip_name or child_wip_name) if the recipe targets a bulk wine.

122-16

3

yield_quantity

Quantity of finished good produced per recipe execution. Numeric value. Decimals fine, whole numbers fine. No thousands separators.

1

4

yield_uom

Unit of measure for yield_quantity.

9LE Case

5

bulk_item_name

The ingredient item. Must match a parent_wip_name or child_wip_name from the Bulk Wine Items file, or a crop_name from the Crops file.

ZAMNVCAS16

6

bulk_quantity

Quantity of the ingredient consumed per recipe execution. Numeric value. Decimals fine, whole numbers fine. No thousands separators.

2.378

7

bulk_uom

Unit of measure for bulk_quantity. May differ from yield_uom (e.g., crops measured in Ton, wine in Gallon, cases in 9LE Case).

Gallon

8

location_name

The location associated with this recipe row. Must match a location from the Locations file. Behavior depends on recipe_type: for Strategic, with items only, leave blank; for Operational, with items only, required and identifies where the recipe is run (all ingredient rows of the same recipe carry the same location); for Strategic, with item at locations, may be populated per ingredient row to identify where each ingredient is sourced (typically a vineyard or other crop location).

ZAM-WINERY

9

waste_factor

Expected waste/loss as a fraction (e.g., 0.02 = 2%). Numeric value, decimal between 0 and 1. Defaults to 0 if omitted.

0.02

Header row

Sample data

  • Row 1: an Item-level (planning-level) Strategic recipe, a generic recipe for 122 referencing the parent WIP ZAMNVCAS.

  • Rows 2-4: Vintage-level Strategic recipes that override the item-level recipe for the 2016-2018 vintages of 122 (each from its same-year child WIP).

  • Row 5: an Operational recipe for 122-19 pinned to a specific location (ZAM-WINERY). The location_name is required on Operational recipe rows; it identifies where the recipe is run.

  • Rows 6-8: a crop-blend recipe (Strategic, with item at locations). One Gallon of the parent WIP ZAMNVCAS is composed from three Cabernet grape grades: CAS-A (50%), CAS-B (25%), CAS-C (25%).

  • Row 9: a child-WIP recipe sourced from a single crop. One Gallon of CLMCCPIN21 from 1 Ton of CAS-A. Note the unit mix (Ton of crop yielding Gallons of wine).

Snapshot semantics

  • Full snapshot every delivery. Include every active recipe.

  • One row per ingredient. A blend with N components produces N rows.

  • All rows of the same recipe must share identical values for recipe_type, fg_item_name, yield_quantity, yield_uom, and location_name.

  • A recipe is uniquely identified by (fg_item_name, recipe_type, location_name). Re-delivering the same key with different ingredients replaces the prior recipe atomically.

  • A recipe omitted from a new snapshot is treated as retired.

Controlled vocabularies

Recipe types

recipe_type must be one of:

Recipe type
When to use it

Strategic, with items only

Default for most bottling recipes. Components are items, and the recipe is not tied to a specific location (the same recipe can be run anywhere).

Operational, with items only

Same component shape, but the recipe is tied to a location; the location_name column becomes required.

Strategic, with item at locations

Used when components are tracked at specific source locations (e.g., bulk wine in a particular winery's tank farm). The recipe header does not require a location, but each ingredient row may carry one.

Last updated

Was this helpful?