Finished Good Items
Master data file delivering Claret's finished-goods item hierarchy in a single flat file, with every level flattened across columns on each row.
Finished-goods item master. Delivers Claret's full item hierarchy in a single file, with every level flattened across columns on each row.
About the hierarchy
By default, Claret expects a four-level hierarchy: Brand Group → Brand → Item → Vintage. For example:
Brand Group:
PremiumBrand:
ZAMItem:
122(ZAM Napa Valley Cabernet Sauvignon 12 x 750ml)Vintage:
122-16,122-17, ...122-24(one per vintage year)
If your item hierarchy differs in either depth or naming, that is fine. Provide your own level names as column pairs in your hierarchy's order, from highest (most general) to lowest (most granular), using the pattern {Level} Name, {Level} Description. Replace {Level} with the name of each level you use. Examples:
Two-level:
Item Name, Item Description, Vintage Name, Vintage DescriptionThree-level:
Brand Name, Brand Description, Item Name, Item Description, Vintage Name, Vintage DescriptionFive-level:
Category Name, Category Description, Brand Group Name, Brand Group Description, Brand Name, Brand Description, Item Name, Item Description, Vintage Name, Vintage Description
If you adapt the columns to your own hierarchy, email [email protected] describing your levels in order so the labels can be applied in Claret's UI.
Planning level vs. Transactional level
This is a key concept for the integration. In the default hierarchy, two of the four levels are referenced by other files, and they serve different purposes:
Item (item_name)
122
Bottling Schedule, supply plans, budgets, forecasts
Forward-looking planning: "we plan to bottle 1,500 cases of 122 in May"
Vintage (vintage_name)
122-16
Actuals / transactional data: "we have 879 cases of 122-16 in FG-GEN-BIN today"
Why the split: Plans are made at the SKU-family grain (you commit to bottling a certain volume of 122 per period), but actual production, inventory, and recipes always operate on a specific vintage (122-16), because the wine in the bottle is a particular year's wine.
Special case: items without a Vintage level. Some items (e.g., 124 "ZAM Lodi Zinfandel 12 x 750ml" below) don't have vintages. For these, the Item level serves as both the planning and the transactional reference, and rows in this file will have the Vintage columns blank. Downstream transactional files for these items should reference the item_name directly.
Schema
One row per leaf-level entry. For items with vintages, that's one row per vintage. For items without vintages, that's one row at the item level with the vintage columns blank.
1
brand_group_name
Top-level grouping. Same value repeats across every row in that brand group.
Premium
2
brand_group_description
Long-form description of the brand group.
Premium group
3
brand_name
Mid-level grouping. Same value repeats across every row in that brand.
ZAM
4
brand_description
Long-form description of the brand.
ZAM brand
5
item_name
The planning level. Referenced by Bottling Schedule and other planning files.
122
6
item_description
Long-form description of the item.
ZAM Napa Valley Cabernet Sauvignon 12 x 750ml
7
vintage_name
The transactional level. Referenced by Inventory, Recipes, and Work Plans. Leave blank if this item has no vintages. Must be unique across all rows in the file when present.
122-16
8
vintage_description
Long-form description of the vintage.
ZAM Napa Valley Cabernet Sauvignon 12 x 750ml 2016
Header row
Sample data
Rows 1-5: item 122 has multiple vintages, one row per vintage with parent columns repeated. Rows 6-7: items 123 and 124 have no vintages, single row each with vintage columns blank.
Snapshot semantics
Full snapshot every delivery. Include every currently-active item and vintage.
An item or vintage omitted from a new snapshot is treated as retired; its history is preserved but no new transactional rows referencing it will be accepted.
item_namemust be unique across all rows.vintage_name, when present, must also be unique across all rows.All
NameandDescriptioncolumns should be populated where applicable.Descriptionvalues appear in Claret's UI (tooltips, search, exports) and improve usability for the people working in the grids.
Last updated
Was this helpful?