← All work
Hospitality Wholesale Company

M-Pakk Manager

Enterprise ERP platform for distribution and wholesale: multi-warehouse inventory, customer orders, vendor management, Shoprenter sync, and Billingo invoice automation.

Role
Solo developer, database to deployment
Client
Hospitality Wholesale Company
Tech and integrations
React, Ant Design, Shoprenter, Billingo, AWS SDK, PM2
M-Pakk Manager product screenshot

The challenge

M-Pakk Manager is a full-stack, enterprise-grade ERP and operations management platform built to centralize supply chain, inventory, and order fulfillment operations. The system manages everything from customer orders and purchase orders to multi-warehouse inventory, vendor management, financial tracking, and e-commerce integration, all in a single, cohesive platform.

Small-to-medium distribution and wholesale businesses often outgrow their initial tooling before they can afford large off-the-shelf ERP systems. The specific challenges this platform was built to solve:

  • No single source of truth for stock levels across multiple warehouse locations
  • Customer orders, vendor purchase orders, and payment records tracked in disconnected spreadsheets
  • No automated syncing between internal inventory and the public-facing webshop
  • Invoice generation was manual and error-prone
  • No visibility into daily, monthly, or yearly sales performance
  • Onboarding new staff was difficult with no role-based access control

The solution

A purpose-built, full-stack web application that acts as the single source of truth for all order, inventory, and financial operations.

01

Order & Customer Management

  • Full customer lifecycle: categories, contact info, currencies, payment methods
  • Customer orders with line items, status tracking, digital signature capture, and payment recording
  • Comment threads on customers and orders for team collaboration
02

Purchase Orders & Vendor Management

  • Manage vendor relationships and purchase orders end-to-end
  • Receipt tracking: log goods received line-by-line against a purchase order
  • Separate payment tracking for both sales and procurement
03

Multi-Warehouse Inventory

  • Real-time stock levels per product per warehouse location
  • Inter-warehouse transfer requests with full audit trail
  • Price list management with dynamic pricing support
04

Product Catalog & Webshop Sync

  • Centralized product catalog with categories, images, and pricing
  • Automated quantity syncing to Shoprenter via scheduled cron job (every 10 minutes during business hours)
  • Webhook listener for inbound events from the webshop
05

Dashboard & Reporting

  • Role-differentiated dashboards: daily, monthly, and yearly sales summaries
  • Coverage reports and top-product rankings
  • Separate views for internal operations and webshop performance
06

Scheduled Jobs & Automation

  • Webshop product quantity sync runs on a cron schedule (every 10 min, 04:00–20:00)
  • Automated nightly MongoDB backup at 02:00
  • All cron jobs disabled in development; production-only via PM2 cluster instance check
07

Integrations

  • Billingo: automated invoice generation via the Billingo API
  • Shoprenter: bidirectional product and quantity sync with the webshop
  • AWS SDK: cloud storage integration for file assets
  • Nodemailer: email notification support

Scope and scale

100+
REST API endpoints
spanning customers, orders, products, vendors, warehouses, purchase orders, receipts, transfers, payments, and integrations
25+
database entities
across the full logistics and sales domain, with 20+ versioned migrations
14
frontend page modules
with full CRUD and workflow UIs
30+
reusable React components
built on Ant Design
Multi-warehouse support
with per-location inventory tracking
Role-based access control
differentiated by access level across all views and actions
The outcome

M-Pakk Manager replaced a fragmented, manual workflow with a unified platform covering the full lifecycle from vendor purchase to customer delivery.

Stock levels became visible in real-time across all warehouses, webshop quantities stayed in sync automatically, and invoices that previously required manual entry now generate via API on order completion. The role-based dashboard gives every team member, from warehouse staff processing receipts to managers reviewing monthly coverage, exactly the data relevant to their role.