Skip to main content

In production with retail businesses

Multi-Shop POS & Inventory App (React Native)

A React Native POS and inventory app for multi-shop retail, in production use with retail businesses. One codebase serves four permission tiers, from full cross-branch oversight down to a salesman's read-only product view.

  • 4permission tiers
  • Multi-shopconsolidated reporting
  • Livein use by retail businesses
POS inventory mobile app salesman view of available products by warehouse
React Native POS inventory app consolidated profit report screen
Commission calculator screen by employee and date range in a POS app

The problem

Retailers with several shops need one owner-level picture of profit, purchases and stock, while each branch must only ever see its own numbers. Spreadsheets and shared logins blur that line and hide who did what.

The solution

Row-level, branch-scoped RBAC means a Branch Admin can only query their own shop's records, while a Super Admin sees consolidated figures across every branch. Stock, purchase invoices, deposits, expenses and commissions all live in the same permission model.

Key features

  • Branch-scoped RBAC

    Four roles on a single codebase, with data scoped so a Branch Admin never sees another branch.

  • Consolidated financials

    Gross profit, net profit, tax paid and commission roll-ups, aggregated across shops or filtered per branch.

  • Inventory and purchase tracking

    Warehouse-aware product availability, consolidated purchase invoices, and searchable stock ledgers.

  • Deposits, expenses and commission

    Cash deposits with payment scope and receipt images, expense types, and a commission calculator by employee and date range.

The four permission tiers

  • Super Admin (L4): consolidated visibility across every shop, including cross-branch profit, purchases, expenses and commission reporting.
  • Branch Admin (L3): scoped strictly to one branch, managing that shop's inventory, invoices, deposits and expenses.
  • Stock Manager (L2): owns stock tasks such as purchase invoices, consolidated stock counts and warehouse-level availability.
  • Salesman (L1): a read-only view of products available for sale, with no access to purchase, financial or cross-branch data.

My role

Mobile developer: app architecture, role-based navigation, reporting screens and API integration.

Tech stack

  • React Native
  • TypeScript
  • Node.js
  • Express
  • Prisma
  • MongoDB

Screens

Branch Admin: consolidated profit, tax and MRP breakdown
Salesman view: available products by warehouse
Commission calculator by employee and date range
Stock Manager: full product catalog with search
Purchase invoices by supplier and date range
Consolidated purchase ledger
Expense type management
Logging a branch expense
Cash deposits filtered by shop and employee
Adding a deposit with scope, mode and receipt image

Work like this for your team

Building something similar?

I'm open to remote React Native roles worldwide and to projects in Rawalpindi, Islamabad and across Pakistan.