Voxen logo
Back to Home
Case Study · Wholesale Fashion

One platform for the showroom, the warehouse and the storefront.

Replacing spreadsheets with variant-aware inventory, barcode workflows and bi-directional Shopify sync — built on Next.js + MongoDB Atlas.

Industry
Wholesale Fashion & Ecommerce
Outcome
Checkout from 45s → under 5s
Stack
Next.js · MongoDB Atlas · Shopify API
Engagement
End-to-end
01Client Overview

The client.

The client operates a wholesale clothing business across a physical showroom and a Shopify storefront. Before our work, every inventory decision lived in spreadsheets — sales, barcodes, stock and reporting were disconnected.

02Business Challenges
  • Spreadsheet-based inventory management
  • No barcode workflow
  • Slow showroom checkout
  • Recurring inventory mismatches
  • No centralized reporting
  • No unified dashboard
  • No real-time synchronisation
03Project Goals
  • Build a single source of truth for inventory
  • Make showroom checkout instant
  • Sync stock, sales and products with Shopify both ways
  • Give the owner real-time business insight
04Solution Overview

How we built it.

A full-stack web application built with Next.js, MongoDB Atlas, the Shopify Admin API, a barcode system (bwip-js + BarcodeDetector API) and an analytics dashboard. Products are variant-first; every variant gets an auto-generated SKU and barcode; sales reduce stock everywhere in real time.

05System Architecture

End-to-end flow.

Showroom (Scanner / Mobile Camera)
Next.js App + API Routes
MongoDB Atlas — Single Source of Truth
Shopify Admin API (Two-Way)
Online Storefront
Sales & Sync Loop
Scan Barcode
Variant Lookup
Negotiated Price (optional)
Stock −1 in DB
Shopify Inventory −1
Sale Recorded → Dashboard
06Technical Implementation

Inside the platform.

Product Management

Variant-first model. Each variant stores size, cost price, selling price, stock — profit margin is computed automatically.

  • Sizes: S / M / L
  • Auto profit margin
  • Variant-aware stock
Barcode System

Every variant gets a unique SKU and a CODE-128 barcode generated via bwip-js, ready to print directly from the dashboard.

  • Auto SKU (e.g. SP-4500-S)
  • CODE-128 generation
  • Printable sheets
Scanning — Desktop & Mobile

USB scanner support on desktop, BarcodeDetector camera scanning on mobile — both open the same popup sales flow with negotiated pricing.

  • Instant variant lookup
  • Negotiation mode
  • Real-time stock −1
Shopify Sync

Products & variants push to Shopify as drafts; order webhooks pull sales back. Stock stays consistent in both directions.

  • System → Shopify: products, variants, inventory
  • Shopify → System: orders, stock, sales
Dashboard Analytics

Revenue, profit, units sold and remaining inventory — plus daily revenue and profit trends.

07Core Features

What it does.

Variant-level product management (size / price / stock)
Auto-generated SKU (e.g. SP-4500-S)
CODE-128 barcodes via bwip-js — printable
USB-scanner desktop checkout
Mobile camera scanning (BarcodeDetector API)
Negotiated pricing flow
Bi-directional Shopify sync (products, variants, stock)
Order webhooks → automatic stock deduction
Returns with inventory restoration (system + Shopify)
Revenue, profit, units & inventory dashboard
JWT auth + protected routes
08Technology Stack

Under the hood.

Frontend
Next.js
React
Tailwind CSS
Backend
Node.js
Next.js API Routes
Database
MongoDB Atlas
Integrations
Shopify Admin API
Shopify Webhooks
Barcode
bwip-js
BarcodeDetector API
Hosting
Vercel
09Business Impact

Measurable results.

−90%
Manual inventory work
45s → <5s
Checkout time
0
Inventory mismatches
Real-time
Stock visibility
10Scalability

Variant-first schema and stateless API routes mean new locations, users and Shopify stores can be onboarded without re-architecting.

11Future Roadmap
01
CSV bulk imports
02
Role-based permissions
03
Advanced analytics (cohorts, sell-through)
04
One-click product publishing
Ready to start

Got a project like this? Let's talk.

Start a Project →