A working framework for Odele Beauty

Connect what you already run. Raise the bar for what you'd buy next.

The seam between NetSuite, Microsoft 365, True Commerce, and your 3PL portals is where ops time and AI leverage hide. Before adding another planning SaaS, see whether the operating layer can deliver it through dashboards and orchestration over data you already own. Specialists like Glimpse get called into where their depth earns it. Everywhere else, build the connective tissue instead of buying another login.

The point-solution paradox

On the table right now: separate pre-AI subscriptions for demand, supply, and financial planning, plus AI-native specialists like Glimpse (chargebacks) and Emmy (procurement).

  • Each one is a real product solving a real problem.
  • Each one is a separate login, contract, and integration.
  • For a 31-person team, the bottleneck isn't the model in any tool. It's owning the seam that connects them.
The thesis

Buy specialized depth where it earns its place. Build the operating layer that connects everything else.

Generic Copilot retrieves. A point-solution AI runs one workflow. Neither owns the seam between MPS, NetSuite, the supplier mailbox, and the 3PL portal, where Odele's operating leverage hides.

A skill is the encoded answer to "how does Odele actually do this work?" MPS pulled from OneDrive. PO drafted in your NetSuite template. Supplier email in your voice. Reply tracked, escalated at 14 days. Audit logged. Nothing leaves before a human approves.

The platform compounds. Each skill costs less than the last. Memory accumulates per supplier, SKU, retailer. Tacit logic scattered across spreadsheets and Slack becomes executable.

The Architecture

Four layers. One coherent system.

Connectors fit Odele's existing tools. Runtime sits inside your M365 tenant. The approval queue is the permanent boundary between the model and any spend, send, or commitment.

L0 Your Data Perimeter SSO / Identity Network Boundary Compliance Posture
L1 Connectors
NetSuite OneDrive Teams + Outlook True Commerce EDI 3PL Portals
L2 Skill Runtime
Agent Orchestration Skill Registry MCP Server (Copilot 365) Eval Harness Versioning
L3 Memory Layer
Per-Supplier Per-SKU Per-Retailer Brand View
↺ feedback to L2 + L3
L4 Audit + Reviewer
Approval Gate (per spend) Source Trail Structured Audit Log Adoption Telemetry
Why nothing leaves before approval POs and emails land as drafts with full provenance. Reviewer approves, edits, or rejects line by line.
How it learns Every approve, edit, and reject feeds the eval set and memory. Patterns corrected twice become defaults.
Skills are the unit of value. Everything else exists to make skills safe, accurate, and contributable.
The Build Sequence

Four stages. One compounding system.

Stage one is the hard part. Most platforms skip it and ship something that breaks the first time it touches a real PO.

stage_01 / capture

Extract the playbook.

Sit with the operator who runs the workflow today. Trace MPS-to-PO end-to-end. Capture the unwritten rules: which suppliers get which lead time, which SKUs are pre-approved for auto-draft, what Andrea would never send to a supplier without rephrasing.

Where the depth lives
Output
  • Workflow trace for MPS-to-PO
  • Approval rubric (what "good" looks like per line item)
  • Source inventory: NetSuite scope, MPS format, mailbox access
  • Golden example set: 10 historical POs, approved as-was
  • Voice guide for supplier emails
stage_02 / build

Encode it as a skill.

Wrap the spec in a callable skill. Connect it to NetSuite, OneDrive, and the supplier mailbox. Implement eval logic, PO and email templates, audit hooks. Register the same skill as an MCP tool so Copilot 365 can call it.

Output
  • MPS-to-PO skill, callable end-to-end
  • NetSuite, OneDrive, Outlook connectors live
  • Approval queue UI + Copilot 365 entrypoint
  • Audit log writing on every run
  • Adoption telemetry instrumented
stage_03 / promote

Eval-gated quality.

Curated golden examples gate promotion. The MPS-to-PO skill has to match past POs Odele actually sent before it goes to the full team. Promotion is a measurable threshold, not a meeting.

Output
  • Eval score reports per skill version
  • Draft → Pilot → Full team gating
  • Reviewer feedback loop into evals
  • Audit-ready records of every run
stage_04 / compound

Team-owned, growing.

The second skill (3PL rate quotes, monthly dashboard, supplier email triage) is cheaper than the first. Shared connectors, eval patterns, and memory layer. The Odele ops team becomes skill authors. The platform grows from inside, not from a vendor roadmap.

Output
  • Skill catalog with named owners
  • Persistent memory live across calls
  • Adoption dashboard for Shanti and leadership
  • Author onboarding for the ops team
What the ops team sees

The ops team's daily operating surface.

Every skill output lands as a draft with sources attached and an eval score. Approve, edit, or reject line by line. Same skills callable from Copilot 365 via MCP. Click a draft in the sidebar to inspect it, or load a skill from the input below.

platform.odele.internal / queue

Odele AI Platform

Pick a skill from the sidebar, or click an existing draft to inspect.

What replaces the planning suite

Same data Odele already owns. Dashboards that compete with the point solutions on the table.

An MPS spreadsheet on OneDrive, NetSuite inventory, True Commerce EDI, and the 3PL portals are enough to drive demand and supply planning views that hold up next to Anaplan or Kinaxis. The platform reads the data, runs the playbook, and renders it. No new contract, no separate login, no pre-AI SaaS suite. Where a specialist (Glimpse) genuinely earns its place, the platform calls into it.

Demand Planning · Q3 2026 outlook Refreshed 14m ago · sources: NetSuite, True Commerce EDI, retailer POS feeds
Forecast accuracy · 8wk
95.4%
▲ 1.2 pp vs. last cycle
Total units forecast · Q3
2.84M
▲ 9.3% vs. Q2
Retail sell-through · 30d
87%
flat vs. trailing 90d
SKUs flagged for replan
3/ 142
▼ 2 since Monday
Forecast vs. actual sell-through · trailing 8 weeks ForecastActual
340k 300k 260k 220k W11W12W13W14W15W16W17W18W19
Sell-through by retailer · 30d vs. plan
Target
92%
Ulta
84%
CVS
71%
DTC
96%
CVS softness driven by Curl Defining lineup; replan flag created.
Top SKUs by 30d velocity units / wk
SKUChannelu/wkΔ
Smoothing Shampoo 13ozTarget14,820+8%
Smoothing Conditioner 13ozTarget12,340+6%
Moisture Repair Shampoo 13ozUlta9,612+11%
Smoothing Shampoo Bulk 32ozDTC8,201+19%
Curl Defining Conditioner 13ozCVS3,140−14%
Channel mix · trailing 12 weeks stacked share of units
W8W9W10W11W12W13W14W15W16W17W18W19
Target Ulta CVS DTC
Supply Planning · current cycle Refreshed 22m ago · sources: NetSuite, supplier mailbox, 3PL portals
Avg weeks of cover
9.4wk
target: 8 – 12
Supplier on-time · 30d
88%
▼ 4 pp vs. trailing 90d
Open POs
14/ $312k
3 awaiting reply
Stockout risk · next 4 wk
2SKUs
Curl Defining Cond · Smoothing Bulk
Weeks of cover by SKU · 12 highest-velocity < 6 wk6 – 12> 12
2015105 SS-13SC-13MRS-13MRC-13CS-13PS-13PC-13SS-32SC-32CDC-13ADS-6BDS-6
Two SKUs in red zone (< 4 weeks of cover): Curl Defining Conditioner 13oz and Smoothing Shampoo Bulk 32oz. Both flagged for replan in MPS-to-PO skill.
Supplier on-time · 30d delivery vs. promised
Berlin Pkg
76%
Givaudan
91%
Robertet
96%
Aptar
88%
Coyne CoPack
93%
Berlin Packaging trending below threshold; lead time creep flagged in May MPS cycle.
Open POs awaiting supplier reply 14d escalation
POSupplier$Age
PO-2587Berlin Pkg$22,40011d
PO-2592Givaudan$18,2006d
PO-2604Aptar$9,8003d
Berlin reply request escalates to Andrea at day 14.
Lead time trend by supplier · 6 mo days, rolling avg
40d30d20d10d DecJanFebMarAprMay
Berlin Packaging (28d → 35d) Givaudan (stable 21d) Robertet (24d → 18d)
Master Production Schedule · MPS_2026-05.xlsx OneDrive · /Operations/MPS · last edited 5/3 by Shanti V.
The actual spreadsheet shape Odele works from today. The platform reads it in place, no migration. Cells in amber show below-threshold cover; cells in red trigger a PO draft in the MPS-to-PO skill.
SKU Description Channel On-hand Open POs Forecast units · weeks W20 – W27 Supplier LT (d) Wks cover Reorder?
W20W21W22W23W24W25W26W27
SS-13-TGT Smoothing Shampoo 13oz Target 128,400 42,000 14,80014,90015,20015,40015,60015,80016,00016,200 Coyne CoPack 21 10.4
SC-13-TGT Smoothing Conditioner 13oz Target 96,200 36,000 12,20012,40012,60012,80013,00013,20013,40013,600 Coyne CoPack 21 9.8
MRS-13-ULT Moisture Repair Shampoo 13oz Ulta 62,400 18,000 9,4009,5009,7009,90010,10010,30010,50010,700 Berlin Pkg 35 7.2 flag
SS-32-DTC Smoothing Shampoo Bulk 32oz DTC 14,200 0 8,1008,3008,4008,6008,8009,0009,2009,400 Coyne CoPack 21 1.7 REPLAN
CDC-13-CVS Curl Defining Conditioner 13oz CVS 9,800 0 3,1003,1403,1803,2203,2603,3003,3403,380 Berlin Pkg 35 3.1 REPLAN
MRC-13-ULT Moisture Repair Conditioner 13oz Ulta 88,600 24,000 10,80010,90011,00011,10011,20011,30011,40011,500 Coyne CoPack 21 10.2
CS-13-TGT Clarifying Shampoo 13oz Target 42,800 12,000 5,8005,9006,0006,1006,2006,3006,4006,500 Coyne CoPack 21 8.9
PS-13-CVS Purple Shampoo 13oz CVS 38,400 10,000 5,2005,3005,4005,5005,6005,7005,8005,900 Coyne CoPack 21 8.7
ADS-6-DTC Air Dry Styler 6oz DTC 19,200 8,000 2,8002,9003,0003,1003,2003,3003,4003,500 Berlin Pkg 35 7.4 flag
Totals (9 of 142 SKUs shown) 500,000 150,000 72,20073,24074,48075,72076,96078,20079,44080,680 2 replan
All values mock data, modeled on a clean-beauty CPG of Odele's scale. Real Odele MPS swaps in cleanly: same column shape, same SKU prefix convention.

All figures above are mock data generated for the demo. The point: NetSuite + the MPS spreadsheet + EDI + 3PL portal data Odele already has are sufficient inputs. The platform reads them, runs the planning logic, and renders these views. Where genuine specialist depth matters (chargeback dispute analytics, complex tax provision modeling), the platform calls into Glimpse or the right specialist rather than rebuilding it.

The use case library

The full backlog, grounded in our March, April, and May calls.

Every card traces to a moment in our Mar 27, Apr 1, or May 4 calls. Phase placement is honest: lead with what we build well, defer to specialists where they earn it.

May 4 anchor · Apr 1 § 6 · Mar 27 order management Medium build

MPS-to-PO end-to-end anchor

MPS into OneDrive → POs drafted in NetSuite → approval queue → supplier send → reply tracked, escalated at 14 days. Human approval before any send.

TouchesNetSuite, OneDrive, Outlook (Graph), service mailbox
Approval gatePer-line PO before send. Nothing leaves Odele unapproved.
Lift if it landsReclaims most of the manual order-review hours Shanti described as "highly manual" on Apr 1.
Risk: NetSuite sandbox access in week 1. If delayed, week 2 runs on mocks.
Apr 1 § 7 · May 4 security Easy build

Approval queue + audit log foundation

Reviewer queue UI where any agent output lands as a draft. Append-only audit log captures input, sources, model, reviewer, decision. Built once, reused everywhere.

TouchesCustom web UI, audit store
Approval gateIs the gate. Approve, edit, or reject per line.
Lift if it landsCompliance posture from day one. Reviewer signal becomes training data for the next eval cycle.
Risk: RBAC is pilot-grade in week 1. Hardened in week 7.
Apr 1 § 7 shadow-AI exposure · May 4 security Easy build

Governed Copilot 365 entry point (MCP)

Same skills exposed as MCP tools inside Copilot 365. Channels the shadow-AI experimentation Shanti flagged on Apr 1 through a tenant-aligned, audit-logged surface.

TouchesMCP server in Odele Copilot tenant, same skills
Approval gateSame gate as the web UI. One surface, two access patterns.
Lift if it landsSecurity win. The "go figure out AI" pattern Shanti flagged becomes "use the catalog in Copilot."
Risk: depends on Odele tenant MCP policy. If blocked, web UI ships alone in P1.
Apr 1 § 11 action items · May 4 next steps Easy build

Per-supplier and per-SKU memory layer

Lead times, packaging quirks, who-replies-fastest, which Target buyer prefers what cadence. Memory accumulates across runs so cycle 2 uses what cycle 1 learned.

TouchesMemory store (Postgres or equivalent), all skills
Approval gateNone at write time. Read-only context for skills.
Lift if it landsThe platform appreciates with use. Compounds across every later skill.
Risk: cycle-1 memory is thin. Real value lands in cycles 2-3.
May 4 logistics · roadmap to API Medium build

3PL rate quote pull

Lane and volume in. Quotes out. Portal automation now, real APIs as carriers expose them. Side-by-side comparison with prior-cycle benchmarks.

Touches3PL portals (browser automation), shared docs, custom UI
Approval gatePer-lane accept before commit.
Lift if it landsReplaces the manual quote-gathering Lindsay flagged as a quarterly drain.
Risk: portal scrapes are brittle. Start with 2-3 carriers; single-quote lanes flagged as exceptions, not silent failures.
May 4 reporting · Apr 1 § 6 Phase 2 Easy build

Monthly supply chain dashboard population

Shanti's monthly Excel dashboard, populated automatically from NetSuite, EDI, and 3PL data in the layout the team trusts. Drill-down to source rows, threshold-delta flags. Read-only, fastest reusable win after MPS-to-PO.

TouchesNetSuite, True Commerce EDI, 3PL portals (read), custom UI
Approval gateSoft gate: review before sharing externally.
Lift if it landsCuts the book-close dashboard rebuild from hours to minutes. High visibility for leadership.
Risk: source freshness. Stale scrapes surface as flags, not silent fudges.
Mar 27 tech infrastructure · Apr 1 § 3 problem statements Medium build

Order management exception routing

EDI orders evaluated against rules + model judgment. Clean ones flow through; anomalies (qty, terms, SKU mismatch, chargeback risk) route to a human queue with the reason flagged. Addresses the line-by-line review pain Shanti named on both calls.

TouchesTrue Commerce EDI, NetSuite, custom UI
Approval gateExceptions only. Clean orders auto-approve.
Lift if it landsThe staff-hours win Shanti most explicitly asked for in March.
Risk: defining "exception" needs SME pair sessions in week 5. Wrong cutoff kills adoption.
Apr 1 § 8 tiered training · Mar 27 workforce challenges Easy build

Role-tiered prompt library + Teams bot

Curated prompts for the three tiers Shanti named (leadership, managers, frontline). Surfaced in Teams so Tier 3 doesn't learn prompt engineering. Answers Shanti's "people shouldn't have to become AI experts" principle.

TouchesTeams bot, prompt catalog, role mapping
Approval gateNone at read; outputs that take action route through the standard queue.
Lift if it landsCloses the "go figure out AI" gap Shanti called out as inequitable.
Risk: an unopened library dies on the vine. Pair with adoption nudges, not just a catalog.
Mar 27 cross-system queries · Apr 1 § 6 Phase 2 Harder build

Executive command center · cross-system NL queries

Shanti's Mar 27 example: "How much did we spend on POs for volumizing shampoo last year?" answered across NetSuite, EDI, OneDrive without logging into anything. Built on P1+P2 connectors; P3 adds retrieval, role-based redaction, and the dashboard surface.

TouchesNetSuite, EDI, OneDrive, custom UI, Copilot 365
Approval gateRead-only. RBAC enforced.
Lift if it landsHighest visibility skill for Lindsay and the leadership tier.
Risk: needs P1+P2 connector breadth. Shipped early, it produces confident-sounding wrong answers.
May 4 cross-system orchestration Medium build

Vendor portal orchestration (broader 3PL)

Extends P2 rate quotes into broader 3PL ops: inventory sync, shipment status, exception handling. One normalized surface in front of multiple carrier portals.

Touches3PL portals, NetSuite, custom UI
Approval gatePer-action where it touches inventory or money; read-only otherwise.
Lift if it landsReduces the carrier-portal tab tax operations runs through every week.
Risk: P2 brittleness multiplied by surface area. Graceful degradation required.
May 4 supplier reply tracking · Apr 1 § 6 Easy build

Supplier reply tracking + auto-escalation

Tracks supplier replies against POs sent, parses confirmations and counter-offers, escalates anything quiet for 14 days into an Andrea queue. Closes the "did the supplier reply" loop.

TouchesService mailbox, NetSuite, custom UI
Approval gateSoft. Escalation queue not auto-action.
Lift if it landsEliminates the manual "did the supplier reply" check that lives in everyone's heads today.
Risk: supplier email parsing is messy. Confidence scoring + human review on low confidence.
Apr 1 § 3 demand planning gap · May 4 open questions Harder build

Demand forecast generation

Statistical baseline (seasonality, trend, retailer events) plus model judgment over POS and historical actuals. Output in the spreadsheet format Shanti's team already trusts, with confidence bands and "why this changed" notes per SKU.

TouchesNetSuite, retailer POS exports (Target/Ulta/CVS where available), custom UI
Approval gateSoft. Forecast is recommendation, not commitment.
Lift if it landsReplaces the Excel-only demand planning Apr 1 flagged as "fragile and unscalable."
Risk: this is where Anaplan would earn its keep. Workable at ~150 SKUs; revisit if complexity 2x's. Month-6 checkpoint.
May 4 chargebacks · Mar 27 Glimpse cited Call into, don't rebuild

Chargeback dispute analytics depth

Glimpse spans finance, sales, and supply chain for chargeback root-cause. Real depth, won't out-build it in 8 weeks. The platform calls into Glimpse and owns the integration, approval queue, and NetSuite/EDI links.

RecommendationBuy Glimpse. Build the integration.
WhyRefined against many CPGs. Shanti's framing: "Glimpse spans finance, sales, and supply chain."
Risk: pricing and integration effort need scoping. Platform doesn't depend on it; threshold-level flagging lives in the P2 dashboard.
Mar 27 SaaS economics · Apr 1 § 3 Defer until volume justifies

Multi-echelon supply optimization

Kinaxis-class constraint solving across suppliers, lead times, capacity, sourcing. Hard math, years of tuning. At Odele's scale (one co-packer, modest supplier base) P3 is workable. Build-vs-buy decision worth revisiting if complexity grows.

RecommendationDefer. Revisit at month 6 with real volume data.
WhyKinaxis is ~$50K/yr (Shanti's Apr 1 estimate). Worth it only if complexity exceeds the platform.
Risk: if supplier base or SKU complexity grows, this becomes a real decision. Platform doesn't replace Kinaxis on day one.
Mar 27 SaaS economics · Apr 1 § 3 Out of scope for P1 – P3

Financial planning depth (Adaptive-class)

Tax provision, deep scenario modeling, complex consolidations. Out of scope for the first six months. Platform feeds clean operating data to whatever financial tool Odele runs, doesn't try to be it.

RecommendationNot in scope. Revisit in 2027 if priorities shift.
WhyDifferent problem class. Operating layer connects to it, doesn't replace it.
Risk: if there's acute financial planning pain we haven't surfaced, that changes. Worth raising May 11.

Sources: Mar 27 discovery · Apr 1 architecture · May 4 SOW review. Phase order will likely shift after May 11.

Three workflows that earn the wedge

Where the value shows up first.

MPS-to-PO is the anchor. The other two reuse the same connectors and approval pattern. Sequencing is Odele's call after May 11.

workflow

3PL Rate Quote Pull

Lane and volume in. Quotes out. Portal automation now, real APIs as carriers expose them. Side-by-side with prior-cycle benchmarks.

workflow

Monthly Supply Chain Dashboard

Shanti's Excel dashboard, populated from NetSuite, EDI, and 3PL data in the layout the team trusts. Drill-down to source rows, threshold-delta flags.

The principles

Six principles that separate a platform from a chatbot.

01

One surface, two access patterns

Same skills callable from a custom web UI and from Copilot 365 via MCP. Not two products to maintain. The team picks the surface that fits the moment, the platform stays single-source.

02

Sourced, not invented

Skills act on Odele's actual data: NetSuite POs, OneDrive MPS, the EDI feed, the supplier mailbox. They do not free-generate values that should come from a system of record. Every output traces to its sources.

03

Approval gate before any spend

POs, supplier emails, and EDI sends land as drafts. Reviewer can approve, edit, or reject line by line. Nothing commits to a vendor without a human in the loop. Reviewer decisions train the next eval cycle.

04

Persistent memory per entity

Per-supplier, per-SKU, per-retailer context accumulates across runs. Lead times, packaging quirks, who-replies-fastest, which Target buyer prefers what cadence. The same skill called twice on the same supplier uses what it learned the first time.

05

Skills compose

Complex work calls multiple skills. The MPS-to-PO skill calls supplier-memory for lead times and supplier-mail for the send. The dashboard calls the same NetSuite reader the PO skill uses. Pipelines emerge from primitives.

06

Vendor-continuity by repo

The platform lives in a GitHub repo Odele can read, fork, or hand to another partner. No black box. No proprietary runtime. Continuity is structural, not a contract clause.

The engagement

One workflow live in eight weeks. Then a managed cadence.

A wedge, not a cathedral. MPS-to-PO live and adopted in eight weeks teaches Odele more than six months of platform planning. The May 11 session decides whether MPS-to-PO is the right anchor or the team picks something tighter.

The first sprint.

Eight weeks from kickoff to MPS-to-PO live with one real production cycle, the platform shell installed in Odele's M365 tenant, audit live, and weeks 5–8 already shipping the second skill.

week 1

Foundations

Azure tenant, model access via MS infra, GitHub repo + CI, NetSuite service account scoped to the PO module, MCP server registered in Odele's Copilot tenant.

weeks 2 – 4

MPS-to-PO end-to-end

MPS ingest in Odele's format. PO drafting against the real NetSuite PO template. Approval queue UI. Supplier email send via the Odele service mailbox. One full real production cycle with full Odele oversight in week 4.

weeks 5 – 7

Second skill + adoption

3PL rate quote pull or monthly dashboard, picked from the May 11 wishlist. Reuses the connectors and approval pattern. Pair sessions with SMEs to capture tacit logic. Role-based permissions hardened.

week 8

Decision point

Review adoption and friction signals. Pick the next 2–3 workflows from the refined wishlist. Decide: continue the managed-service cadence, or pause to evaluate.

Engagement model
Managed service
$5K / month, month-to-month after week 8. Same model as our Columbia Ridge engagement, not a one-time build.
What that buys
Encoded by EG, validated by Odele
EG owns implementation, evals, infra, and the next-skill backlog. Odele owns approvals, domain calls, and what's worth automating next. Dashboard and Teams bot are equal interfaces, not "the real product and the bot."
Raises the bar against
~$150K+ / yr in net-new SaaS
Pre-AI planning suites run ~$50K/yr each. The operating layer covers demand and supply through dashboards and orchestration over data you already own. Specialists like Glimpse get called into where their depth earns it.

Make Odele's playbook executable.

Forty-five minutes to walk the working slice and pick the first skill together. The eight-week sprint follows from the conversation.

Continue the Conversation