BDPOS — Multi-Tenant SaaS POS System for Bangladeshi SMEs

The Challenge
Small and medium businesses in Bangladesh lacked an affordable, locally-compliant POS system that supported Mushak VAT forms, local payment gateways (bKash, Nagad, SSLCommerz), and multi-branch management — all in a single platform.
Our Solution
We architected and built BDPOS — a multi-tenant SaaS POS platform using the MERN stack. The system supports role-based access (owner, manager, cashier), real-time inventory tracking, Bangladesh VAT compliance with Mushak 6.3 challan generation, and integrations with bKash, Nagad, and SSLCommerz.
The Outcome
BDPOS successfully handles the full retail workflow — from product management to sales, invoicing, VAT reporting, and payment collection. The Mushak 6.3 challan generates and prints as a PDF directly from the dashboard, saving businesses hours of manual work per week.
Architecture Supporting Multiple Businesses
VAT Challan Auto-Generation
Payment Gateways Integrated
Full Build Timeline
Discovery & Planning
The Bangladesh SME market had a clear gap — existing POS solutions were either too expensive, not VAT-compliant, or didn't support local payment methods. We began with a deep research phase: interviewing small business owners, studying the NBR Mushak 6.3 form requirements, and mapping the multi-tenant data architecture. The result was a detailed technical specification covering RBAC, tenant isolation, VAT schema, and payment flow.
Design & Build
The frontend was built in React with Redux Toolkit for state management and Tailwind CSS for the UI. The backend used Node.js + Express with a MongoDB database using tenant-scoped collections. JWT-based authentication handled role separation (owner → manager → cashier). PDFKit was integrated server-side for Mushak 6.3 challan generation. SSLCommerz, bKash, and Nagad SDKs were integrated for payment processing. The admin dashboard included real-time sales charts, inventory alerts, and branch-level reporting.
Testing & Launch
We ran unit tests on the VAT calculation engine and payment callback handlers. Multi-tenant isolation was stress-tested with concurrent tenant sessions. The Mushak challan PDF was validated against NBR format requirements. Deployed to Railway (backend) and Vercel (frontend) with environment-based config separation.
"BDPOS handles everything we used to do manually — inventory, VAT, payments. The Mushak challan alone saves us hours every week."
Frontend
- React.js
- Redux Toolkit
- Tailwind CSS
- Recharts
Backend
- Node.js
- Express.js
- REST API
Database
- MongoDB (multi-tenant, indexed collections)
Auth
- JWT
- Role-Based Access Control (RBAC)
- PDFKit (Mushak 6.3 VAT Challan)
Payments
- SSLCommerz
- bKash API
- Nagad API
Deployment
- Vercel (frontend)
- Railway (backend)
