Open a product to view its history.
Dashboard
Welcome back, Cam
Add Product
Create a new base product
Purchase Orders
Manage factory POs
Customers
B2B customer directory
Settings
Configure system
| Order # | Customer | Items | Status | Factory |
|---|---|---|---|---|
| Loading... | ||||
Order Management
Synced from Shopify
| Order # | PO # | Customer | Factory | Display Name | Items | Date | Status | ETD | Tracking | Carrier | Msg | Files | Actions | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No orders yet. Orders will appear here once synced from Shopify. | ||||||||||||||
Product Database
| Code / SKU | Type | Description | Category | Factory | Customer | Sync | Actions | ||
|---|---|---|---|---|---|---|---|---|---|
| No products yet. Add products to get started. | |||||||||
Purchase Orders
| PO Number | Factory | Orders | Items | Total | Currency | PO Status | Order Statuses | Payment | 📎 | 💬 | Created | ETD | Actions |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| No purchase orders yet. Create a PO from the Orders page. | |||||||||||||
Customers
Customers synced from Shopify
| Code | Business Name | Main Contact | Users | Type | Tags | Currency | Markup Tier | Actions |
|---|
Factories
| Code | Factory Name | Location | Lead Time | Sample Cost | MOQ | Base Products | Customer Products | Contact | Actions |
|---|
Financials
Revenue, COGS, margin. COGS = buy + freight + branding (per-unit, locked at PO submit).
Monthly trend
Revenue (purple) vs COGS (light) per month. Margin shown above each bar.
| SKU | Qty | Sell | Buy | Freight | Brand | COGS | Margin |
|---|
Payments
Group POs into a single payment run (like a bank transfer covering several invoices). Mirrors Freight, one tier up.
Unpaid POs not yet in a payment. Tick POs from the same factory, then create a payment. Enter the reference, FX, banking fees & attachments on the panel that opens.
0 selected| PO # | Factory | Status | Payment | Total | NZD | ETD | Created | ||
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
| Run # | Status | POs | Factory | Method | Reference | Total | NZD | Paid | Created |
|---|---|---|---|---|---|---|---|---|---|
| No payment runs yet. | |||||||||
Quotes
Build a quote from DB or custom products with quantity-break pricing, send a scrubbed online quote with Accept/Decline, then convert to a customer & Shopify draft order.
| Quote # | Recipient | Status | Items | Total | Valid until | Created |
|---|---|---|---|---|---|---|
| Loading… | ||||||
Freight & Shipments
Consolidate PO line items into shipments, then allocate the freight cost back onto each PO by volume (qty × vol m³).
Line items on open POs not yet in a shipment. Tick items across any POs/factories, then create a shipment. Selecting part of a PO splits it automatically.
| PO # | Order # | Customer | Style | Qty | vol m³/unit | Volume m³ | Factory | ||
|---|---|---|---|---|---|---|---|---|---|
| Loading… | |||||||||
Settings
Admin Users
Each admin signs in with their own email + password. Tick what they can access; the Owner always has full access. Use "Send password link" to email a one-time link to the user.
| User | Access | Status | Actions |
|---|---|---|---|
| Loading… | |||
Add a user
Demo Accounts — logins for the demo at /demo
Quickly disable or reset the throwaway logins for the demo (/demo/admin, /demo/factory, /demo/customers). Shown in plain text on purpose — these are demo-only accounts.
| Portal | Status | |
|---|---|---|
| Loading… | ||
Vendors — brands shown as tiles in the customer portal Stock area
Loading…
Order Statuses
Status options for Orders (OMS). Drag to reorder.
Status Colors
Color coding for order statuses in table view.
Purchase Order Statuses
Status options for Purchase Orders. Drag to reorder.
Payment Statuses
Payment status options for Purchase Orders.
Order Views
Tab views for filtering orders by Shopify tag. Each view filters the Orders(OMS) table by the specified tag.
Product Categories
Technique
Colours
Neckline / Waist
Gender
Stock Product Default Tags
Tags added here are auto-applied to every new Stock Product on top of the category/neckline/gender auto-tags.
Size Groups (max 12 sizes per group)
| Group Name | Sizes | Actions |
|---|
Measurement Types (max 6 per product)
Pricing Formula
How sell prices are calculated from buy prices.
Default Carrier Options
Available carriers for purchase orders.
Default Markup Tiers
This entire table is the default. Used for customers without custom markup tiers.
| Code | Markup % | Multiplier |
|---|
Default FX Rates
Exchange rates from USD. Used in pricing calculations. Compare with live rates.
| Currency | Manual Rate | Live Rate | Last Updated |
|---|
Shopify B2B Catalogs OFF
Master kill switch for the B2B Catalog sync. OFF means existing product sync behaves exactly as today. Flip ON only after catalogs are created in Shopify and a test order has been verified.
Plan doc: project-documentation/B2B-CATALOGS-PLAN.md
Shopify Sync Audit
Compare every OMS product against its Shopify record. Read-only — no changes to Shopify or the OMS.
Database Backups
Daily automatic backup at 02:00 NZT. Backups are stored in ImageKit under /db-backups.
Loading…
Shopify Integration
Metafield Mapping
Map Shopify product metafields to OMS fields. These are pushed when syncing products to Shopify.
Loading metafield mappings...
Email Settings (SMTP)
SMTP credentials are stored securely as Heroku environment variables. Set them via the Heroku CLI or dashboard.
Email Notification Templates
Customise the subject and body of each automated email. Use {{variable}} placeholders — see each template's variable list. The SourceEZ purple header/footer is added automatically and isn't editable here.
Loading templates…
Message Center
Communication hub for orders and factories
Approval Center
Factory changes requiring admin approval
| Date | Factory | Type | Reference | Changes | Status | Actions |
|---|---|---|---|---|---|---|
| No pending approvals | ||||||
Lead Generation
Personalised cold outreach — build templates, send leads product-card emails, track replies, convert to customers.
| Name / Company | Status | Sent | Last sent | Actions | |
|---|---|---|---|---|---|
| Loading… | |||||
Every send, with delivery + tracking. Opens are unreliable (image proxies/pre-fetch); clicks and replies are the signal.
| When | Lead | Subject | Status | Opens | Clicks | Template | |
|---|---|---|---|---|---|---|---|
| No sends yet. | |||||||
Applied to the bottom of every lead email. Use the HTML block and/or an uploaded image.