Creme Collective · Sage Distribution · Internal Technical Reference

Warehouse Process Flow Diagram

DTC Billing & EDI Fulfillment — Current State with Automation Opportunities
📅 May 5, 2026 🔖 v3 — Sessions 1 & 2 + Danny video analysis + Path A/B/C fork (May 6, 2026) ⚠️ Partial draft — Bamboo Rose, SPS Commerce, Bluemercury paths pending (see Section D)
System step (automated)
Manual step
Automation candidate

Integration Architecture Overview

DTC Order Path
Shopify
Storefront
TecOMS
Techdinamics — middleware
Camelot
WMS + Billing
TechShip Desktop
Techdinamics — label generation
Orders: Shopify → TecOMS → Camelot  |  Posting: Camelot → TecOMS → Shopify (tracking + fulfilled status)  |  TechShip Desktop + TechShip web (app.techship.io) are both Techdinamics products
EDI / B2B Order Path
Bamboo Rose
Free People / Urban Outfitters
·
Spring Systems
Various retailers
·
SPS Commerce
Various retailers
Email
→ Camelot (manual entry)
Camelot
WMS + Billing
Retailer TMS
Nordstrom / Bluemercury
TechShip / UPS WorldShip
Labels + routing auth
EDI Platform
ASN + Invoice
GS1-128 Labels
Generated in EDI platform
Spring Systems generates retailer-branded GS1-128 carton labels (PDF) with SSCC barcode. Nordstrom labels include DC#, Store# (Mark For), Dept#, Vendor# fields. Fineline as a separate vendor may apply to non-Spring retailers.
A

DTC Order Billing Flow

Flow A1 — Single Order Billing
1
Customer places order on Shopify
Order enters Shopify storefront.
ShopifyAutomated
2
TecOMS pulls order from Shopify → pushes to Camelot
TecOMS (Tech Dynamics middleware) polls Shopify for new orders and writes them into Camelot automatically. No human action required.
TecOMSCamelotAutomated
3
Camelot generates pick ticket
Pick ticket printed for warehouse floor. Shows items, SKUs, quantities, bin locations, and pick method — full case vs. individual unit (priced differently for billing).
Camelot
4
Picker scans and picks items
Warehouse picker uses handheld scanner to verify item identity at bin location. Items brought to packing station.
Manual — Warehouse
5
Packer records supplies used on physical pick ticket (handwritten)
Packer visually determines box size based on items. Writes on physical pick ticket: box dimensions (e.g., 20×14×4), packing materials, label type, quantities used. Ticket returned to office.
Manual — WarehousePain Point
⚠️ Root gap: No product dimensions stored in Camelot. Box size is determined by visual judgment. This single gap blocks all downstream automation of billing inputs — solving it unlocks 90–95% of order automation.
💡 Automation path: Collect product dims/weights into Camelot for all SKUs → algorithmic box recommendation. Prototype: Medicine client (VP Ops is actively requesting supply consumption tracking; manageable SKU count for initial data collection).
6
Office opens order in Camelot → Compute Charges → manually enter supplies
Office selects order → "Compute Charges" → confirms ship date → manually types all supplies from pick ticket (box type, label, labor) into the billing module. Reviews charges screen listing all line items.
Manual — OfficeCamelotPrimary Pain Point
⚠️ Every order, every day. At 10× holiday volume: 3–4 people billing continuously. This step is the highest-priority automation target after dimensions are available.
7
Post order in Camelot → tracking + status pushed to Shopify
Office clicks Post. Camelot closes the shipment → pushes tracking number + fulfilled status to TecOMS → TecOMS forwards to Shopify → order marked fulfilled.
CamelotTecOMSShopify
⚠️ Critical constraint: Supplies must be entered in the billing module only — not added to the order object in Camelot. If added to the order, Shopify receives an unrecognized SKU and marks the order "unfulfilled," requiring manual tracking entry in Shopify. Current workaround preserves the integration but means supply inventory is never consumed from stock.
Flow A2 — Batch / Pick Plan Billing (variant)
Used when multiple orders call for identical items in identical quantities. Steps 1–4 identical to A1. Billing diverges at Step 5.
5
Office creates Pick Plan in Camelot
Office groups eligible orders into a Pick Plan. One consolidated pick ticket printed covering all orders.
CamelotAutomation Candidate
💡 Identifying batch-eligible orders (same SKU, same qty) is rule-based and automatable — just needs automated triggering.
6
Picker pulls all batch items at once → separates at packing station
Single picker collects all items across all orders, separates into individual order boxes.
Manual — Warehouse
7
Manage Shipment Load → batch compute & post
Office uses "Manage Shipment Load" screen in Camelot. Groups orders under a master document. Compute Charges → select date → enter supplies (applied uniformly across all orders in batch) → Post all simultaneously. Tracking sent back to Shopify per order.
Manual — OfficeCamelotPain Point
⚠️ Batch only works when supplies are uniform across all orders. Any variation in quantity or product forces individual billing. Even with batch processing, peak volume overwhelms capacity without supply automation.

Convergence Point — Camelot Billing Module

Both DTC and EDI orders terminate at the same Camelot billing step. Camelot is the system of record for all warehouse charges. TecOMS write-back to Shopify applies to DTC orders only.
Flow A: DTC via Shopify
+
Flow B: EDI / B2B
Camelot — Compute Charges → Post Order
Automation of the Camelot billing step benefits both processes simultaneously.
B

EDI / B2B Fulfillment Flow

📋 May 5 update: Danny Castro provided screen recordings covering the full Sweed/Credo cycle via Spring Systems and the Nordstrom multi-DC cycle. TMS exception path for Nordstrom is now fully documented. Bluemercury TMS path and Fineline for non-Spring retailers remain pending.
Phase 1 & 2 Target — PO Receipt & Camelot Entry
1
Retailer sends PO via EDI platform
Retailer's system transmits purchase order through their designated EDI platform (Bamboo Rose, Spring Systems, or SPS Commerce). EDI provider sends email notification to Sage Distribution team.
EDI PlatformAutomated by retailer
2
Rita logs into EDI platform → locates PO → downloads as PDF
Rita receives notification email → logs into that retailer's EDI system → selects brand → navigates to Orders → searches for PO number → opens each PO → saves as PDF.
Manual — RitaPrimary Pain Point
⚠️ Multiple EDI platforms with different login flows — each retailer uses a different system. Spring Systems offers native automation at ~$50–75/brand/month; brands haven't adopted due to volume not yet justifying the fee.
💡 Phase 1 automation: Parse EDI notification email → extract PO number → auto-login to EDI portal (no 2FA on most systems, confirmed) → download PO automatically. First step: set up email forwarding rules to analytics@cremecollective.com.
3
PDF emailed to orders@cremecollective.com
Rita emails downloaded PO PDFs to Creme's orders team for manual entry.
Manual — RitaPain Point
4
Creme orders team manually enters PO data into Camelot
Team reads the PDF and types all order data into Camelot — a direct duplication of structured data the EDI platform already holds.
Manual — Creme Orders TeamCamelotPain Point
💡 Phase 2 automation: Structured PO data from EDI platform → direct API write to Camelot. Eliminates Steps 3 and 4 entirely.
5
Rita reviews EDI order → notes retailer-specific requirements
Rita manually reviews each EDI order and adds notes on requirements that vary significantly by retailer: bagging, labeling (Fineline), carton marking, packing specs, compliance requirements.
Manual — RitaComplex — Human Judgment
💡 Phase 4 target: Codify retailer requirement rules over time. As rules are documented, automate the lookup and notation. Rita transitions to supervisory/exception role. Not automatable in Phases 1–2 — rules vary too widely and are not yet documented.
Pick, Pack & Ship — Steps 6–8 (Three Paths)
6
Camelot generates pick ticket for EDI order
Same pick ticket generation process as DTC. Warehouse picks and packs per PO quantities. Shared across all retailer paths.
CamelotAll paths
↓   RETAILER ROUTING FORK — Steps 7 & 8 differ by retailer   ↓
Path A — Standard (Spring Systems)
Retailers

Credo Beauty (Sweed Beauty Inc), and other Spring Systems retailers not requiring TMS routing

Step 7 — Shipping Label

TechShip Desktop Client (Techdinamics). Select carrier + service (e.g., UPS Ground). Enter carton count and weights. Click Process & Print → UPS tracking numbers generated. Freight billed to Sage's UPS account.

Step 8 — GS1-128 Carton Label

Generated inside Spring Systems as part of the ASN build. PDF opens in Adobe Acrobat → print and affix to each carton.

Credo label fields: FROM/TO addresses, Carrier + B/L#, PO#, Carton # of #, item description, carton qty, Credo logo, SSCC barcode

💡 Phase 3: Automate TechShip label generation via Techdinamics API. UPS tracking # auto-populated into Spring Systems ASN — no manual copy-paste.
Path B — TMS Exception (Nordstrom)
Retailers

Nordstrom (Camelot client: METACINE — Diamond Laboratories Inc)

Step 7 — Routing Authorization + Labels
  1. Submit routing request to Nordstrom CTE portal
  2. Receive approval email from Routing@nordstrom.com — contains UPS acct A66F31 (3rd Party), MATM#s, DC assignments
  3. Open UPS WorldShip (not TechShip). Set Bill To: Third Party (Nordstrom pays freight). REF1=PO#-DC, REF2=MATM#, REF3=Sage shipment#
  4. Repeat per DC — one PO may ship to 5+ DCs
  5. Track in Camelot → Manage Shipment Loads (PICK PRTD → PRINTED per DC)

"1 DC Multiple Stores": Marlboro DC cross-docks to Pentagon City (0621), Tysons Corner (0600), Burlington (0535), Garden State Plaza (0520). Each store = separate Spring Systems sub-shipment with a Mark For store code.

Step 8 — GS1-128 Carton Label

Generated inside Spring Systems. Nordstrom label adds fields beyond standard:

  • DC# (e.g., 0699)
  • Store# barcode — Mark For (e.g., 0621 Pentagon City)
  • Dept# (e.g., 0614) and Vendor# (e.g., 0005180481)
💡 Phase 3: Automate CTE routing request → parse MATM# from Routing@nordstrom.com email → auto-fill UPS WorldShip per DC → push MATM# + store Mark For into Spring Systems ASN.
Path C — Other Platforms (Undocumented)
Retailers

Bamboo Rose: Free People, Urban Outfitters
SPS Commerce: Retailer(s) TBD
Bluemercury: TMS path (similar to Nordstrom?)

Step 7 — Shipping Label
Label generation process unknown. TechShip Desktop? Retailer TMS portal? Need walkthrough from Danny or Rita — see Section D.
Step 8 — GS1-128 Carton Label
Does Bamboo Rose / SPS Commerce generate GS1-128 labels natively, or is Fineline an external vendor step? Unknown — see Section D.
⚠️ Path C gaps block Phase 3 scope. Session 3 ask: screen recordings of one Bamboo Rose and one SPS Commerce cycle (same format as Danny's May 5 recordings).
Phase 1–3 Target — EDI Shipment Creation & ASN
9
EDI acknowledgment (855) + ASN (856) in Spring Systems
Step 9a — Order Acknowledgment (EDI 855): In Spring Systems, open the PO → Order Acknowledgment form → set item status per line (Item Accepted, Item Accepted - Date Rescheduled, Item Accepted - Quantity Changed, Item Backordered, Item Rejected) → confirm quantities and estimated ship date → Save and Send.

Step 9b — Build ASN (EDI 856): Create a Shipment record in Spring Systems → assign items to cartons → fill in shipment header:
  • Carrier name + SCAC code (e.g., United Parcel Service-Gro-UPSN)
  • BOL / Tracking # (master UPS tracking number)
  • Ship date, delivery date, weight
  • Nordstrom only: Load or Routing Num from Retailer (MATM# from approval email); Carrier Reference # (MATM#)
  • Nordstrom only: Mark For store per carton — each store allocation (Pentagon City, Tysons Corner, etc.) is a separate sub-shipment; bulk edit available for parallel data entry
Generate GS1-128 labels (Step 8) → print → Save & Send Shipment → Spring Systems transmits 856 to retailer.
Manual — RitaSpring SystemsPain Point
💡 Once label generation is automated (Phase 3), all shipment data is machine-readable — 855 and 856 can be auto-populated and sent via Spring Systems API. MATM# from TMS approval email is included automatically.
10
ASN sent to retailer
EDI platform transmits Advanced Shipping Notice to retailer's system. Retailer receives confirmation of inbound shipment details.
EDI PlatformAutomated
Invoicing & Camelot Billing
11
EDI invoice (810) — auto-generated by Spring Systems after ASN
Immediately after the ASN (856) is sent, Spring Systems auto-generates and transmits the EDI 810 Invoice. The invoice is linked to the shipment — line items, quantities, and unit prices are pulled from the confirmed PO acknowledgment. Toast confirmation: "Your Invoice(s) was successfully sent." No separate manual step required for Spring Systems retailers.

Example observed: Invoice #17597 for PO21070 (Credo Beauty / Sweed), Invoice Amount: $15,460.00, transmitted same day as ASN.
Spring SystemsAutomated
💡 Spring Systems auto-fires the 810 on ASN send — no manual intervention. This step was previously marked as a manual pain point; it is not, at least for Spring Systems retailers.
12
Compute charges and post in Camelot (Microsoft Dynamics NAV)
Camelot = Microsoft Dynamics NAV / Business Central. Office opens shipment → "Select Charges" dialog → checks applicable charges:

Standard EDI (client: SWEED — e.g., Credo Beauty order):
  • SUPP: Box supplies (e.g., Box 20×14×14 @ $0.74/each)
  • ADMIN Office Admin EDI/Intl Shipping (0.25 HR)
  • ORD WH Wholesale Order Processing (1 ORD)
  • PICK CS Case Pick (per case)
  • PICK IC Inner Carton Pick (per carton)
Example total: $103.44 for a 744-unit order (freight $80.82 separate).

Nordstrom (client: METACINE — per store sub-shipment):
  • CSTM PK Custom Packout ($0.75 flat)
  • ORD EC Ecommerce Order Processing ($2.75 flat)
  • PICK EA Each Pick ($0.50/unit)
  • SUPP Box supply (qty-based)
  • ORD WH Wholesale Order Processing ($2.75)
Each Nordstrom store sub-shipment billed separately. After charges saved, shipment status changes to CHARGED.
Manual — OfficeCamelot (MS Dynamics NAV)Pain Point
4-Phase Automation Plan — Approved Session 2
Phase 1 — Priority
PO Extraction
Parse EDI notification emails, auto-login to EDI portals (no 2FA on most), download POs automatically. Email forwarding to analytics@cremecollective.com is the immediate first step.
Phase 2 — Priority
PO Entry
Automated data entry from extracted PO directly into Camelot. Eliminates Steps 3 and 4 of the EDI flow entirely — the PDF-to-manual-entry loop.
Phase 3
Transportation Routing
Automate TMS portal login and routing authorization for Nordstrom, Bluemercury. Carrier and SCAC code selection logic. Label generation pipeline.
Phase 4
Complex Review & Reconciliation
Codify retailer-specific requirement rules (bagging, labeling, carton marking). Billing reconciliation. Exception handling. Rita transitions to supervisory role.
C

Client Communication Alerts

Identified in Session 2 as the most immediate efficiency gain — lower complexity, high brand-facing value. To be built in parallel with billing automation.
Trigger: Order posted in Camelot
Shipment Posted Alert
Notify brand when an order ships. Can be per-event or grouped end-of-day. Includes tracking number.
Trigger: PO entered + inventory confirmed available
PO Received & Inventory Confirmed
Notify brand when their PO is in the system and inventory is confirmed on-hand and ready to fill.
Trigger: SKU falls below preset threshold
Low Inventory Threshold Alert
Alert brand and internal team when a SKU approaches depletion. Threshold configurable per SKU or per client.
Trigger: PO cannot be fully filled
Order Shortage Alert
Notify brand and internal team when an order is partially or fully short due to insufficient inventory. Include line-level detail.
D

Questions for Danny — What We Still Need

Nordstrom (Path B) and Credo/Spring Systems (Path A) are fully documented from Danny's May 5 recordings. The items below block Phase 3 design, Path C scope, and complete retailer coverage. Grouped by topic — Danny can address in any order or via screen recordings.

🔴 Bamboo Rose — Free People & Urban Outfitters
  • Walk us through a Free People or Urban Outfitters order — same flow as the Credo recording: login to Bamboo Rose, PO download, Camelot entry, shipping labels, ASN send.
  • Can Danny provide a screen recording of a Bamboo Rose PO cycle?
  • Does Bamboo Rose generate the standard 855 / 856 / 810 EDI sequence, or is the process materially different from Spring Systems?
  • Are GS1-128 carton labels generated inside Bamboo Rose, or via an external vendor (Fineline)?
  • Do Free People / Urban Outfitters require a TMS routing step (like Nordstrom), or is it standard carrier billing (like Credo)?
🔴 SPS Commerce
  • Which retailer(s) use SPS Commerce at Sage Distribution? Which brands / SKUs flow through it?
  • Same walkthrough request: login → PO → shipping labels → ASN → invoice → Camelot billing. How similar is this to the Spring Systems flow?
  • Does SPS Commerce also auto-fire the EDI 810 invoice on ASN send, or is there a manual step?
  • Are GS1-128 labels generated inside SPS Commerce, or via Fineline or another external vendor?
🟡 Bluemercury TMS Path
  • What is Bluemercury's TMS portal name / URL? How does Danny log in and submit a routing request?
  • Does the approval come via email (like Nordstrom's Routing@nordstrom.com), or through an in-portal notification?
  • Which carrier and desktop tool does Bluemercury specify — UPS WorldShip (like Nordstrom) or TechShip Desktop?
  • Is it a "Bill Third Party" scenario (retailer pays freight), or does Sage pay and charge back?
  • What EDI platform does Bluemercury use for the 856 / 810 — Spring Systems, SPS Commerce, or something else?
🟡 Fineline & Non-Spring Label Vendors
  • For retailers not on Spring Systems (Bamboo Rose, SPS Commerce): who generates the GS1-128 carton labels?
  • If Fineline is used: what does that workflow look like — portal login, data upload, PDF download? Or is it automated?
  • Does Fineline label generation happen before or after the UPS / TechShip shipping label step?
🟢 System Access & Credentials
  • TecOMS credentials received — dsanz@datastudios.ai, techoms.io (May 2026)
  • Camelot API: Is there an existing API endpoint for creating / updating orders (from the TecOMS integration)? Base URL and auth method — needed for Phase 2 direct PO entry.
  • Shopify credentials (store URL + API key) — needed for DTC integration testing. Via Annie's team?
  • Spring Systems API: Does Sage have API access for reading/writing POs and shipments, or is everything done through the web UI?
  • Email forwarding: Can Danny or Rita set up forwarding of EDI notification emails to analytics@cremecollective.com? This unblocks Phase 1 immediately — no code needed from us.
🟢 EDI Invoicing, Costs & Reconciliation
  • Nordstrom (METACINE): Does Spring Systems also auto-fire the 810 invoice on ASN send, or is there a separate manual step? (Confirmed for Credo — confirming for Nordstrom.)
  • UPS reconciliation: When Sage pays freight (Path A — standard), is there a process to reconcile UPS charges against what's billed to the brand in Camelot? Who owns this — fulfillment or accounting (Diego + Andrea)?
  • Spring Systems automation fees: Danny mentioned ~$50–75/brand/month for automated PO handling. Which brands are currently paying this? This affects the Phase 1 build-vs-buy decision for PO extraction.
  • Product dimensions: Are product dims/weights available anywhere, or does the team need to measure and enter them into Camelot from scratch? This is the single biggest unlock for DTC billing automation.