โ† All training

๐Ÿ”ข 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