Wholesale ↔ Retail Inventory System
Stock management system linking a Korean food wholesaler and retailer, integrated with Xero for accounting sync.
- Sync direction
- Wholesaler ↔ Retailer ↔ Xero
- Stack depth
- Spring Boot + AWS + MySQL
- Status
- Delivered (2022)
Context
A Korean food importer / wholesaler in Australia needed their wholesale stock to stay in sync with a retail arm, and with Xero for accounting — without manual double entry.
Challenge
- Wholesaler and retailer operated as separate entities with separate stock books
- Accounting (Xero) was a third source of truth, edited by yet another team
- Manual reconciliation caused stockouts, over-orders, and month-end pain
Solution
A Spring Boot + AWS + MySQL inventory system with three-way sync:
- Wholesale stock → retailer stock (transfer events)
- Retail sales → wholesale replenishment signals
- All inventory movements → Xero journal entries via the Xero API
- JavaScript front-end for warehouse and back-office staff
Results
Delivered in 2022. Month-end reconciliation went from a multi-day spreadsheet exercise to a one-screen check.
What this proves for SJSoftware
Multi-entity ERP-style integrations (custom stack + accounting + retail POS) are deliverable for SMBs — at a fraction of enterprise ERP costs.
Adaptable to multi-entity stock + accounting integration:
- Retail chains — central wholesale stock pushed to multiple stores; per-store sales feed back into replenishment.
- Franchise operations — head-office inventory + per-franchisee POS + central royalty reporting through one accounting integration.
- Wholesale-to-online-store sync — Shopify/WooCommerce as the retail front, Xero/QuickBooks for accounting, custom stack as the source of truth.
- Multi-warehouse inventory — physical stock split across sites, transfer events, par-level reorder points.
If your stock book lives in one place, your sales in another, and your accountant edits a third, the same three-way-sync architecture (custom backbone + accounting API + retail integration) collapses that into one system.