Skip to content

IDEAXProject Delivery Blueprint · SaaS Platform — Web & Mobile

DXB --:--/NYC --:--Online

Trimzo Sales & Invoicing SaaS
Client Partner
Trimzo Hygiene
Target Industry
FMCG Distribution & Field Sales
Platforms
Web · Android
Live URL
Private

Scope Description

Tech Stack

  • Next.js 14
  • TypeScript
  • Tailwind CSS
  • React Native
  • Expo + EAS
  • Supabase
  • PostgreSQL
  • Row-Level Security
  • Recharts

The Challenge

Trimzo's salespeople were billing shopkeepers by hand. The brief: one platform where admins plan the week, salespeople raise a proper invoice at the shop counter in under a minute, and every sale instantly updates stock, customer balances and the dashboard.

  • Field-First
  • Role-Based
  • Real-Time Stock
  • PKR & WhatsApp Native
2
Apps — web portal & Android
1
Shared Supabase backend
2
Roles with row-level security
7
Day route planning per salesperson

Workflow

How a sale moves through the platform — from the admin's weekly plan to the shopkeeper's phone.

AdminSalespersonSystem
  1. Admin

    Set up products, stock & team

    Admin manages the fixed product list and box prices, records stock-in and free samples, and adds, activates or deactivates salespeople.

    • 1 box = 48 pcs
    • 1 carton = 12 boxes
    • Stock-in & samples
  2. Admin

    Plan the week's routes

    Each salesperson gets an area for every day of the week (Mon–Sun), so the field team always knows where to go.

    • Daily Routes
    • 7-day plan
  3. Salesperson

    Log in & see today's route

    Role-based login sends salespeople straight to their dashboard — today's route card, invoice count and recent invoices.

    • Role-based routing
    • Supabase Auth
  4. Salesperson

    Create the invoice at the shop

    Enter shopkeeper details and snap a photo of the shop, pick products from a dropdown — box price auto-fills — and enter quantity in boxes. The bill summary updates live.

    • Camera / gallery photo
    • Auto-filled prices
    • Live bill summary
  5. System

    Find-or-create the customer

    On save, a database function normalises the Pakistani mobile number, links the invoice to an existing customer or creates a new one, and issues the next sequential invoice number.

    • create_invoice_with_customer()
    • normalize_pk_mobile()
    • TZ-2026-000001
  6. Salesperson

    Share the bill on WhatsApp

    A branded PDF invoice is generated on the phone and shared with the shopkeeper on WhatsApp in one tap.

    • PDF generation
    • WhatsApp share
  7. System

    Stock & balances update themselves

    Current stock is calculated as stock-in − sold − samples, and customer balances are derived from invoices — never stored twice, so the numbers can't drift.

    • No denormalised balances
    • Low-stock alerts
  8. Admin

    Track performance

    The admin dashboard shows summary cards, a revenue chart, a salesperson leaderboard, low-stock alerts, outstanding customers and full customer records.

    • Recharts
    • Leaderboard
    • Outstanding customers

Core Modules

Role-based access

Admin and Salesperson roles enforced in the database with Row-Level Security and a security-definer is_admin() check.

Smart invoicing

Sequential invoice numbers, PKR formatting, Pakistani mobile validation and box-based quantities.

PDF + WhatsApp

Every bill becomes a clean PDF that the salesperson shares with the shopkeeper on WhatsApp.

Live inventory

Fixed product catalogue with stock-in, free samples and sold units — stock is always calculated, never guessed.

Daily routes

A weekly area plan per salesperson, surfaced as a "today's route" card on their dashboard.

Customer records

Searchable shopkeeper records with shop photos, scoped by role, linked automatically by phone number.

Admin analytics

Revenue chart, leaderboard, low-stock alerts and outstanding balances in one dashboard.

Built for Pakistan

Asia/Karachi timezone, PKR currency and local phone formats throughout.

Architecture

Deployed web app

Admin Web Portal

  • Next.js 14
  • TypeScript
  • Tailwind CSS
  • Recharts

Android via EAS Build

Salesperson App

  • React Native
  • Expo
  • TypeScript
  • PDF + Share

Supabase

Shared Backend

  • PostgreSQL
  • Auth
  • Row-Level Security
  • RPC Functions
  • Storage

Data model

  • users / salespeople
  • customers
  • invoices
  • invoice_items
  • products
  • stock_movements
  • routes
  • customer-images (storage)
Client
Trimzo Hygiene
Platforms
Web · Android
Designed & Built by
IdeaX Dubai

Contact IdeaX Dubai to create a similar custom software or luxury storefront optimized for your business.