This is the complete Galley Codex reference showing all sections for every role. Use the index at left to jump to a topic.
Phoenix3 Collective
PHX3 Galley Codex
The Source of Truth for Data Standards, Workflows, and System Guidelines
OWNERCulinary Admin
VERSIONv2.6 · May 2026 · Living Document
COMPANIESRestaura · Culinour · Infuse
SCOPEAll locations · All operating companies · All Galley users
How to Use This Framework
Start with Quick Reference for fast answers to common tasks — open a numbered section for the full standard. Flag anything that doesn't match reality to Culinary Admin — the framework improves when gaps are surfaced.
Document Index
| Section | Topic | Primary Audience |
| — | Roles, Data Flow, Submission Intake | All roles |
| QR | Quick Reference — 18 Cards | All roles |
| 1 | Naming & Governance Standards | Admin, Culinary |
| 2 | Preparation Names (62-name library) | Admin, Culinary |
| 3 | Recipe Tags | Admin, Culinary, RD |
| 4 | Dietary Flags & Allergens | Nutrition Director, Nutrition Dietitian |
| 5 | Vendor Item Import | Admin, Culinary |
| 6 | Menu Planning | Culinary Admin, Field Manager |
| 7 | Inventory Management | Field Manager, Field Operator |
| 8 | Invoice Scanning & Vendor Data | Field Manager, Field Operator, Culinary Admin |
| 9 | New Location Setup | Admin |
| 10 | Requesting Access & New Users | All roles |
| 11 | User Permissions — Complete Domain Reference | Culinary Admin only |
| — | Training & Onboarding (overview + 2-hour guide) | All roles |
FRAMEWORK NOTE
Culinary Admin has full visibility into every section of this framework. Role filter selections show only sections relevant to that role. Switch to All Roles to see everything. This Codex is a living document — anything that doesn't match operational reality should be flagged to Culinary Admin.
Overview
Roles & Responsibilities
FOR ALL AUDIENCES
PHX3 uses 11 roles across four domains. Every role belongs to exactly one domain. Culinary Admin is the sole role-management authority across the entire system — the only role that can assign, change, or remove roles for any user across any domain. All user access requests route to Culinary Admin via the New User Request Smartsheet, regardless of which domain the user sits in.
The Four Domains
Culinary
Recipe & system authority
3 roles
Nutrition
Dietary & clinical authority
3 roles
Field
Operational execution
3 roles
Corporate
Business access
2 roles
Culinary Domain
| Role | Tier | What They Own in Galley |
| Culinary Admin | Admin | Full culinary system authority. Creates, edits, approves, and finalizes all recipes. Manages collections, tags, media, cooking methods, categories, preparations, vendors (view). Sole authority for all user role assignments across every domain. Holds the complete set of recipe and culinary object permissions in the system. |
| Culinary Contributor | Contributor | Builds and edits recipes under Culinary Admin supervision. Cannot set Status tags, finalize, approve, or manage collections. Submits work for Culinary Admin review. View access to ingredients, preparations, and collections. |
| Culinary Viewer | Viewer | Read-only access to recipes and production lists. Default starting role for any new culinary team member. No write permissions granted until Culinary Admin confirms training completion. |
Nutrition Domain
Nutrition Director holds full clinical authority within the nutrition domain. Roles are provisioned by Culinary Admin; Nutrition Director does not assign roles or access system-level controls.
| Role | Tier | What They Own in Galley |
| Nutrition Director | Director | Creates, edits, and governs all dietary flags. Full nutritional editing authority — USDA associations, ingredient and recipe nutritionals, allergen governance, cooking method associations. PU4 protein sign-off authority. Full reporting access. |
| Nutrition Dietitian | Dietitian | Assigns existing dietary flags at ingredient and recipe level. Reviews and verifies allergens. Cannot create new flags — escalates new flag needs to Nutrition Director. View access to nutritionals and reports. |
| Nutrition Viewer | Viewer | Read-only access to dietary flags, allergens, and nutritional data. For any role that verifies diet compliance without making changes. Default starting role for new nutrition team members. |
Field Domain
Field Manager holds full operational authority at the location level. Roles are provisioned by Culinary Admin; Field Manager does not assign roles or touch master library data.
| Role | Tier | What They Own in Galley |
| Field Manager | Manager | Full operational authority at the location. Creates and approves Plans and Events. Manages purchase orders, inventory counts, production approval, invoices, and transfers. Full field reporting. Configures cycle count templates and sub-locations. |
| Field Operator | Operator | Executes within approved Events. Receiving (including invoice email submission to Galley), cycle counts, production lists, waste entry. Cannot create Plans, approve Events, or initiate purchase orders. View access to recipes and production plans. |
| Field Viewer | Viewer | Read-only access to plans, events, production, and inventory. For monitoring or supervisory access without operational write authority. Default starting role for new field team members. |
Corporate Domain
Corporate roles provide business-level Galley access for corporate office staff (marketing, finance, IT). Neither corporate role creates master data, approves anything, or touches clinical or nutritional objects.
| Role | Tier | What They Own in Galley |
| Corporate Contributor | Contributor | Limited editing access for corporate staff with a legitimate business need — marketing, finance, IT, and similar functions. Can view and make constrained edits to non-clinical, non-master-library fields such as invoice data. Cannot create recipes, ingredients, or vendor items. Cannot approve, finalize, or touch dietary or nutritional objects. |
| Corporate Viewer | Viewer | Read-only access across all domains with full reporting visibility. For executives or stakeholders who need cross-account data without any write authority. No edit permissions anywhere in the system. |
New User Default State
All new users start as Viewer of their assigned domain. No write access is granted until training delivery is confirmed by a Culinary Admin.
Role is elevated only after training is complete — Culinary Admin is responsible for not promoting a role before the training gate is met (see Training & Onboarding).
Departing users are deactivated within one business day of HR notification. Accounts are disabled, not deleted — audit history is preserved.
Who to Contact When…
| Situation | Route To |
| Need a new recipe added or modified | Recipe Submission Smartsheet → Culinary Admin |
| Need a new ingredient | Recipe Submission Smartsheet — Culinary Admin reviews, Nutrition Director verifies |
| Need a new vendor or vendor item | Contact Culinary Admin directly |
| Need a new user account or role change | New User Request Smartsheet → Culinary Admin |
| A recipe has wrong allergens or dietary flags | Nutrition Director, cc Culinary Admin |
| Not sure if Sellable or Component | Culinary Admin — default: if it appears on a menu alone, it's Sellable |
| Invoice didn't appear in Galley after 24 hours | Culinary Admin |
| Vendor item created during matching needs ingredient link help | New Ingredient Request Form — note “vendor item linking” in the description |
| Invoice scanning email returns a bounce or failure | Culinary Admin |
| Something in this guide is wrong | Culinary Admin — framework improves when gaps are flagged |
Full Permission Detail
For the complete permission domain matrix and Galley toggle-level detail for all 11 roles across all 15 domains, see Section 11 — User Permissions.
Overview
How Data Flows Through Galley
Galley is organized as a hierarchy — vendor items feed ingredients, ingredients build recipes, recipes populate menus, menus drive operations. Each layer depends on the one below it, so getting the foundation right protects everything that sits on top. This page shows the four flows that matter most.
Where Things Live — Quick Reference
| If you're working on… | It lives in | Owned by | Section |
| Pack sizes, costs, vendor SKUs | Vendor Items | Culinary Admin (master library) · Field Manager (invoice updates) | 5, 8 |
| Ingredient names, units, allergens, USDA | Ingredients | Culinary Admin · Nutrition Director (dietary & nutritionals) | 1, 4 |
| Recipe builds, sub-recipes, yields, procedure | Recipes | Culinary Admin · Culinary Contributor (drafts) | 1 |
| Cycles, plans, events at a location | Menus | Culinary Admin (cycles) · Field Manager (plans, events) | 6 |
| POs, invoices, counts, production, waste | Operations | Field Manager · Field Operator | 6, 7, 8 |
| Allergens, dietary flags, IDDSI | Ingredients & Recipes | Nutrition Director (creates) · Nutrition Dietitian (assigns) | 4 |
| User access, roles, permissions | System | Culinary Admin only | 10, 11 |
1. The Data Hierarchy
Every object in Galley sits at one of five levels. Data quality at lower levels carries upward — clean vendor items make clean recipe costs make clean menu costs.
2
Ingredients
the foundation
5
Operations
PO · production · invoices · counts
Vendor Items — what is purchased from a supplier: pack size, cost, SKU.
Ingredients — the foundation: name, unit, allergens, USDA nutrition.
Recipes — built from ingredients and sub-recipes: yield, procedure, allergens, cost roll up automatically.
Menus — where operations happen: Cycles, Plans, Events all live here.
Operations — purchase orders, production sheets, labels, cycle counts, invoice scanning, reporting.
2. Recipe Lifecycle
A recipe enters Galley through a submission, gets built and reviewed in parallel by Culinary and Nutrition, and finalizes when both reviews are clean. The review step can loop back through testing before finalization.
2
Triaged
Culinary Admin · 3 days
4
Reviewed
Nut Dir + Cul Admin
Review can route back to a needs testing state for field testing and adjustment before re-review. This loop is expected, not exceptional.
3. Vendor Item Lifecycle
Vendor items enter Galley two ways: a bulk MOG (Manufacturer Order Guide) import done by Culinary Admin when a vendor relationship is set up, or invoice-by-invoice as deliveries arrive at the location. After creation, the vendor item is linked to an ingredient, which is how recipe costs and label data become accurate. Costs refresh continuously from each approved invoice.
1
Created
MOG import or invoice scan
3
Active
feeds recipe cost & labels
4
Updated
each approved invoice
| Entry Path | Who | When | Detail |
| MOG Import | Culinary Admin | Once per vendor at setup | Bulk load of the vendor's full item catalog. Sets the initial foundation. See Section 5. |
| Invoice Scan | Field Manager during matching | Continuously as deliveries arrive | New items created from unmatched invoice lines. Field Manager links to ingredient before approving. See Section 8. |
Both paths produce the same kind of object — a vendor item with name, cost, pack hierarchy, SKU, and an ingredient link. MOG imports build the foundation quickly; invoice scanning keeps it accurate over time.
4. The Daily Field Loop
For a Field Manager and Field Operators, the day-to-day rhythm in Galley follows the delivery cycle. This is the loop that keeps costs current and inventory accurate at the location.
3
Submit
email invoice to Galley
5
Approve
costs & inventory update
The PO is the ordering record. The approved invoice is the receiving record — it both updates vendor item costs and posts items to inventory at the configured sub-location. The full workflow is in Section 8; the dock-side quality and variance steps are in Section 7.
Overview
Submission Intake
Where It All Starts
FOR ALL AUDIENCES
All new data requests start with the intake forms below. Direct Galley entry of master library objects (recipes, ingredients, vendor items) is limited to Admin roles — this protects data integrity at the foundation.
Recipe Submission Form
Submit anything related to a recipe — new recipe, modification, correction, new ingredient, IDDSI variant request.
New Ingredient Request Form
Submit a request for a new ingredient to be added to the library.
New User Request Form
Submit anything related to user access — new user, role change, permissions, location reassignment, deactivation.
What to Include
New Recipe
Proposed name · source/inspiration · intended use (LOB, daypart) · yield and portion · full ingredient list · numbered procedure with temps and times · known allergens · sub-recipes used by name
New Ingredient
Proposed name · vendor and SKU if known · pack size · nutritional spec sheet if available · which recipe(s) will use it
New User
Full name and email · location(s) needed · role (match the Roles & Responsibilities role list) · manager or sponsor
Quick Reference Guide
18 Cards — Common Tasks
Print these. Pin them. Each card answers one question.
Section 1
Naming & Governance Standards
Recipes · Ingredients · Vendor Items
Naming standards live here because every other layer in Galley depends on them. Only Culinary Admin creates new recipes, ingredients, and vendor items — all other roles submit through the intake forms.
Recipe Naming Convention
| Category | Format | Example |
| Poultry | [Species+Cut], [Method] with [Sauce] | Chicken Breast, Roasted with Herb Jus |
| Beef / Red Meat | [Cut], [Method] with [Sauce] | Short Rib, Braised with Bordelaise |
| Seafood | [Species], [Cut] [Method] with [Sauce] | Salmon, Filet Seared with Lemon Beurre Blanc |
| Soup | [Flavor], [Type] [Style] | Tomato Bisque, Roasted |
| Sides — Veg | [Vegetable], [Method] with [Seasoning] | Asparagus, Roasted with Lemon & Parmesan |
| Sauces / Stocks | [Type], [Flavor] [Style] | Stock, Chicken (Scratch) |
| Dressings | [Type], [Flavor] | Vinaigrette, Lemon-Herb |
| IDDSI Standalone | [Code] — [Parent Recipe Name] | MM5 — Chicken Breast, Herb Jus |
Portion vs. Serving — Key Definitions
These two terms are often confused, and using them interchangeably creates ambiguity in recipe builds, production sheets, and cost calculations. Use only as defined below.
| Term | Definition | Example |
| Portion | A single item or measured quantity of one thing — a sauce amount, a protein cut, a vegetable scoop. Portioned in Galley as a unit amount on a single recipe component. | 2 oz Dressing, Caesar (Scratch) — that 2 oz is a portion of dressing. |
| Serving | The complete plate or total amount delivered to a guest. A serving is composed of one or more portions combined. | Entrée plate = 5 oz chicken (portion) + 4 oz vegetable (portion) + 2 oz sauce (portion) = 1 serving. |
Recipe yield in Galley refers to servings — the number of complete plates or complete units the recipe produces.
Component quantities within a recipe are portions — the per-serving amount of each ingredient or sub-recipe.
When a recipe contains only one item (e.g., a sauce), portion and serving may be numerically identical — but conceptually, the sauce quantity used in a plate is still a portion of a serving.
Sub-Recipe Linking — The Most Important Rule
Sauces, stocks, dressings, vinaigrettes, and doughs are linked as sub-recipes rather than listed as ingredients inline. This is the single highest-leverage rule in the library — clean sub-recipe linking is what makes cost rollup accurate, nutrition data trustworthy, and maintenance easy across the whole catalog.
| Approach | Example |
| RIGHT | Caesar Salad links to “Dressing, Caesar (Scratch)” as a sub-recipe at 1.5 oz |
| WRONG | Caesar Salad lists yogurt, lemon, Worcestershire, Dijon, Parmesan, garlic, anchovy inline |
Sellable vs. Component
| Question | If Yes → Sellable | If Yes → Component |
| Appears on a menu by itself? | ✓ | |
| Sauce, stock, dressing, dough, or base? | | ✓ |
| Portioned, plated dish? | ✓ | |
| Used inside other recipes? | | ✓ |
Recipe Status Workflow
No Status tag = recipe is still being built (intentional). Status moves only when Culinary Admin sets it. Culinary Review and Nutrition Review run in parallel, not sequentially.
1
under review
Nut Dir + Cul Admin
GALLEY ASSIST — AUDIT TAG TOGGLE
Galley Assist is a Galley feature that auto-flags incomplete recipe records for later cleanup. When Galley Assist is ON: recipes saved with missing required fields are automatically tagged under the audit category. This allows Culinary Admin to filter the recipe catalog for incomplete records and resolve them before they reach review. Toggle is found in Galley settings. PHX3 standard: keep Galley Assist on at all times. If a recipe shows up in the audit filter, hold its Status advance until missing fields are resolved.
Ingredient Naming
| Type | Format | Examples |
| Spices | Spice, [Name] | Spice, Black Pepper · Spice, Paprika Smoked |
| Herbs | Herb, [Name], [Form] | Herb, Basil, Fresh · Herb, Thyme, Fresh |
| Oils | Oil, [Type] | Oil, Olive Extra Virgin · Oil, Avocado |
| Proteins | [Type], [Cut/Form] | Chicken, Breast, Boneless, Skinless |
| Produce | [Item], [Variety/Form] | Onion, Yellow · Pepper, Bell, Green |
Galley Short Codes — How They Work
SYSTEM-GENERATED — DO NOT MANUALLY ASSIGN
Galley auto-generates short codes. PHX3 does not manually assign or override them. Understanding the format helps troubleshoot labeling and POS references.
Galley produces short codes in one of two formats depending on context:
| Format | When It Appears | Example |
R-# | Standard recipe short code, auto-assigned on recipe creation. The number is sequential and system-controlled. | R-1042 |
[COLLECTION]-# | When a recipe is assigned to a named Collection, Galley may prepend the collection identifier. Controlled by collection naming at the enterprise level. | RESTAURA-88 |
Short codes appear on production labels, POS references, and recipe catalog exports. Do not edit them in Galley — they are system-controlled.
If a short code appears incorrectly on a label or export, flag to Culinary Admin — the source issue is almost always the recipe or collection setup, not the code itself.
Vendor Item Pack-Size Pattern (Quick Look)
CRITICAL
Pack Unit and Sub Unit must NOT be the same value. Leave Pack Size Description blank — Galley auto-generates it. Full procedure: Section 5 — Vendor Item Import.
| Field | Example: 12 cases × 2 gal jugs | Why |
| Cost Unit (CU) | case | What you are buying |
| Qty of packs in CU | 12 | 12 jugs in the case |
| Pack Unit (PU) | each | Each individual jug |
| Qty of sub-units in PU | 2 | 2 gallons per jug |
| Sub Unit | gal | The smallest measurable unit |
| Pack Size Description | (blank) | Galley auto-generates |
Section 2
Preparation Names
Standard Library & Governance — 62 Names, 7 Families
Preparations are not free-text. Use only the 62 standard PHX3 prep names below with exact spelling. If a prep state is needed that isn't on this list, submit a request to Culinary Admin — consistency here is what makes prep tracking and reporting reliable.
Core Rules
Use the standard library only. Every prep name applied to an ingredient inside a recipe must come from the 62-name list below.
Exact spelling. “Diced 1/4” is not the same as “diced 1/4”” or “1/4 inch dice” to Galley. Match the canonical spelling exactly.
Temperature and method states are not preparations. Warm, chilled, toasted, room temperature, hot, cold — these go in the procedure field, not the prep field.
“Whole” and “Raw” mean no prep. Leave the prep field blank — do not enter “Whole” or “Raw” as prep names.
Don’t stack preps in a single field. If an ingredient needs two prep states, document the sequence in the procedure (e.g., “Peeled, then Diced 1/4””).
Only Culinary Admin adds prep names. Requests follow the workflow below.
What Is NOT a Preparation
| Term | Why Not a Prep | Where It Belongs |
| “warm” / “chilled” / “hot” / “room temp” | Temperature state | Procedure field |
| “toasted” / “cooked” | Cooking method | Procedure step |
| “whole” / “raw” / “uncooked” | No-prep indicator | Leave field blank |
| “fresh” | Form descriptor | Ingredient name |
| “large” / “small” | Size descriptor without a cut | Use a Cutting & Sizing prep that specifies the actual dimension |
Requesting a New Prep Name
If a recipe genuinely requires a prep state not on this list, submit a request. Do not improvise a workaround in the prep field — that fragments the data and bypasses governance.
1
Email GSO
proposed name + recipe(s)
2
Library Check
GSO reviews for overlap
3
Decision
approve or map to existing
4
Add to Library
if approved
5
Doc Updated
v-bumped, field notified
FULL SOP
PHX3 Galley · Preparation Names SOP · v1.0
62-name standard library, governance rules, common misuse patterns, and new prep request workflow. Contact Culinary Admin for the full document.
Section 4
Dietary Flags & Allergens
Governance, Assignment & Review
Nutrition Director is the sole authority for creating dietary flags. Nutrition Dietitians assign existing flags. Culinary and operators don't create or assign — they escalate to Nutrition.
Permission Breakdown
| Action | Who | Galley Permission |
| Create new dietary flag | Nutrition Director | Edit Dietary Flags |
| Assign flag to ingredient | Nutrition Director + Nutrition Dietitians | Edit Ingredient Dietary Flag Associations |
| Assign flag to recipe | Nutrition Director + Nutrition Dietitians | Edit Recipe Dietary Flag Associations |
| View dietary flags | All roles | Read-only at minimum |
Required Allergen Coverage
| Tier | Coverage |
| Top 9 | Milk · Eggs · Fish · Shellfish · Tree Nuts · Peanuts · Wheat · Soy · Sesame |
| Plus | Mustard · Sulfites where applicable |
| Cross-contact | Documented in recipe Notes field — shared oil, equipment, or service-line risk |
How Flags Flow Up the Hierarchy
Dietary flags exist at both ingredient and recipe levels. Flags assigned to an ingredient flow up automatically into every recipe that uses that ingredient. This is intentional — ingredient-level governance protects every recipe in the library.
Assign at the lowest level whenever possible — once on an ingredient, applied everywhere.
Recipe-level flags only when the dietary status depends on the combination (e.g., a vegan dish that includes a non-vegan side).
Sub-recipe flags inherit through the parent — review the chain when a sub-recipe is updated.
Menu Type Matrix — Diet Type × Diet Texture
Each menu served at Restaura locations is identified by a combination of Diet Type and Diet Texture. These are the standard PHX3 menu type names used in Galley and on resident meal tickets. Controlled Carbohydrate and 2 gm Sodium map to existing menu types — do not create new menu types for aliases.
| Diet Type | Regular | Easy to Chew (EC7) | Soft & Bite-Sized (SB6) | Minced & Moist (MM5) | Pureed (PU4) |
| Regular | Regular - Regular | Regular - EC7 | Regular - SB6 | Regular - MM5 | Regular - PU4 |
| No Added Salt / Cardiac | No Added Salt/Cardiac - Regular | No Added Salt/Cardiac - EC7 | No Added Salt/Cardiac - SB6 | No Added Salt/Cardiac - MM5 | No Added Salt/Cardiac - PU4 |
| Consistent Carbohydrate | Consistent Carbohydrate - Regular | Consistent Carbohydrate - EC7 | Consistent Carbohydrate - SB6 | Consistent Carbohydrate - MM5 | Consistent Carbohydrate - PU4 |
| Renal | Renal - Regular | Renal - EC7 | Renal - SB6 | Renal - MM5 | Renal - PU4 |
| Simplified Renal | Simplified Renal - Regular | Simplified Renal - EC7 | Simplified Renal - SB6 | Simplified Renal - MM5 | Simplified Renal - PU4 |
Alias mapping: 2 gm Sodium, No Added Salt (NAS), and Cardiac all map to the No Added Salt/Cardiac menu type. Controlled Carbohydrate maps to Consistent Carbohydrate. Use the standard menu type names in Galley, not the alias names.
PU4 Protein Sign-Off
NON-NEGOTIABLE — CLINICAL SAFETY
All PU4 protein recipes require Nutrition Director sign-off before status = finalized. No exceptions for time pressure, holiday menus, or staffing.
Every PU4 protein recipe is a standalone entry: “PU4 — [Parent Recipe Name]”
Sign-off includes Flow Test result, particle-size verification (≤4 mm bound), binder ratio confirmation
Sign-off documented in recipe Notes field with date and reviewer
Culinary Admin sets Status to finalized only after sign-off is documented
Section 5
Vendor Item Import
Pack Hierarchy · Cost Mapping · Parsing Rules
Accuracy at the vendor item level holds everything above it together — recipe costs, inventory counts, and purchase orders all rely on this foundation. Errors at this level cascade silently into downstream data, so careful attention to the structure below pays back across the whole system.
The Pack Hierarchy
Every vendor item is structured as three nested levels with two quantities tying them together. This is the model behind every other rule in this section.
LEVEL 1
Cost Unit (CU)
What you buy and pay for. Cost refers to ONE Cost Unit.
LEVEL 2
Pack Unit (PU)
What is INSIDE the Cost Unit (e.g., cans inside a case).
LEVEL 3
Sub Unit
What is INSIDE the Pack Unit (e.g., ounces inside a can).
Quantity of packs in CU — how many Pack Units fit in one Cost Unit (left of the slash in “6/14 OZ”).
Quantity of sub-units in PU — how many Sub Units fill one Pack Unit (right of the slash in “6/14 OZ”).
Worked Example — Diced Tomatoes
Vendor pack size: 6 / #10 (six #10 cans per case). Vendor price: $24.00 per case.
| Galley Field | Value | Why |
| Cost Unit (CU) | case | You order, receive, and pay per case |
| Cost (dollars) | 24.00 | Price of ONE Cost Unit |
| Quantity of packs in CU | 6 | Six cans per case |
| Pack Unit (PU) | can | What is inside the case |
| Quantity of sub-units in PU | 104 | A #10 can holds about 104 fl oz |
| Sub Unit | fl oz | Smallest unit you measure into a recipe |
| Pack Size Description | (blank) | Galley auto-generates — leave empty |
| Purchasing Unit | case | How the kitchen orders it |
| Inventory Unit | can | How the kitchen counts it on a shelf |
8 fl oz portion ÷ 104 fl oz/can ÷ 6 cans/case × $24.00 = $0.31 per portion
If any field in the chain is missing, blank, or in the wrong column, the cost calculation breaks silently. The recipe still costs — just wrong.
Three Fields That Look Redundant
| Field | Definition | Most Common Value |
| Cost Unit (CU) | Unit the price refers to. Equals the level the cost is quoted at. | case · lb · each |
| Purchasing Unit | How the kitchen orders the item from the vendor. | case (= CU) |
| Inventory Unit | How the kitchen counts the item on the shelf. | Often the Pack Unit (can, jar, bag) |
Pack Size Description — Leave It Blank
CRITICAL — DO NOT POPULATE
Galley auto-generates the Pack Size Description from the four hierarchy fields. Manually populating it causes the import error Invalid pack size description. Leave the column blank; Galley will render the readable string itself.
Cost (dollars) vs. Cost (cents)
USE ONE — NEVER BOTH
PHX3 standard: Cost (dollars) only. Decimal value (24.50, 3.839, 87.87). Leave Cost (cents) blank. If both are populated, Galley will reject the row or use one inconsistently.
Pack-Size Parsing Rules
Vendor pack-size strings are not standardized. Apply these rules in order — first match wins.
| Pattern | Example | Output |
[N]/[Q] [UNIT] | 6/14 OZ | Qty packs=6 · PU=package · Qty sub=14 · Sub=oz |
[N]/[Q][UNIT] | 4/5LB | Qty packs=4 · PU=package · Qty sub=5 · Sub=lb |
[N]/[Q]#AVG | 3/12#AVG | Qty packs=3 · PU=piece · Qty sub=12 · Sub=lb |
[N]/[Q1]-[Q2]# | 16/2.5-3# | Qty packs=16 · PU=piece · Qty sub=2.5 (low bound) · Sub=lb |
[N]/#[X] | 6/#10 | Qty packs=6 · PU=#10 · Sub blank — REVIEW |
[N]/[Q] CT | 12/24 CT | Qty packs=12 · PU=pack · Qty sub=24 · Sub=count |
[N]/[descriptor] | 1/LARGE | Qty packs=1 · PU=large · Sub blank — REVIEW |
[N]/[dimensions] | 150/8X8X3 | Qty packs=150 · PU=8x8x3 · Sub=each — REVIEW |
BLANK | (empty) | All fields blank — REVIEW |
Unit Normalization
| Source Token | Galley Standard |
| OZ · OZS · Z | oz |
| LB · LBS · # | lb |
| FOZ · FLOZ | fl oz |
| GAL · GL | gal |
| GRM · G · GRAM | g |
| ML · MLS | ml |
| CT · COUNT | count |
| EA · PC · PIECE | each |
| DZ · DOZ | dozen |
Common Pitfalls
| Pitfall | Symptom | Fix |
| Cost in the wrong column | Costs inflated by 100x | Use Cost (dollars). Leave Cost (cents) blank. |
| Pack-size string in Cost Unit | Cost Unit reads “6/14 OZ” | Cost Unit is always one of: case, lb, each, gal — never the full pack string. |
| Pack Unit = Cost Unit | Recipe costs off by case-pack quantity | CU and PU must differ unless the case contains exactly one item. |
| Pack Size Description manually entered | Import error: “Invalid pack size description” | Leave column blank — Galley auto-generates. |
| Cloned vendor record | New vendor shows wrong DINs and pack sizes | Re-export source order guide from the actual vendor instance. Match on DIN. |
| Premature nutrition/allergen import | RD-managed flags conflict after ingredient linking | Leave columns from “USDA Ingredient ID” onward blank on import. |
Pre-Upload QC Checklist
Source: latest order guide from the actual vendor location (not cloned)
Row count matches expected after dedup; no “NO LIKE ITEM STOCKED” rows remain
Cost populated in Cost (dollars); Cost (cents) blank for every row
Cost Unit: every row has a single unit (case, lb, each, gal) — never a pack string
Pack hierarchy: all four fields populated for parseable rows
Pack Size Description: blank for every row
QC review file: unparseable rows resolved before upload, or uploaded with parser-warning notes
Names: Title Case, not ALL CAPS
Notes: every parser warning preserved
Nutrition / allergen columns: blank for every row
Spot-check 10 rows in Galley UI after upload
FULL SOP
PHX3 Galley · Vendor Item Import SOP · v1.1
Includes 243-column reference, full parsing detail, Sysco Boston rebuild appendix, and #-can reference table.
Section 7
Inventory Management
Receiving · Monthly Full Count · Variance
Inventory is field-owned. Field Manager oversees cadence and approves counts. Field Operators do the receiving and counting.
Receiving Workflow
RECEIVING & INVOICE SCANNING WORK TOGETHER
As of v2.0, invoice scanning (Section 8) is the primary system-of-record event for receiving. The PO is the ordering record; the approved invoice is the receiving record. The dock-side steps below remain the field's responsibility for quality and variance — the system update happens through invoice approval. See Section 8 for the full invoice workflow.
2
Verify items
qty, quality
3
Flag variance
discrepancies, damages
4
Submit invoice
Section 8 — auto-receives on approval
Open the PO in Galley before the truck is unloaded so you can verify line items against it.
Substitutions — flag and route to Field Manager; document on the invoice and in invoice notes. Do not auto-accept.
Damaged or rejected items — record quantity and reason; adjust the quantity on the invoice line before approving so the damaged portion does not enter inventory.
Short deliveries — adjust the quantity on the invoice line before approving (see Section 8).
Full Monthly Inventory
PHX3 runs one full inventory count per month at period-end. This is the only recurring inventory cadence. All items are counted and reconciled against PO history.
| Requirement | Detail |
| Frequency | Once per month, at period-end |
| Scope | All items across all sub-locations |
| Two-person rule | Required for all full counts and for alcohol at any count |
| Counter & approver | Must be different people — Field Manager approves |
| Entry deadline | Counts entered in Galley the same day as the physical count. If circumstances prevent same-day entry, the count is entered within 24 hours and the reason documented in the count notes. Recurring delays trigger a process review with the Field Manager. |
| Sub-recipes | Counted at the made (parent) yield level — not at individual ingredient level |
Variance Thresholds
| Tier | Threshold | Action |
| Tier 1 — Acceptable | Within ±2% | No action. Logged in count history. |
| Tier 2 — Review | ±2% to ±5% | Field Manager reviews and documents likely cause |
| Tier 3 — Investigate | Above ±5% | Field Manager and Culinary Admin review jointly. Root cause documented in count notes; target resolution within 5 business days. If a longer investigation is needed, document the open variance and proceed with provisional approval so downstream operations are not blocked. |
Par Level Lifecycle
Stage 1 — New account opening: Standard formula — avg daily use × delivery cycle days × 1.5 safety multiplier
Stage 2 — Galley-suggested run rates: As usage history accumulates, Galley's suggested pars replace the formula
Stage 3 — Operator adjustment: Field Manager adjusts based on informed field knowledge
Ownership: Field Manager owns par decisions. Culinary Admin supports with Galley-suggested pars when asked.
Section 9
New Location Setup
Onboarding Playbook — T-45 to T+45
Culinary Admin owns onboarding end-to-end. Every location follows this playbook — consistency at launch prevents data cleanup work later.
Onboarding Phases
Pre-Launch Checklist
Location record created in Galley. Assigned to appropriate Location Group.
LOB assignment confirmed (Restaura / Culinour / Infuse / multi-LOB).
Vendor scoping confirmed — existing and net-new vendors identified.
All vendor items linked to ingredients — no orphans at go-live.
LOB Collection access confirmed and curated for this location.
IDDSI variants present where required.
All sub-recipes finalized in the master library.
Cycle assigned and published before go-live.
Plans configured for the first 30 days.
All user accounts created via New User Request form.
Invoice scanning enabled for the account (confirm with Galley CSM).
Location's unique Galley invoice email address confirmed and distributed to Field Manager and Field Operators.
Invoice processing rules configured: auto-update costs ON, auto-receive items ON, auto-approve 100% matched OFF for initial rollout.
Receiving sub-location defaults set so auto-receive posts to the right place.
Schedule Template (T-45 to T+45)
| Day | Milestone | Owner |
| T-45 | Pre-launch setup begins | Culinary Admin |
| T-30 | Recipe submissions complete | Culinary Admin |
| T-21 | User accounts requested | Culinary Admin + Field Manager |
| T-7 | Pre-go-live QA audit (hard gate) | Culinary Admin |
| T-7 to T-0 | Field training | Culinary Admin / trainer |
| T-0 | Go-live — Culinary Admin on standby | Field Manager |
| T+1 to T+14 | Daily monitoring | Culinary Admin |
| T+45 | 45-day review | Culinary Admin + Field Manager |
Section 10
Requesting Access & New Users
How to Submit — All Roles
All user access changes — new accounts, role changes, location reassignments, permission adjustments, and deactivations — go through the New User Request form. All requests route to Culinary Admin.
Submit a New User Request
Use the New User Request form for any of the following situations:
You are a new hire who needs a Galley account
Your role or access level has changed and your permissions need updating
You need access to a new location
A team member has left and their account needs to be deactivated
You need a permission adjustment (e.g. moving from Viewer to Contributor)
What to Include in the Form
New user account: Full name · email address · location(s) needed · role (match the role list in Roles & Responsibilities) · manager or sponsor name
Role or permission change: Current role · requested change · reason · manager or sponsor approval
Deactivation: Name · effective date · any data ownership that needs reassignment
What Happens After You Submit
1
Form submitted
Smartsheet
2
Triaged
Culinary Admin · 2 days
3
Template applied
Admin in Galley
IMPORTANT
New accounts are read-only (Viewer tier) until role-appropriate training is completed and confirmed by a Culinary Admin. Do not expect edit access on day one.
Questions About Your Current Access
If you are unsure what your current role or permissions are, contact Culinary Admin directly. Do not attempt to change permissions in Galley yourself — the system enforces role templates and individual overrides require written justification.
Section 11
User Permissions
Complete Galley Permission Domain Reference · PHX3 Role Assignments · Provisioning & Lifecycle
This section is the complete Galley permission domain reference for Culinary Admin. If you are not Culinary Admin and need to request a new user or permission change, see Section 10 — Requesting Access & New Users. All user access changes route to Culinary Admin.
How Galley Permissions Work
Galley enforces a strict dependency rule: you must be able to view something before you can edit it. The system automatically enables view permissions when edit is granted, and disables all edit permissions if view is removed. Conflicting states are not possible — Galley prevents them at the system level.
Permissions are additive — a user receives only what is explicitly granted.
PHX3 uses role templates below. Individual overrides require written justification and Culinary Admin approval, documented in the admin tracker.
Permissions span 15 domains in this matrix. Every domain is mapped to a PHX3 role.
Click a Role to See Its Permissions
Role Templates — Summary Matrix
Full = all permissions in that domain. Read = view only. Partial = specific permissions listed in domain detail. — = no access.
| Permission Domain | Cul Admin | Cul Contrib | Cul Viewer | Nut Director | Nut Dietitian | Nut Viewer | Field Mgr | Field Op | Field Viewer | Corp Contrib | Corp Viewer |
| Recipes | Full | Partial | Read | Partial | Read | Read | Read | Read | Read | Read | Read |
| Ingredients | Full | Partial | Read | Partial | Partial | Read | Read | Read | Read | Read | Read |
| Preparations | Full | Read | Read | — | — | — | Read | Read | — | — | — |
| Collections | Full | Read | — | — | — | — | Read | — | — | Read | Read |
| Dietary Flags | Full | — | — | Full | Partial | Read | — | — | — | — | — |
| Categories | Full | Read | — | Read | — | — | Read | — | — | Read | Read |
| Menus (legacy) | Full | — | — | — | — | — | Partial | — | — | — | — |
| Menu Planner | Full | Partial | — | Partial | Partial | Read | Partial | Partial | Read | Partial | Read |
| Vendors & Vendor Items | Full | Read | — | Partial | — | — | Partial | — | — | Read | Read |
| Locations | Full | Read | — | Read | — | — | Partial | — | — | Read | Read |
| Inventory | Full | — | — | — | — | — | Full | Partial | Read | — | Read |
| Order Management | Full | — | — | — | — | — | Full | Read | — | — | Read |
| Production | Full | Read | Read | Read | — | — | Full | Partial | Read | — | Read |
| Invoices | Full | — | — | — | — | — | Full | — | — | Partial | Read |
| Cooking Methods | Full | — | — | Partial | — | — | — | — | — | — | — |
| Reporting | Full | Read | — | Full | Full | Full | Full | — | — | Read | Full |
FIELD MANAGER — VENDORS & VENDOR ITEMS PARTIAL ACCESS NOTE (v2.1)
Field Manager is now granted Partial access to the Vendors & Vendor Items domain, specifically the Edit Vendors and Vendor Item Data permission. This is what enables Field Managers to: (1) create new vendor items during invoice matching, and (2) link vendor items to ingredients after matching — both of which are controlled by this single Vendor domain permission, not by Ingredient domain permissions.
Field Manager does not hold Edit Vendor Scope, Delete Vendor, Edit Vendor EDI Settings, Edit Vendor Item USDA Association, Edit Vendor Item Nutritionals, or Edit Vendor Item Dietary Flag Associations. Those remain Culinary Admin and Nutrition Director authority only.
Confirmed: Ingredient domain permissions for Field Manager remain Read-only. Vendor item–ingredient associations are governed by the Vendor domain, not the Ingredient domain — no ingredient master data is exposed to field edit by this permission grant.
Each domain lists every Galley permission toggle, what it controls, and which PHX3 roles hold it. Permissions not listed for a role = no access.
Special System Restrictions (Galley-Enforced)
| Restriction | Detail |
| Order Settings | View Order Settings and Edit Order Settings are Galley hard-restrictions. Culinary Admin only. Cannot be granted to any other role. |
| Delete permissions | Delete Recipe, Delete Vendor, Delete Category Value — Culinary Admin only. No other role holds delete permissions on master library objects. |
| Merge Ingredients | Culinary Admin only. Merges are irreversible and affect every recipe using the merged ingredient. |
| Create Location | Culinary Admin only. Creating new locations may affect billing. Requires pre-approval via Section 9 onboarding process. |
| Dietary Flag creation | Culinary Admin and Nutrition Director only. Nutrition Dietitians assign existing flags — they do not create them. |
| Edit Vendor Scope | Culinary Admin only. Location-scoping vendor items is a master library operation — not delegated to Field Managers. |
Request & Provisioning Workflow
1
Form submitted
Smartsheet
2
Triaged
Culinary Admin · 2 days
3
Template applied
Culinary Admin in Galley
New accounts are read-only (Viewer tier of their domain) until training delivery is confirmed by a Culinary Admin (see Training & Onboarding).
Individual overrides to role templates require written justification and Culinary Admin approval. Document in the admin tracker with date and reason.
Deactivation
SAME-DAY ACTION REQUIRED
Departing employees do not retain access past their HR effective date. Culinary Admin deactivates within one business day of HR notification. This is a security requirement, not a process preference.
Account disabled in Galley — not deleted. Disabled accounts retain full audit history.
Any ownership (recipes, menus, plans) reassigned to the appropriate active role before disabling.
Continuous departure reconciliation — Culinary Admin cross-references HR notifications monthly and updates the admin tracker.
Training
Training & Onboarding
Role Curriculum · Delivery Modes · Refresher Cadences
SANDBOXIn development — update expected after Chicago. Default: production-with-test-data until live.
No user begins entering or modifying data before completing role-appropriate training. New accounts start as Viewer tier of their domain until training delivery is confirmed by a Culinary Admin.
Role-Based Curriculum
| Role | Duration | Topics |
| Culinary Admin | 3 hours | Full system architecture, master library governance, recipe lifecycle end-to-end, collection and cycle management, vendor item import, role management and provisioning, reporting |
| Culinary Contributor | 90 min | Recipe building standards, naming conventions, sub-recipe linking, ingredient lookup, preparation names, submission and review workflow, escalation paths |
| Culinary Viewer | 30 min | Navigation, reading recipes and production lists, escalation paths |
| Nutrition Director | 90 min | Dietary flag governance, flag creation and assignment, USDA associations, nutritional editing, allergen framework, IDDSI protocol, PU4 sign-off procedure, reporting |
| Nutrition Dietitian | 60 min | Dietary flag assignment workflow, allergen review, IDDSI awareness, permission scope, escalation to Nutrition Director |
| Nutrition Viewer | 30 min | Reading dietary flags and allergen data, escalation paths |
| Field Manager | 3 hours | LOB Collections and Cycles, Plans and Events, production management, receiving and count approval, PO management, inventory variance, invoice scanning workflow — submission, matching, vendor item creation, ingredient linking, header verification, approval, downstream rules, edge cases, reporting, escalation |
| Field Operator | 75 min | Navigation, production list, receiving, cycle counts, waste capture, invoice email submission step, escalation paths |
| Field Viewer | 30 min | Reading plans, events, production lists, and inventory, escalation paths |
| Corporate Contributor | 45 min | Navigation, permitted edit scope, invoice and reporting access, escalation paths |
| Corporate Viewer | 20 min | Reporting catalog, cross-domain visibility, escalation paths |
Training Delivery
| Mode | When to Use | Notes |
| Live in-person | New location go-lives | Culinary Admin or designated trainer on-site. Best for groups of 4+. |
| Live remote (video) | Individual new users at active locations | Culinary Admin via Teams. Screen-share and hands-on. |
| Self-paced | Refreshers only | Not a substitute for live initial training. |
Refresher Cadences
| Type | Audience | Format & Focus |
| Day-30 check-in | All new users | 30-min review of first month's data quality |
| Annual refresher | All active users | 30–45 min by role — framework changes and observed issues |
| Data-triggered | User/location with pattern errors | Targeted refresher on the failing topic |
Train-the-Trainer
For larger locations or multi-location rollouts, Culinary Admin trains a designated location trainer (typically the Field Manager) who delivers Field Operator training. Train-the-trainer adds one 60-min instructor session covering delivery, common operator questions, and escalation paths.
Standard Session Guide
The standard 2-hour onboarding guide covers all six modules for new users across all field and operator roles. It is the foundation session for all new Galley onboarding at PHX3.
Training — Supplemental
Standard 2-Hour Onboarding Guide
Module Detail · Hands-On Gates · Facilitator Notes · Escalation Reference
VERSIONv1.0 · May 2026
FACILITATORCulinary Admin or qualified Galley facilitator
PREREQUISITESGalley login confirmed · Location assignment set · Laptop with browser access
This is the foundation session for all new team member onboarding into Galley at Phoenix3 Collective. Hands-on checks at the end of Modules 02, 03, and 05 are gates — do not advance until the trainee completes each independently.
Module Overview
| # | Module | Format |
| 01 | Welcome & Context | Facilitator-led |
| 02 | Platform Orientation & Login | Demo + hands-on |
| 03 | Recipe Library | Demo + hands-on |
| 04 | Ingredients & Allergen Data | Facilitator-led |
| 05 | Menu Plans & Events | Demo + hands-on |
| 06 | Inventory, Reporting & Wrap-Up | Facilitator-led |
Module Detail
01 — Welcome & Context
Open by welcoming the trainee and setting the tone. Explain what Galley is, why PHX3 uses it, and what the session will cover. The goal is to orient, not overwhelm. PHX3 operates across Restaura, Culinour, and Infuse — Galley is shared across all of them, which means recipes and standards are consistent enterprise-wide. Location-level plans and events are managed by the field.
02 — Platform Orientation & Login
Walk through login. Orient to the main nav: Recipes, Menus, Inventory, Reports. Show the company context selector — Restaura, Culinour, Infuse appear as separate contexts. Confirm trainee can log in and land on the correct company. Show how to confirm their assigned location — this controls what plans, events, and inventory they can access. If it is not set correctly, stop and resolve before proceeding. Demonstrate global search and show how to filter by category, status, and tag.
HANDS-ON GATE — MODULE 02
Trainee navigates from the dashboard to a recipe, reads the yield, and finds the allergen summary. Do not move to Module 03 until they can do this independently.
03 — Recipe Library
Open a finalized recipe. Walk through: total yield, yield unit, serving size, portion count. Explain that only Finalized recipes appear on active menus — if a recipe is missing, check its status first. Show how a sauce or stock is linked as a sub-recipe rather than listing its ingredients inline; every gram flows into the parent for accurate nutrition and cost data. Briefly cover the PHX3 naming convention: Primary Item, Descriptor. Walk through the status workflow: no status (in progress) → under review → needs testing → finalized. Trainees work with finalized recipes — if something looks wrong, flag to culinary leadership, do not attempt to edit.
HANDS-ON GATE — MODULE 03
Trainee pulls up 2–3 real recipes from their location, reads yield and portion size, and identifies at least one sub-recipe link before moving on.
04 — Ingredients & Allergen Data
Walk through the ingredient library and show how to search and read an ingredient record: unit of measure, allergen flags, USDA association. Trainees use the ingredient library for reference — ingredient records are managed at the enterprise level and are read-only for field roles.
| Top 9 Allergens | Additional |
| Milk · Eggs · Fish · Shellfish · Tree Nuts · Peanuts · Wheat · Soy · Sesame | Mustard · Sulfites where applicable |
Allergen flags are set at the ingredient level and flow automatically into every recipe that uses it. The Director of Nutrition (Camille) owns allergen creation and assignment — questions route there. For Restaura accounts: cover the four IDDSI clinical texture levels (L7 Regular, SB6 Soft & Bite-Sized, MM5 Minced & Moist, PU4 Pureed). Always confirm texture designations with the RD on site or Director of Nutrition before making changes.
05 — Menu Plans & Events
Walk through the hierarchy: Cycles (published by culinary leadership, repeating structure) → Plans (location-level instance) → Events (specific dated service). All production, purchasing, and reporting originate from events. Culinary leadership publishes cycles at the enterprise level — trainees work within plans and events already created from an active cycle. Show how to find the active plan for a location, view and navigate it, and make edits within a plan. Walk through creating an event from a plan, setting the date, and confirming the correct sublocation.
HANDS-ON GATE — MODULE 05
Trainee finds their active location plan, opens the current event, and reviews the production output independently.
06 — Inventory, Reporting & Wrap-Up
Navigate to the inventory module and locate assigned inventory areas. Walk through how a cycle count is initiated — selecting the location, reviewing items, entering counts. Show the Inventory Analysis report and walk through the columns: on-hand, theoretical, variance. Cover Actual vs. Theoretical (A vs. T): compares theoretical usage from recipes and production against actual consumption from inventory counts. Significant variance signals production ran off-recipe, inaccurate counts, or a data issue — trainees read A vs. T and route data issues to culinary leadership. Show how to access purchasing, navigate a PO generated from an event, and read line items.
SELF-SERVE VS. ESCALATE
Self-serve: Search recipes, read plans, navigate events, run reports, review inventory.
Escalate to culinary leadership: Recipe data looks wrong · Missing ingredient · Plan won't load · Vendor item issue · Any access problem.
Role Adaptations
| Audience | Scope |
| Activation chefs & field admins | Run all 6 modules in full. |
| Unit operators | Modules 1–3 and the escalation reference are usually sufficient — they primarily read recipes and production reports. |
| New account openings | Add 15 minutes to Module 05 to walk through initial plan setup for that specific location. |
Facilitator Notes
Ask the trainee to share their screen during all hands-on blocks.
Confirm login works 10 minutes before the session starts — login issues burn training time.
Have the Galley support page bookmarked (support.galleysolutions.com) for Q&A reference.
What not to cover in this session: Recipe creation and editing, ingredient creation, vendor item management, cycle publishing, and permission changes are enterprise admin functions. If a trainee asks, acknowledge and note they require a separate session with culinary leadership. Do not walk through admin functions in this training.
Escalation Reference
| Issue Type | Contact | How to Reach |
| Recipe, ingredient, or data issue | Culinary Leadership | Route through your culinary leadership team |
| Allergen, dietary flag, or IDDSI question | RD on Site or Director of Nutrition | Contact site RD first; escalate to Director of Nutrition as needed |
| Forms, nutrition documentation | RD on Site or Director of Nutrition | All nutrition-related forms route through the RD or Director of Nutrition |
Quick Links
Recipe Submission — New recipe, modification, or correction →
Smartsheet Form
New User Request — New account, role change, or access update →
Smartsheet Form
FULL TRAINING GUIDE
PHX3 Galley · Standard 2-Hour Onboarding Guide · v1.0 · May 2026
Full facilitator PDF. Contact Culinary Admin for the current version.
Section 8
Invoice Scanning & Vendor Data Workflow
Field Intake · Automatch · Manual Mapping · Approval · Downstream Updates
OWNERSField Manager (submission, mapping, approval) · Culinary Admin (configuration, exceptions)
FREQUENCYEvery delivery — submitted same day or day of receipt
WHY IT MATTERSEach approved invoice updates vendor item costs in real time, building the location's accurate data record delivery by delivery
The Workflow at a Glance
1
Submit
Email invoice to the Galley address
2
Match
Galley auto-matches; Field Manager maps unmatched and links new items
3
Approve
Field Manager verifies the header and approves → costs and inventory update
The approved invoice is the system-of-record receiving event. See Section 7 for the dock-side quality and variance steps that pair with this workflow.
Who Does What — Quick Answer
| Role | Daily Action |
| Field Operator | Receives the delivery, photographs the invoice, emails it to the location's Galley address. No login required. |
| Field Manager | Opens the Invoice queue daily. Maps any unmatched line items, links new vendor items to ingredients, verifies the header, approves. |
| Culinary Admin | Configures location setup once. Reviews new vendor items created in the field within 3 business days. Resolves anything the field flags. |
| Corporate Contributor | Views invoices and edits header metadata (e.g., GL coding, finance notes). Does not match line items or approve. |
Stage 1 — Submitting the Invoice
| Step | Action | Notes |
| 1 | Obtain the invoice or packing slip at delivery | Final invoice preferred; packing slip acceptable if the invoice arrives later (re-submit when it does) |
| 2 | Photograph or save as PDF | Multi-page invoices: all pages in one email. One invoice per email. |
| 3 | Email to the location's Galley address | The address is location-specific. Wrong address routes the invoice to the wrong location. |
| 4 | Invoice appears in the queue within 24 hours | If it hasn't appeared after 24 hours, Field Manager flags to Culinary Admin. |
Stage 2 — Matching Invoice Items
Galley attempts to match each line item to an existing vendor item. The Field Manager reviews auto-matches, maps unmatched items, and ignores non-food charges. An invoice cannot be approved until every line is matched or ignored.
| Match State | What It Means | Field Manager Action |
| Auto-matched | Galley found a confident match to an existing vendor item | Review for accuracy, then proceed to approval |
| Needs manual match | Galley could not confidently match this line item | Map it manually (steps below) |
| Ignored | Not a food product (fee, deposit, container charge) | Mark as Ignore — excluded from inventory and costs |
Mapping an Unmatched Item
| Step | Action |
| 1 | Open the invoice (Purchase Orders → View Invoices → filter “Needs Review”) and click the unmatched line item. Galley will suggest possible matches. |
| 2a | Suggested match is correct → select it and confirm. Galley learns this match for future invoices from the same vendor. |
| 2b | No match is correct → select “Create New Vendor Item.” Fill in name, cost unit, pack size (see structure notes below). Then link the new vendor item to the correct ingredient before approving. |
| 2c | Not a food product → select “Ignore.” |
| 3 | Repeat until the invoice shows “Matching Complete.” |
Creating Vendor Items From the Field
New vendor items follow the PHX3 pack hierarchy: Cost Unit → Pack Unit → Sub Unit (see Section 5 for the full model). At minimum, populate vendor item name, Cost Unit (case, lb, each, gal), pack size, and SKU if shown. Leave Pack Size Description blank — Galley auto-generates it. If pack structure is unclear from the invoice, note “Pack Review Needed” on the item and approve as normal — Culinary Admin will verify structure within 3 business days.
Linking a New Vendor Item to an Ingredient
A new vendor item enters the system with name, cost, units, and SKU but is not yet linked to a Galley ingredient. The Field Manager completes the link before approving the invoice. Two paths, both available under the Edit Vendors and Vendor Item Data permission — no ingredient edit access is required.
| Path | Steps |
| From the vendor item | Vendors → find the vendor → open the vendor item → ingredient association field → search and select the ingredient → save |
| From the ingredient | Ingredients → search for the ingredient → open its record → scroll to Vendor Items → click “+” → select the vendor and item → save |
If you can't find the matching ingredient: submit the New Ingredient Request Form with the vendor item name and a note that this is a vendor item linking question. Culinary Admin will identify the correct ingredient or create one. Approval can proceed; the link is completed once Culinary Admin responds.
Stage 3 — Approving the Invoice
| Step | Action |
| 1 | Confirm Matching Complete — every line is matched or ignored |
| 2 | Verify the header: vendor, location, invoice date, total value. This is the OCR misread gate — do not skip it. |
| 3 | Verify new vendor items are linked to an ingredient (or flagged to Culinary Admin) |
| 4 | Click Approve — triggers all configured processing rules |
What Happens After Approval
| Processing Rule | Impact |
| Auto-update costs | Vendor item historical cost updates with invoice price and date. Recipe costs refresh; finance and menu costing reflect real delivered prices. |
| Auto-receive items | Invoice quantities post to inventory at each vendor item's configured sub-location. Cycle count variance narrows over time. |
| Auto-approve 100% matched | OFF by default during rollout. Enabled per vendor per location after three clean delivery cycles. When ON, Field Manager reviews a weekly digest for header anomalies. |
Every approved invoice teaches Galley more about the location's actual vendor items. Match rates improve with each cycle. Items that arrive blank or unmatched today auto-match on the next delivery. Over time, the location's vendor item library becomes complete, costs become accurate, and the downstream problems (bad recipe costs, wrong label ingredients, unreliable inventory) resolve themselves.
Edge Cases — Substitutions, Damages, Shorts, Credits, Disputes, Duplicates
| Situation | Field Manager Action |
| Substitution — vendor sent Item B instead of ordered Item A | Map Item B as normal; note the substitution in invoice notes. If the substitution recurs at the same location, flag to Culinary Admin for vendor item scoping review. |
| Short delivery | Adjust the quantity on the invoice line before approving. Document the short in invoice notes. |
| Damaged goods | Adjust the line quantity to the usable amount; record damage detail in invoice notes. Damaged portion does not enter inventory. |
| Credit memo | Process the credit memo as a separate invoice when it arrives. Note the original invoice number for traceability. |
| Cost dispute | Hold the invoice in Needs Review and contact the vendor. If unresolved within 5 business days, flag to Culinary Admin. Approval locks the cost into the historical record — don't approve a disputed invoice. |
| OCR misread of header | Correct the header fields in Galley before approving. If the misread is severe (wrong vendor, wrong location), reject and re-submit a clearer image or PDF. |
| Duplicate submission | Galley typically dedupes on vendor and invoice number. If two entries appear, Ignore the duplicate. If unsure which is which, flag to Culinary Admin before approving either. |
| Invoice arrives later than truck | Submit the packing slip on delivery day. Re-submit the final invoice when it arrives — Galley treats the more complete document as the source of truth. |
| Email attachment too large | Split the photo into separate single-page images attached to one email. If still too large, contact Culinary Admin. |
Cadence & Service Levels
| Activity | Cadence |
| Submit every invoice on delivery day | Every delivery. One invoice per email. |
| Check the Invoice queue | Daily — filter Needs Review |
| Map unmatched items and link new vendor items | Within 48 hours of processing |
| Verify header and approve | Within 48 hours of Matching Complete |
| End-to-end target (delivery → approved) | 72 hours. Culinary Admin follows up at 5 business days unapproved. |
Frequently Asked Questions
| Question | Answer |
| What if I don't have a Galley email address for my location? | Contact Culinary Admin. Scanning must be enabled by Galley Customer Success first; each location receives a unique address at setup. |
| The invoice has 50 unmatched items — do I map all of them? | Yes, but each one teaches the system. Prioritize high-cost items first if time is tight. Flag to Culinary Admin if the volume is unmanageable for one review cycle. |
| Galley matched something to the wrong vendor item. | Click the incorrect match and re-map it. Don't approve a match you know is wrong — it updates the wrong vendor item's cost. |
| Do I still need to do cycle counts? | Yes. Invoice receiving populates what came in; cycle counts verify what is actually on hand. |
| How does this affect Date Code Genie labels? | Directly. As vendor items get linked to ingredients through matching, the ingredient data feeding DCG becomes more accurate. This is the primary path to fixing label accuracy. |
| What about MOG imports? | Culinary Admin still loads MOGs when finalized by Procurement — they set the initial vendor item foundation. Invoice scanning keeps it current in real time. |
| How do POs and invoices work together now? | The PO is the ordering record; the approved invoice is the receiving and cost-update record. PO/invoice reconciliation behavior in Galley is being reviewed with Customer Success. Until clarified, Field Manager flags PO-vs-invoice mismatches to Culinary Admin. |
Permissions Reference
| Permission | Culinary Admin | Field Manager | Field Operator | Corp Contributor |
| View invoices | ✓ | ✓ | — | ✓ |
| Submit invoice via email | ✓ | ✓ | ✓ | — |
| Edit line items / map unmatched / adjust quantities | ✓ | ✓ | — | — |
| Edit invoice header metadata (GL coding, finance notes) | ✓ | ✓ | — | ✓ |
| Create new vendor item during matching | ✓ | ✓ | — | — |
| Link vendor item to ingredient | ✓ | ✓ | — | — |
| Approve invoice | ✓ | ✓ | — | — |
| Configure invoice processing rules | ✓ | — | — | — |
Location Setup — Culinary Admin Checklist (One Time Per Location)
Invoice scanning enabled for the account via Galley Customer Success.
Each location has a unique Galley invoice email address.
Address distributed to Field Manager and Field Operators at the location.
Processing rules configured: auto-update costs ON, auto-receive items ON, auto-approve 100% matched OFF during initial rollout.
Receiving sub-location assigned per vendor item (or location default set) so auto-receive posts to the right place.
Field Manager and Field Operators trained per the Training section.
Auto-approve is revisited per location after three clean delivery cycles from a given vendor. The default-off state during rollout preserves the header verification gate until match quality is established.
Document History
Changelog
Version History — PHX3 Galley Codex
| Version | Date | Author | Changes |
| v2.6 | May 2026 | Culinary Admin |
Section numbering rebuilt. “SOP” prefix and leading zeros removed throughout. Numbered sections now labeled Section 1 through Section 11. Overview pages (Roles, Data Flow, Submission Intake) use the “Overview” eyebrow rather than being numbered. Training uses “Training”. Sidebar nav items show a small numeric badge for each numbered section. Sections renumbered to reflect natural reading order: Invoice Scanning is now Section 8 (within Operations), New Location Section 9, New User Section 10, Permissions Section 11.
Tone pass and callout consolidation. Document went from ~39 colored callouts down to ~18. Repetitive callouts collapsed to single intros. Remaining callouts reserved for genuine warnings (clinical safety, security, import errors), key framing at section openings, training hands-on gates, and the v2.1 Field Manager Vendor permission explainer. Aggressive language softened where it didn't earn its place; standards remain firm.
How Data Flows expanded. Now includes four flows instead of two: Data Hierarchy, Recipe Lifecycle, Vendor Item Lifecycle (MOG import or invoice scan → linked → active → updated), and the Daily Field Loop (order → receive → submit → match → approve). New “Where Things Live” ownership table at the top.
Section 8 (Invoice Scanning) restructured user-first. Workflow at a Glance and Quick Answer table now lead. Stage 0 setup checklist moved to the bottom (Admin-only one-time work). Daily-use stages 1–3, edge cases, and FAQ stay in the middle.
Smaller fixes. Hasan's name removed from training metadata. v2.5 change summary callout removed from Start Here (lives only in Changelog now). Living Document statement folded into Framework Note. QR card count corrected from 16 to 18. Permission matrix intro corrected from “16 domains” to “15 domains.” “How to Use This Framework” on Start Here condensed from five bullets to one paragraph.
|
| v2.5 | May 2026 | Culinary Admin |
Invoice Scanning reorganized. Added Stage 0 setup checklist; reconciled with Inventory Management receiving workflow; clarified Field Manager ownership of vendor item → ingredient linking (single source of truth, contradiction removed); added vendor item structure guardrail referencing Vendor Item Import; added header verification step at Stage 3; auto-approve 100% matched recommended OFF during initial rollout with three-clean-cycle revisit per vendor; new Edge Cases section (substitutions, damages, shorts, credits, disputes, duplicates, OCR misreads, advance shipments, large attachments); added end-to-end 72-hour SLA and 5-business-day Culinary Admin escalation; added receiving sub-location language; Field Operator scope rewritten with neutral tone. Inventory receiving workflow reconciled with Invoice Scanning — PO is the ordering record; approved invoice is the receiving record. New Location checklist expanded with invoice scanning setup items. Field Manager training extended to 3 hours to accommodate invoice scanning module. Permission domain count corrected from 16 to 15. Corporate Contributor invoice permissions aligned across Roles, Permissions, and Invoice Scanning. Tone pass applied across the document — absolutist language reserved for clinical safety (PU4 sign-off) and security (deactivation); other sections converted to declarative practice statements with defined exception paths. Living Document statement added to home page. Data Flow Recipe Lifecycle annotated to show the needs-testing loop. Roles section Who to Contact table extended with invoice scenarios. QR Cards 01, 02, 03, 09, 16, 18 updated for tone, accuracy, and Vendor Item Import reference.
|
| v2.4 | May 2026 | Culinary Admin | Training section split into two pages. Training & Onboarding is now an overview page; new Supplemental page contains full module detail, hands-on gates, role adaptations, facilitator notes, escalation reference, and quick links. Changelog moved out of the Training section group and pinned to the bottom of the sidebar as a standalone item. |
| v2.3 | May 2026 | Culinary Admin | Smartsheet form links corrected throughout. New Ingredient Request form added to Submission Intake section. |
| v2.1 | May 2026 | Culinary Admin | Permission correction: vendor item–ingredient linking governed by Edit Vendors and Vendor Item Data (Vendor domain), not Ingredient domain. Field Manager ingredient access corrected to Read. Vendors & Vendor Items updated to Partial. Permissions section and Invoice Scanning corrected. QR Card 16 updated. |
| v2.0 | May 2026 | Culinary Admin | Renamed to PHX3 Galley Codex. Inline version stamps removed; version history consolidated to Changelog. |
| v1.9 | May 2026 | Culinary Admin | Added Invoice Scanning & Vendor Data Workflow. QR Cards 17 and 18 added. Training curriculum updated. Changelog section added. |
| v1.8 | May 2026 | Culinary Admin | Permissions domain reference updated. Role matrix additions. User lifecycle rules added. |
| v1.7 | May 2026 | Culinary Admin | Roles & Responsibilities updated. Corporate domain roles clarified. |
| v1.x | Prior | Culinary Admin | Prior version history maintained in admin archive. |