Status: Working Draft
Version: 0.9
Date: May 6, 2026
Authors: Diego Sanz (DataStudios), Danny Castro (Sage Distribution)
Sessions: Discovery Sessions 1–3 (May 4–6, 2026) + Danny Castro screen recordings
flowchart TD
subgraph intake ["INTAKE — Two Streams"]
DTC["DTC<br/>Shopify Storefront"]
EDI["EDI / B2B<br/>Bamboo Rose · Spring Systems · SPS Commerce"]
end
B1["① ORDER ENTRY — Camelot WMS<br/>DTC: TecOMS functional but unstable — replacement on table<br/>EDI: manual — broken ✗"]
B2["② SHIPMENT CREATION — EDI only<br/>Spring Systems · Bamboo Rose · SPS<br/>ASN · EDI 855 · 856 · 810"]
B3["③ TRANSPORTATION & ROUTING<br/>Path A: TechShip Desktop — standard retailers<br/>Path B: TMS portal → UPS WorldShip — Nordstrom<br/>Path C: TBD — Bluemercury · Bamboo Rose TMS?"]
B4["④ BILLING — Camelot Compute Charges<br/>DTC + EDI — same step, same root gap<br/>Root gap: no product dimensions in Camelot"]
DTC --> B1
EDI --> B1
B1 --> B2
B1 -.->|"DTC skips Bucket 2"| B3
B2 --> B3
B3 --> B4
Automate the warehouse fulfillment and billing operations at Sage Distribution (Creme Collective’s 3PL) across three order intake streams — Direct-to-Consumer (DTC via Shopify), EDI/B2B (retailer purchase orders via Bamboo Rose, Spring Systems, and SPS Commerce), and Manual PO (retailer emails PO directly to the Sage orders team, bypassing DTC and EDI integration).
The engagement is structured around the four operational buckets Danny Castro identified in Session 2. Each bucket represents a distinct phase of work with its own pain points, automation approach, and dependencies.
Holiday season deadline is the primary forcing function. At 10× holiday volume, billing alone requires 3–4 people working continuously. Removing the manual billing bottleneck before Q4 is the highest-priority outcome.
Confirmed automation approach (Session 3): Horizontal — automate by bucket across all brands, rather than automating one brand end-to-end before moving to the next. Rationale: faster measurable milestones, earlier quantifiable value (work genuinely removed from team’s plate), avoids repeating the same build steps per client, and enables validation against known-good truth data at each layer. Danny Castro agreed in Session 3.
| System | Role | Type |
|---|---|---|
| Shopify | DTC storefront — order origination | External (retailer-managed) |
| TecOMS (Techdinamics) | Shopify ↔︎ Camelot middleware — functional but unstable; custom replacement under discussion by Leila/Jeremy/Danny | Vendor SaaS |
| Camelot (MS Dynamics NAV/BC) | WMS + Billing — system of record | Core |
| TechShip Desktop (Techdinamics) | Shipping label generation — standard path | Vendor SaaS |
| UPS WorldShip | Shipping labels — TMS exception path (Nordstrom) | Vendor desktop |
| Spring Systems | EDI platform — Credo Beauty, Nordstrom | Vendor SaaS |
| Bamboo Rose | EDI platform — Free People, Urban Outfitters | Vendor SaaS |
| SPS Commerce | EDI platform — retailer(s) TBD | Vendor SaaS |
| Nordstrom CTE Portal | Retailer TMS — routing authorization | Retailer-managed |
| Bluemercury TMS | Retailer TMS — routing authorization | Retailer-managed (details TBD) |
| Fineline | Physical GS1-128 label procurement — non-Spring retailers | Vendor SaaS |
| Moda Operandi Portal | Manual order retrieval — retailer TBD | Retailer-managed |
| Email (orders@cremecollective.com, analytics@) | EDI notifications to Rita + Manual PO intake from retailers — the entry point for both intake streams | Internal |
API availability (confirmed Session 3): - TechMS (Techdinamics): API confirmed — Danny showed the endpoint configuration during the Session 3 screen share. Integration profiles (pull inventory, push shipments, pull/push orders) are configured in Camelot under Interface Profile List. - Camelot: API confirmed — Danny uses the existing API endpoints built for the TecOMS integration (read shipment info, inventory, receive data). These are a reuse asset for any custom build. - Spring Systems / Bamboo Rose / SPS Commerce: Unknown — API discovery needed. Interim automation may use UI-based methods; longer-term goal is backend API integration.
Manual PO path (confirmed Session 3 — third intake stream): A retailer sends a purchase order directly to the Sage orders team via email, bypassing both DTC integration and EDI portal routing. The orders team manually enters the PO into Camelot. The downstream process (Buckets 2–4) follows the same path as EDI orders from that point. Volume is lower than EDI but it is a real ongoing channel — Danny confirmed it in Session 3 as a distinct third intake stream that the current BRD had not captured.
DTC path (functional but unstable): Shopify → TecOMS (polls automatically) → Camelot. The order flow works, but TecOMS has accumulated “many breaking points” per Danny — enough that Leila, Jeremy, and Danny have been actively discussing building a proprietary middleware replacement. Danny described it as: “we’ve been kind of fed up with system issues… having a proprietary system — a lot of 3PLs have these because there’s not really a solution that’s been great.” Diego confirmed in Session 1 that with agentic coding this is now more feasible than it would have been before, and explicitly named it as not off the table.
Key asset if a custom middleware is built: The Camelot API endpoints created for the original TecOMS integration already exist (Danny confirmed these in Session 1 — read shipment info, inventory, receive data). A custom system would piggyback on these rather than building a Camelot integration from scratch.
Known DTC constraint (regardless of middleware): Supplies must be entered in the Camelot billing module only — not added to the Camelot order object — or TecOMS pushes an unrecognized SKU to Shopify, which marks the order unfulfilled and requires manual tracking entry to fix.
EDI path (broken): 1. EDI platform sends notification email to Rita 2. Rita logs into EDI portal (each retailer = different system, different login) 3. Rita navigates to the PO, saves as PDF 4. Rita emails PDF to orders@cremecollective.com 5. Creme orders team manually re-types all PO data into Camelot
This is pure duplicate work — the structured data already exists in the EDI portal and is being destroyed into a PDF and retyped. No 2FA on most EDI systems (confirmed in Session 2 for Urban Outfitters, Free People).
Pain level: High. Multiple people, daily, every retailer. Entirely eliminatable.
After the PO is in Camelot and the order is picked/packed:
Retailer-specific complexity in this bucket: - Spring Systems: 855 + 856 → auto-810. Nordstrom requires MATM# in ASN header + Mark For store code per carton - Bamboo Rose: process TBD — needs Session 3 walkthrough - SPS Commerce: process TBD — needs Session 3 walkthrough
Pain level: Medium-high. Highly manual and error-prone. Automatable once label data is machine-readable (dependency on Bucket 3).
Path A — Standard (TechShip Desktop): Used for standard retailers (e.g., Credo Beauty via Spring Systems). Select carrier + service (UPS Ground), enter carton weights, Process & Print → UPS tracking numbers generated. Freight billed to Sage’s UPS account.
Path B — TMS Exception (Nordstrom, fully documented): 1. Submit routing request to Nordstrom CTE portal 2. Receive approval email from Routing@nordstrom.com — contains UPS vendor account A66F31 (3rd Party), MATM shipment numbers, DC assignments 3. Open UPS WorldShip (separate desktop tool). Set Bill To: Third Party. REF1=PO#-DC, REF2=MATM#, REF3=Sage shipment# 4. Repeat per DC — one PO may ship to 5+ DCs
Path C — Resolved in Session 3 (no longer a distinct path): Danny confirmed: Bluemercury follows Path B (TMS portal → UPS WorldShip, similar to Nordstrom). Bamboo Rose follows Path A (TechShip Desktop). So “Path C” is not a third routing architecture — it was a placeholder for retailers whose path was unknown. All retailers now map to either Path A or Path B. Full-cycle walkthroughs from Rita are still pending for Bamboo Rose and SPS Commerce (Rita cannot record until actual orders are available), but the routing path for each is now known at a high level.
Pain level: High for TMS exception paths. Manual, multi-step, error-prone. Each DC requires a separate label run. MATM# must be manually copied from email into WorldShip and Spring Systems ASN.
Applies to both DTC and EDI orders — same step, same system, same root gap.
Current state: Office opens each shipment in Camelot → “Compute Charges” → manually selects and enters all supply line items (box type, labor codes, pick method) based on handwritten notes from the warehouse floor.
Root gaps (three related but distinct problems):
No product dimensions in Camelot. Box size is determined by visual judgment at the packing station and written by hand on the physical pick ticket. No SKU-level dims/weights stored anywhere in the system. This is the primary blocker for algorithmic box selection and billing automation.
No supply inventory tracking. Packing supplies (boxes, labels, tape, etc.) are not tracked in Camelot inventory at all — no SKU assignments, no consumption deduction, no reorder triggers. The warehouse monitors stock by sight (“down to a pallet, order more”). A scan-at-packing-station approach (scanning a box barcode to auto-capture the supply) is the preferred fix, but it runs into the TecOMS/Shopify constraint below.
The TecOMS/Shopify order-object constraint. Supplies cannot be added to the Camelot order object — if they are, TecOMS pushes the unrecognized SKU to Shopify, which then marks the order unfulfilled (requiring manual tracking entry in Shopify to fix). Supplies must be entered in the billing module only. This means any scanning solution must write to the billing module, not the order — which currently has no scan-to-add path in Camelot. Requires a Camelot configuration or API solution.
Scale of pain: - Normal volume: 2–3 hours/day, 2–3 people - Holiday (10× volume): 3–4 people billing continuously all day
Known charge codes:
| Client | Code | Description |
|---|---|---|
| SWEED (e.g., Credo Beauty) | SUPP | Box supplies |
| SWEED | ADMIN | Office Admin EDI (0.25 HR) |
| SWEED | ORD WH | Wholesale Order Processing |
| SWEED | PICK CS | Case Pick |
| SWEED | PICK IC | Inner Carton Pick |
| METACINE (Nordstrom) | CSTM PK | Custom Packout ($0.75 flat) |
| METACINE | ORD EC | Ecommerce Order Processing ($2.75 flat) |
| METACINE | PICK EA | Each Pick ($0.50/unit) |
| METACINE | ORD WH | Wholesale Order Processing ($2.75) |
Strategic decision required — DTC middleware: Before or in parallel with EDI automation, the team (Leila/Jeremy/Danny) needs to make a go/no-go decision on TecOMS. Two paths:
This decision directly affects the scope of Bucket 4 (billing automation) — if a custom middleware is built, supply scanning and box selection logic can be built into it natively, bypassing the Camelot order-object/Shopify constraint entirely.
Phase 1A — PO Extraction: - Set up email forwarding from EDI notification addresses → analytics@cremecollective.com - Parse notification email → extract PO number + retailer + EDI platform - Auto-login to EDI portal (no 2FA on most systems) → navigate to PO → download structured data - Prerequisite: Email forwarding rules set up by Danny/Rita — unblocks Phase 1A immediately, no code required from DataStudios
Phase 1B — Camelot Entry: - Write extracted PO data directly to Camelot via API - Eliminates the PDF-email-retype loop entirely - Prerequisite: Camelot API endpoint and auth details from Danny
Path A (TechShip): - Automate TechShip label generation via Techdinamics API - UPS tracking number auto-pushed to Spring Systems ASN — eliminates manual copy-paste
Path B (TMS Exception — Nordstrom): - Automate CTE portal routing request submission - Parse MATM# and DC assignments from Routing@nordstrom.com approval email - Auto-populate UPS WorldShip reference fields per DC - Batch label generation across all DCs
Path C (resolved — no distinct third path): - Bluemercury → scope against Path B automation (TMS portal + UPS WorldShip) - Bamboo Rose → scope against Path A automation (TechShip Desktop) - Pending: Rita’s full-cycle walkthroughs for both when actual orders arrive
Prerequisite (must be completed first): Collect product dimensions and weights for all active SKUs and load into Camelot. This is the primary dependency that unlocks algorithmic box selection and billing automation for both DTC and EDI orders.
Path A — TecOMS order rules (near-term, leverages existing infrastructure): TecOMS has configurable order rules (SQL-like logic) that execute when an order arrives from Shopify. These rules can auto-apply a shipper and box type based on order contents — without touching the order object (which would break Shopify fulfillment). Diego and Danny identified this in Session 1 as a viable near-term path: rather than building custom logic, encode patterns (e.g., “if order contains SKU X in qty ≥ N, assign box 20×14×4”) into TecOMS rules. Limitations: doesn’t work for high-permutation SKU catalogs (hundreds of SKUs × many combinations), but covers uniform or simple catalog clients well. Requires investigation into TecOMS rule flexibility and whether it can write to the billing module specifically.
Path B — Full algorithmic billing automation (longer-term): Once product dimensions are loaded into Camelot: - Algorithmic box selection engine (SKU dims + quantities → optimal box recommendation) - Auto-populate supply line items in Camelot billing module (box type, qty, labor codes) - Auto-trigger Compute Charges on shipment completion - Apply correct charge codes by client (SWEED vs. METACINE vs. others) - Scan-at-packing-station: packer scans box barcode → auto-writes to billing module (not order object) — requires Camelot API or configuration path to billing module
Pick plan automation (Bucket 1 adjacent): Identifying batch-eligible orders (same client, same SKU, same qty) is rule-based and fully automatable — eliminates the manual step of office staff scanning orders to find batch candidates. Low complexity, high value at peak volume.
Recommended prototype client — Metacine: Danny identified Metacine in Session 1 as the best test case for billing automation. Reasons: manageable SKU count (measurable if dims aren’t available), and their new VP of Operations is actively pushing for automated supply consumption tracking — making them a motivated internal champion. If dimensions need to be collected manually for the first pass, Danny confirmed Metacine’s SKU count is small enough to do it. All new clients going forward should be required to provide dims/weights at onboarding.
| Prerequisite | Owner | Blocks |
|---|---|---|
| TecOMS vs. custom middleware decision | Leila / Jeremy / Danny | DTC automation path; Bucket 4 supply scanning scope |
| Email forwarding rules → analytics@cremecollective.com | Danny / Rita | Bucket 1A kickoff |
| Camelot API endpoint + auth method | Danny | Bucket 1B, Bucket 4 — API confirmed Session 3; auth details TBD |
| TechMS API credentials + endpoint documentation | Danny / Techdinamics | DTC middleware integration — API confirmed Session 3; docs TBD |
| Product dimensions + weights for all SKUs in Camelot | Danny + Creme brands | Bucket 4 — algorithmic box selection |
| Packing supply SKUs created in Camelot inventory | Danny | Bucket 4 — scan-at-packing-station path |
| TecOMS order rule investigation (flexibility + billing module write path) | Diego + Danny | Bucket 4 Path A — near-term automation |
| Shopify credentials (store URL + API key) | Annie’s team via Danny | DTC integration testing |
| Spring Systems API access (read/write) | Danny | Bucket 2 automation — API existence unknown; discovery needed |
| Bamboo Rose API access | Danny | Bucket 2 automation — API existence unknown; discovery needed |
| SPS Commerce API access | Danny | Bucket 2 automation — API existence unknown; discovery needed |
| Nordstrom CTE portal login details | Danny / Rita | Bucket 3 Path B automation |
| Bamboo Rose + SPS Commerce process walkthroughs | Rita | Bucket 2 + 3 — waiting on actual orders |
| Bluemercury process walkthrough | Rita | Bucket 3 — partial videos may already exist; confirm with Danny |
Updated after Session 3 (May 6, 2026). Answered items marked ✓.
TODO: Align with Danny / Leila on specific targets
Two independent sources corroborate the UPS-related opportunity. Figures are estimates; see source notes below.
Source: Andrea DeLucia (Controller), April 2, 2026 call (00:28:46–00:36:22)
When an address on an outbound order is incorrect — residential vs. commercial misclassification, missing apartment number, etc. — UPS reroutes the package and re-bills Sage for the correction. These fees are not currently passed through to the client.
Andrea’s estimate: ~$20,000/year in avoidable carrier adjustment fees. Corroborated by Danny Castro in Session 3 (May 6, 2026), who cited a similar figure when discussing uncollected UPS charges.
Automation approach: pre-shipment address validation. Run a UPS API check before orders go out to flag bad addresses before the shipment is created — stopping the fee from being incurred in the first place. This is an independent unlock that does not depend on Bucket 4; it can be built early. Captured in the AI Agents Architecture (CC-344, Accounting Agent) as an agreed quick-win from the April 2 meeting.
Source: Danny Castro, Session 3 (May 6, 2026, 00:09:30)
Sage currently pays ~$5,000/month to Techdinamics for the TechMS (TecOMS) platform. If leadership (Leila/Jeremy/Danny) decides to replace TecOMS with a custom middleware (see Bucket 1 strategic decision), this recurring fee is eliminated. The decision is actively under discussion.
Source: Danny Castro, Session 3 (May 6, 2026, 00:10:25–00:11:09)
Adding billing staff during peak season requires adding Camelot user licenses at $200–$400/month per seat. Licenses must be maintained even when not actively used (shutting them down and reconnecting incurs a reconnection fee). Automating billing via a single service login can eliminate the need for 2–3 additional seats.
Estimated savings: $400–$1,200/month in licensing, recurring.
Source: Danny Castro, Sessions 2 & 3
At 10× holiday volume, billing alone requires 3–4 people working continuously. Bucket 4 automation reduces this to ≤ 1 person (exception handling + sign-off). Those team members can be redeployed to other warehouse operations.
| Category | Estimated Value | Source | Notes |
|---|---|---|---|
| UPS address correction fees | ~$20,000/year | Andrea DeLucia, Apr 2 | Pre-shipment validation; early unlock, independent of Bucket 4 |
| TechMS licensing elimination | ~$5,000/month | Danny, Session 3 | If custom middleware path chosen |
| Camelot seat reduction | $400–$1,200/month | Danny, Session 3 | 2–3 seats at $200–$400/seat |
| Labor redeployment (peak) | TBD | Danny, Sessions 2–3 | 3–4 FTEs → ≤ 1 at billing peak |
| Phase | Bucket | Deliverable | Dependency |
|---|---|---|---|
| 1A | 1 | PO extraction — email parsing + auto-login + download | Email forwarding set up |
| 1B | 1 | Camelot order entry via API | Camelot API access |
| 2 | 2 | ASN + 855/856 automation for Spring Systems retailers | Bucket 3 label data; Spring API |
| 3A | 3 | TechShip label automation (Path A) | Techdinamics API |
| 3B | 3 | Nordstrom TMS automation (Path B) | CTE portal access |
| 3C | 3 | Bluemercury (Path B) + Bamboo Rose (Path A) | Rita walkthrough videos |
| 4 | 4 | Billing automation — Camelot Compute Charges | Product dimensions in Camelot |
Note: Phases 3A and 1A/1B can run in parallel once prerequisites are met. Phase 4 is the highest-value unlock but has the most upstream dependencies.
These are items not owned by DataStudios that must be completed by a hard date for the November 1 go-live to hold. Each one has an external owner. If it slips, the sprint plan slips — there is no code workaround.
| Dependency | Owner | Must Be Done By | What Breaks If Missed |
|---|---|---|---|
| All system credentials obtained — Camelot API, Spring Systems, Bamboo Rose, EDI portals, Nordstrom CTE portal | Danny Castro | May 31 | Sprint 1 cannot start |
| Email forwarding configured — EDI notification addresses → analytics@cremecollective.com | Danny / Rita | May 31 | Bucket 1A email parsing has no input |
| TecOMS vs. custom middleware go/no-go decision | Leila / Jeremy / Danny | May 31 | DTC automation path undefined; may add 2–3 sprints of unplanned scope |
| EDI platform API discovery — Spring Systems, Bamboo Rose, SPS Commerce | Danny | May 31 | Cannot determine UI vs. API approach; Track A design blocked |
| Rita’s Bamboo Rose full-cycle walkthrough | Rita | June 27 (before Sprint 4) | Bamboo Rose extraction unscoped; slides to Phase 2 |
| Rita’s Bluemercury full-cycle walkthrough | Rita | July 25 (before Sprint 5B) | Bluemercury TMS unscoped; slides to Phase 2 |
| SPS Commerce walkthrough + API access | Rita / Danny | May 31 (to include in Sprint 5A) | SPS Commerce becomes Phase 2; not in November go-live |
| Product dimensions + weights for all active brands loaded into Camelot | Danny Castro (+ brand contacts) | August 22 (before Sep billing config) | Bucket 4 billing incomplete for those brands at go-live — the automation runs, but cannot compute charges for orders with missing dims |
| Danny / Rita available for 30-min sign-off at end of each sprint | Danny / Rita | Each sprint end | Validation blocked; sprint not closeable; downstream sprint may start on unvalidated output |
The single highest-risk item is product dimensions for all brands. This is a data collection task, not a code task — DataStudios cannot build its way around it. If brands have not provided dimensions by August 22, those brands will not have automated billing on November 1, regardless of how much development time is available. Danny needs to own this from May 1.
Team: See Section 13
Approach: Horizontal — automate by bucket across all brands. Metacine is the billing pilot to validate the engine; all brands go live November 1.
Timeline: - May 2026 — Discovery & planning (no code) - June–August 2026 — Development (6 × two-week sprints, 2 parallel tracks) - September 2026 — Buffer, hardening, per-brand billing configuration, pre-production validation - October 2026 — Full end-to-end testing, all clients, all buckets - November 1, 2026 — Go-live target: all clients, all systems, before holiday billing crunch
No code. All outputs are access, decisions, and data. Everything here must be complete before June 1.
Development runs as two parallel tracks from Sprint 1. Tracks converge in September for billing rollout and in October for E2E testing.
| Track A — Person A | Track B — Person B | |
|---|---|---|
| Focus | EDI extraction + Camelot entry (Buckets 1A, 1B) → Billing engine (Bucket 4) | Transportation + routing (Bucket 3) → ASN automation (Bucket 2) |
| Dependency | Camelot API access, EDI portal access | Techdinamics API, CTE portal access, TechShip confirmed in Sprint 2 before ASN can start |
Track A: Shared automation infrastructure — cloud environment, scheduler, error handling, alerting, logging. Email parsing engine: monitors inbound EDI notification emails, extracts PO metadata (PO number, retailer, platform), logs to structured store.
Track B: Same shared infrastructure foundation. TechShip API exploration and integration setup — authenticate, test label creation against a sandbox order, confirm tracking number response format.
Acceptance criteria: Email monitor live and parsing real notification emails. TechShip API authenticated and label creation confirmed end-to-end in test mode.
Track A — Spring Systems Extraction (Bucket 1A): Auto-login to Spring Systems portal → navigate to PO → download structured PO data (line items, quantities, UPCs, ship dates, retailer packing/labeling requirements) → staged for Camelot entry. Covers Credo Beauty and Nordstrom.
Track B — TechShip Label Automation (Bucket 3A): TechShip label generation fully automated via Techdinamics API. Input: Camelot order + carrier/service selection. Output: UPS tracking number written back to order record. Covers all Path A retailers. Tracking numbers now exist programmatically — this unblocks ASN automation on Track B.
Acceptance criteria: Spring Systems PO notification → full PO data extracted and staged, zero manual portal interaction. Path A order → label generated, tracking number returned and stored, no manual TechShip Desktop interaction.
Track A — Camelot Order Entry, Spring Systems (Bucket 1B): Extracted Spring Systems PO data written to Camelot via API. Credo Beauty and Nordstrom orders entered automatically, zero manual re-typing. Validation: auto-entered order compared against parallel manual entry for Danny / Rita sign-off.
Track B — Nordstrom TMS Automation, Part 1 (Bucket 3B): CTE portal routing request submitted automatically from Camelot order data. Approval email from Routing@nordstrom.com parsed — MATM# and DC-to-carton assignments extracted and stored.
Acceptance criteria: Spring Systems PO → in Camelot with correct field mapping, no manual entry. Danny validates against 3 live orders. CTE portal routing request submitted without human interaction; MATM# parsed correctly from approval email.
Track A — Bamboo Rose Extraction + Camelot Entry (Buckets 1A+1B): Extends Sprint 2–3 pattern to Bamboo Rose (Free People, Urban Outfitters). UI automation used if no API available — extraction layer is the only new work; Camelot entry framework already built.
Track B — Nordstrom TMS Automation, Part 2 + ASN Start (Buckets 3B + 2): UPS WorldShip reference fields (Bill To Third Party, REF1/REF2/REF3) populated per DC automatically. Batch label generation across all DCs. Begin ASN automation for Spring Systems (Bucket 2) — 855 + 856 auto-populated using tracking numbers from Sprint 2.
Acceptance criteria: Bamboo Rose POs extracted and in Camelot, zero manual logins. Nordstrom PO routed → labels for all DCs generated without manual WorldShip data entry; validated on at least one multi-DC order. Spring Systems ASN draft populated automatically.
Risk note — WorldShip desktop automation: If full WorldShip automation is not achievable by end of Sprint 4, fallback is: pre-fill all reference fields, human clicks Send. Full automation moves to Sprint 5 Track B.
Track A — SPS Commerce + Billing Engine Start (Buckets 1A/1B + 4): If SPS walkthrough and API access available: SPS Commerce extraction + Camelot entry following the established pattern. If SPS still unscoped: begin Bucket 4 billing engine on Metacine — algorithmic box selection, supply line item auto-population in Camelot billing module.
Track B — ASN Complete + Bluemercury TMS (Buckets 2 + 3C): Spring Systems ASN automation complete (855 + 856, with Nordstrom MATM# + Mark For codes). Begin Bluemercury TMS automation (follows Path B — similar to Nordstrom; applies same CTE/WorldShip pattern). Begin ASN for Bamboo Rose.
Acceptance criteria: Spring Systems ASN filing fully automated, EDI 810 auto-fires on send. Bluemercury routing request submitted automatically. Bamboo Rose ASN in progress.
Track A — Billing Engine Complete, Metacine (Bucket 4): Billing engine fully operational for Metacine: algorithmic box selection from SKU dimensions, supply line items auto-populated, Compute Charges triggered on shipment completion, correct charge codes applied (CSTM PK, ORD EC, PICK EA, ORD WH). Danny validates against 5 live Metacine orders — this is the pilot that proves the pattern for all remaining brands.
Track B — ASN Bamboo Rose Complete + Billing Rollout Prep: Bamboo Rose 855/856 ASN automation complete. Begin per-brand billing configuration: load charge code mappings and confirm dimension data availability for each remaining brand. Work through brand list with Danny.
Acceptance criteria: Metacine billing fully automated end-to-end, validated by Danny. ASN automation complete for all Spring Systems and Bamboo Rose retailers. Per-brand billing config underway for at least half of remaining brands.
Development is complete. September is not a sprint — it is a dedicated preparation month before October testing.
Weeks 1–2 (Sep 1–12) — Hardening: - Exception handling across all automated buckets (partial shipments, order cancellations, portal timeouts, API failures) - Edge case coverage for Nordstrom multi-DC splits - Per-brand billing configuration for all remaining brands — dimensions loaded, charge codes mapped, spot-checked - UPS address validation automation (Andrea’s item — independent, no data dependency; can be built here if not already done) - Documentation for Danny / Rita: what is automated, what requires human review, how to handle exceptions
Weeks 3–4 (Sep 15–26) — Pre-Production Validation: - End-to-end dry run across all clients and all buckets with Danny / Rita present - Confirm automated output matches manual output for a representative sample of orders per brand - Identify and fix any brand-specific edge cases or field mapping issues surfaced in dry run - Confirm all product dimensions loaded; resolve any remaining gaps with Danny - Danny / Rita sign-off per bucket before October testing begins
Full month. No new development. Goal: validate the complete system under real conditions and get go/no-go sign-off from Danny, Leila, and Jeremy.
Week 1 (Oct 1–10): Full cycle testing across all brands and all buckets. Spring Systems, Bamboo Rose, Bluemercury, and SPS Commerce (if in scope). Every automated step run against live or near-live orders.
Week 2 (Oct 13–17): Nordstrom multi-DC edge cases, high-volume scenarios, holiday-scale stress testing. Billing accuracy validation across all brands against known-good manual output.
Week 3 (Oct 20–24): Exception handling validation — intentionally trigger failure scenarios (bad addresses, portal timeouts, missing dimensions) and confirm fallback/alert behavior. Confirm human-in-the-loop steps work as designed.
Week 4 (Oct 27–31): Final fixes from testing. Danny / Rita / Leila / Jeremy sign-off. Go / no-go decision for November 1 launch.
All clients. All automated buckets. Before holiday billing crunch hits.
| Risk | Likelihood | Impact | Mitigation |
|---|---|---|---|
| Product dimensions not collected for all brands by September | High | Bucket 4 billing incomplete for those brands at go-live | Treat as highest-priority May task; Danny owns it for every brand, not just Metacine. Weekly check-in. |
| Bamboo Rose / SPS have no API — UI automation required | Medium | Track A slower; extraction more brittle | API discovery in May; extractors designed to be swappable between API and UI |
| WorldShip desktop automation proves infeasible | Medium | Nordstrom TMS partially manual at go-live | Fallback built into Sprint 4: pre-fill fields, human clicks Send — still removes 80% of manual work |
| TecOMS replacement decided in May — adds scope | Medium | 2–3 additional sprints; must run as separate track | Scope separately; does not block EDI or billing automation |
| SPS Commerce walkthrough video not available in May | Medium | SPS not in scope for November go-live | SPS becomes Phase 2; remaining brands still launch on time |
| Rita / Danny unavailable for sprint sign-offs | Low | Validation delayed; sprint completion blocked | Pre-schedule 30-min review at end of each sprint from day one |
| September dry run surfaces brand-specific billing gaps | Medium | October testing delayed | Build per-brand spot checks into every billing config session in Sep weeks 1–2 |
| Role | Primary Responsibilities |
|---|---|
| AI Architect / Principal Engineer | System design, middleware architecture decision (TecOMS vs. custom), billing engine design, AI-assisted automation patterns (email parsing, address validation), client coordination, sprint planning and review |
| Senior AI Engineer | Track A (EDI → Billing) and Track B (Transport & Routing → ASN) delivery, platform integrations, sprint execution |
| Junior Engineer | Test scaffolding, brand billing configuration, documentation, Manual PO email parsing support |
Last updated: May 6, 2026 — v0.9, post-Session 3