๐ข Codes & Recipe IDs
Factory codes (211_, 212_), npd, recipeId, FG codes โ what each one means and where to use it.
6 sections ยท ~5 min read
Three codes per recipe โ don't mix them up
A recipe can carry up to three identifiers: npd (primary key), recipeId (versioned factory code), and an FG code (finished-goods item code). Each does a different job.
npd: the primary key
Two formats live in production:
โข YYYY-NNN (e.g. 2026-001) โ auto-generated for R&D-pipeline recipes
โข 211_XXX / 212_XXX (e.g. 211_BCS) โ factory codes brought in via bulk import. 211 = Meat line, 212 = Bakery line.
See npd values on the Recipes table
The first column shows the npd. Mix of formats is normal โ old R&D recipes use the date-based format, factory imports use the line prefix.
๐ In RecipeHub: Recipes page
recipeId: the versioned factory code
Factory assigns this at the Factory-Trial-Passed gate, e.g. 211_BCS v1. R&D cannot move a recipe from Factory Trial โ Prod Trial until Factory provides the recipeId. The npd stays as the historical tracker.
๐ In RecipeHub: Recipes page
Role-specific notes
FACTORY: You own this. R&D is blocked until you assign it.
NPD: You'll see a green chip on the recipe detail once Factory assigns it.
FG code: the SKU on the box
When a build is finalised, it gets a Finished-Goods code (e.g. FG-211-0042). This is what shows on labels, ERP, and dispatch paperwork. One recipe can produce multiple FGs (different formats / brands).
Item codes on ingredients
Every ingredient pulls from Oracle EBS via its itemCode (e.g. RMADT0013). Shown as a small grey pill next to the ingredient name. That's how prices stay synced with Oracle.
๐ In RecipeHub: Ingredients DB page