Welcome back
Sign in to access the Legend Linen operations platform.
Incorrect email or password. Please try again.
Email address
Password
Connect to Shopify
Enter your store domain and Admin API access token to load catalogue data.
Store domain
Admin API access token
Not connected
NetSuite(beta)
🌙
MK
Overview
Dashboard
Catalogue
Products
Images
Stock
Operations
Promotions
Promo Handouts
Orders
Fulfilment
Bulk Tools
Bulk Blurbs
Bulk Images
Integrations
NetSuite BETA
System
Sync status
Documentation
Light mode
Shortcuts
Settings
Dashboard
Connecting to Shopify...
Fetching live data from Shopify...
Total products
Active SKUs
Missing images
Low / out of stock
Total units
Across all SKUs
Catalogue health
Descriptions
Images
In stock
Brands
Integration pipeline
Shopify Admin API
legendlinen.myshopify.com · products · inventory · orders
Connected
Cloudflare Worker
nexus-shopify-worker.muthukamalesh.workers.dev
Live
StarShipIt
Direct Freight Express connected · Account 21483 validated
Connected
Storefront API token
Required for live stock lookup · 10 min to set up
Not set
NetSuite REST API
Sandbox · Account 9113146_SB1 · Testing connection...
Connecting
Products
Loading from Shopify...
ProductSKUBrand StockImageDescActions
Loading products...
Image manager
Loading image status...
Drop images here or click to browse
Name files by SKU for auto-matching · PNG, JPG, WEBP
Products missing images
Stock management
Live from Shopify · NetSuite auto-sync activates once credentials arrive
In stock
SKUs with > 10 units
Low stock
SKUs with 1–10 units
Out of stock
SKUs with 0 units
ProductSKUBrandUnitsLevelStatusEdit
Orders
Loading...
Total orders
All time
Awaiting fulfilment
Need action
Loading orders...
Receive live orders: Shopify Admin → Settings → Notifications → Webhooks → Order creation → URL: https://nexus-shopify-worker.muthukamalesh.workers.dev/webhook/orders
Fulfilment
StarShipIt · Direct Freight Express · automated label generation
StarShipIt status
Active
30-day trial · connected
Direct Freight
Validated
Account 21483 · Clayton VIC
DF label approval
Pending
Email sent to DF support
Automation flow — how an order becomes a label
1 · Shopify order placed
Customer completes checkout · Shopify fires a webhook
Live
2 · Cloudflare Worker receives webhook
nexus-shopify-worker.muthukamalesh.workers.dev/webhook/orders
Live
3 · StarShipIt creates consignment
Worker calls StarShipIt API · order + address + carton 60×40×30cm 8kg
Worker deploy needed
4 · Direct Freight label generated
StarShipIt calls DF API · returns tracking number + label PDF
Worker deploy needed
5 · Tracking written to Shopify
Customer notified · order marked Fulfilled
Worker deploy needed
6 · Manifest sent to Direct Freight
Auto-manifested before 6:30pm cutoff · driver pickup confirmed
Worker deploy needed
StarShipIt configuration
Pickup address
40-42 Winterton Road, Clayton VIC 3168
Saved
Direct Freight account
Account 21483 · Site ID 0 · API keys entered
Validated
Default carton size
Standard Carton · 60 × 40 × 30 cm · 8 kg default weight
Configured
Product codes
ITEM · PALLET
Ready
API keys
StarShipIT-Api-Key + Ocp-Apim-Subscription-Key generated
Generated
DF label approval
Test label emailed to [email protected]
Awaiting reply
Next steps to go live
Deploy Worker to Cloudflare
Add 4 environment secrets → replace worker code → test with /test endpoint
Action needed
Await DF label approval
Direct Freight must approve the label format before live consignments
Waiting
VNMT Solutions credentials
NetSuite Account ID · Consumer Key · Consumer Secret · Token Secret
Pending
End-to-end test order
Place a Shopify test order → confirm label prints at Clayton warehouse
Not started
Sync status
Shopify ↔ NEXUS ↔ NetSuite — live integration pipeline
Shopify — connected
Live
Products & images → Shopify
Upload via NEXUS · pushes via Admin API instantly
Stock levels ↔ Shopify
Manual now · auto every 15 min once NetSuite connects
Orders ← Shopify webhook
Real-time · fires to Cloudflare Worker on each order
Trade approvals ← Shopify
Sync to NetSuite when connected
NetSuite — awaiting credentials
Pending VNMT Solutions
Account ID
9113146 — confirmed
✓ Confirmed
Consumer Key + Consumer Secret
From Integration Record — VNMT Solutions to provide
Missing
Token ID + Token Secret
From Access Token — VNMT Solutions to provide
Missing
Cloudflare Worker (NetSuite sync)
Ready to build · 2 days once credentials arrive
Not deployed
Auto sync schedule once NetSuite connects
Stock levels
NetSuite → Shopify
Every 15 min
Wholesale pricing
NetSuite → Shopify
Nightly 2am
New products / catalogue
NetSuite → Shopify
Nightly 2am
Orders placed on Shopify
Shopify → NetSuite
Real-time
Trade account approvals
Shopify → NetSuite
On approval
Bulk Blurbs
Upload Sub Form Excel files · match SKUs · push BLURB to Shopify body_html
1
Upload
2
Preview
3
Match
4
Done
Drop your Sub Form .xlsx files here
AW25 · SS24 · SS25 — upload all 3 at once
What to push to Shopify
Bulk Images
Upload product images and match to Shopify by filename SKU
Bulk image upload
Coming next build
Drop a folder of images named by SKU (e.g. 1195200303177.jpg) and NEXUS will match each image to its Shopify product and upload via the Admin API.

Feature available in the next build cycle · 753 products currently missing images.
Promotions
Select products, set individual discounts, push to Shopify
Promotion settings
Default discount %
% off RRP
Promo end date (optional — auto-reverts on this date)
Selected
0
Loading...
Product Brand SKU Original Price Discount % Sale Price Expiry Status
Orders
Loading...
Total orders
All time
Awaiting fulfilment
Need action
Loading orders...
Receive live orders: Shopify Admin → Settings → Notifications → Webhooks → Order creation → URL: https://nexus-shopify-worker.muthukamalesh.workers.dev/webhook/orders
Fulfilment
StarShipIt · Direct Freight Express · automated label generation
StarShipIt status
Active
30-day trial · connected
Direct Freight
Validated
Account 21483 · Clayton VIC
DF label approval
Pending
Email sent to DF support
Automation flow — how an order becomes a label
1 · Shopify order placed
Customer completes checkout · Shopify fires a webhook
Live
2 · Cloudflare Worker receives webhook
nexus-shopify-worker.muthukamalesh.workers.dev/webhook/orders
Live
3 · StarShipIt creates consignment
Worker calls StarShipIt API · order + address + carton 60×40×30cm 8kg
Worker deploy needed
4 · Direct Freight label generated
StarShipIt calls DF API · returns tracking number + label PDF
Worker deploy needed
5 · Tracking written to Shopify
Customer notified · order marked Fulfilled
Worker deploy needed
6 · Manifest sent to Direct Freight
Auto-manifested before 6:30pm cutoff · driver pickup confirmed
Worker deploy needed
StarShipIt configuration
Pickup address
40-42 Winterton Road, Clayton VIC 3168
Saved
Direct Freight account
Account 21483 · Site ID 0 · API keys entered
Validated
Default carton size
Standard Carton · 60 × 40 × 30 cm · 8 kg default weight
Configured
Product codes
ITEM · PALLET
Ready
API keys
StarShipIT-Api-Key + Ocp-Apim-Subscription-Key generated
Generated
DF label approval
Test label emailed to [email protected]
Awaiting reply
Next steps to go live
Deploy Worker to Cloudflare
Add 4 environment secrets → replace worker code → test with /test endpoint
Action needed
Await DF label approval
Direct Freight must approve the label format before live consignments
Waiting
VNMT Solutions credentials
NetSuite Account ID · Consumer Key · Consumer Secret · Token Secret
Pending
End-to-end test order
Place a Shopify test order → confirm label prints at Clayton warehouse
Not started
Sync status
Shopify ↔ NEXUS ↔ NetSuite — live integration pipeline
Shopify — connected
Live
Products & images → Shopify
Upload via NEXUS · pushes via Admin API instantly
Stock levels ↔ Shopify
Manual now · auto every 15 min once NetSuite connects
Orders ← Shopify webhook
Real-time · fires to Cloudflare Worker on each order
Trade approvals ← Shopify
Sync to NetSuite when connected
NetSuite — awaiting credentials
Pending VNMT Solutions
Account ID
9113146 — confirmed
✓ Confirmed
Consumer Key + Consumer Secret
From Integration Record — VNMT Solutions to provide
Missing
Token ID + Token Secret
From Access Token — VNMT Solutions to provide
Missing
Cloudflare Worker (NetSuite sync)
Ready to build · 2 days once credentials arrive
Not deployed
Auto sync schedule once NetSuite connects
Stock levels
NetSuite → Shopify
Every 15 min
Wholesale pricing
NetSuite → Shopify
Nightly 2am
New products / catalogue
NetSuite → Shopify
Nightly 2am
Orders placed on Shopify
Shopify → NetSuite
Real-time
Trade account approvals
Shopify → NetSuite
On approval
Bulk Blurbs
Upload Sub Form Excel files · match SKUs · push BLURB to Shopify body_html
1
Upload
2
Preview
3
Match
4
Done
Drop your Sub Form .xlsx files here
AW25 · SS24 · SS25 — upload all 3 at once
What to push to Shopify
Bulk Images
Upload product images and match to Shopify by filename SKU
Bulk image upload
Coming next build
Drop a folder of images named by SKU (e.g. 1195200303177.jpg) and NEXUS will match each image to its Shopify product and upload via the Admin API.

Feature available in the next build cycle · 753 products currently missing images.
Promotions
Select products · set discount · push sale prices to Shopify
Discount settings
Discount %
% off RRP
Promotion label
Selected for promotion
0
Product Brand SKU Current price Compare at Sale price Status
Add new product
Product title
SKU code
Brand
Category
Price (ex GST)
Description (optional)
Edit product
Product title
Description
Brand
Status
Update stock
SKU
Current quantity
New quantity
Import products via CSV
Drop CSV or click to upload
Columns: Title · SKU · Brand · Description · Price
Bulk stock update
Drop CSV or click
Columns: SKU · Quantity
Export Promotional Handout PDF
Edition title
Reference code
Valid from
Valid to
The handout opens in a new tab. Once it loads, hit ⌘P (or Ctrl+P) and choose Save as PDF in the print dialog. Layout is A4 landscape, print-optimised. Brand logos load from assets/ — make sure they’re deployed alongside index.html.
NEXUS Assistant
AI-powered operations guide
N
Good morning! I'm your NEXUS operations assistant for Legend Linen. I can help you navigate the platform, explain features, and guide your CS team step by step.

What would you like to do today?
Quick actions
Documentation
How NEXUS is built — platform architecture, feature guides & CS handbook
NEXUS is the central operations platform for Legend Linen, connecting Shopify, StarShipIt, and NetSuite into one interface. Use this documentation to understand how everything is built and how to use it.
Platform Architecture
How NEXUS is built — Cloudflare Pages, Workers, Shopify API, and the data flow between them.
Technical
Dashboard
Understanding the live metrics, catalogue health bars, brand breakdown, and integration pipeline status.
Guide
Products Catalogue
Browsing, filtering by brand/stock, editing product titles & SKUs, and managing inventory levels.
Guide
Bulk Blurbs Importer
Import product descriptions from Excel season files and push them to Shopify in bulk using the Worker API.
Bulk Tool
Promotions
Setting sale prices across products, applying % discounts, managing compare-at prices in Shopify.
Operations
Fulfilment & StarShipIt
Direct Freight Express integration via StarShipIt, shipping label generation, and order dispatching.
Operations
Orders
Viewing Shopify orders, financial status, fulfilment status, and customer details.
Guide
Images Manager
Auto-match product images by SKU, upload and assign images, track products missing photography.
Catalogue
CS Team Quick Start
Step-by-step guide for Customer Service team members — how to find products, check stock, and handle common tasks.
CS Handbook
Promo Handouts
Upload an Excel of SKUs + discounts · preview pricing · export a print-ready PDF handout for sales reps · push prices to Shopify
Required columns: SKU and DISCOUNT_PCT (e.g. 20 for 20% off)  ·  Optional: LABEL (e.g. "Sale"), OVERRIDE_PRICE (fixed price override)
1
Upload
2
Review
3
Push
4
Results
📊 Drop your Excel promo file here
or click to browse · .xlsx or .xls files
Order #—
Loading...
Loading order details...
NetSuite Integration
Sandbox · Account 9113146_SB1 · HMAC-SHA256 Token-Based Auth
Testing NetSuite connection...
Sending OAuth 1.0 HMAC-SHA256 signed request to sandbox
Connection Details
Account ID9113146_SB1
EnvironmentSandbox
Auth methodOAuth 1.0 Token-Based Authentication (TBA)
SignatureHMAC-SHA256 ✓ Implemented
Worker endpointnexus-shopify-worker.muthukamalesh.workers.dev
SuiteTalk URL9113146-sb1.suitetalk.api.netsuite.com
API formatREST Record API v1 + SuiteQL
Metadata access