Business Client need Mobile App Development

Contact person: Business Client

Phone:Show

Email:Show

Location: Cape Town, South Africa

Budget: Recommended by industry experts

Time to start: As soon as possible

Project description:
"Mobile POS System with Licensing, Inventory, GRV & Bilingual UI (Flutter Preferred)


---

Project Overview

I am looking for a developer to build an MVP (Minimum Viable Product) for a Mobile Point of Sale (POS) System targeted at informal and small businesses (bodegas, tuck shops, spaza shops, kiosks).

The system must include:

A full mobile POS app (Android)

A simple admin backend

A strong licensing/subscription system

Amharic + English language support (interface only)

Inventory management with Goods Receiving Vouchers (GRV)


This MVP must be stable, clean, and structured for future expansion.


---

Core Objectives

Build a smooth, fast mobile POS app suitable for low-end Android tablets and devices

Implement a robust license-check system

Provide full Amharic & English UI switching

Enable shops to manage inventory, receive stock, record sales, and view reports

Design the app to work online, with auto-sync

(Optional) Owner can access sales data on his personal device, a simple app or web app to see store performance, day sale and low stock alerts



---

Key MVP Features


---
1. User Authentication

The system must support secure user login and role-based access control.

User Roles

Owner (Full Access)

Complete access to all features

Manage and add users

View all reports

Manage licensing information (optional)


Supervisor (New Role — Required)

Supervisors must have elevated management access, but not full Owner permissions.

Supervisor permissions include:

Edit/Add/Delete all products

Process GRVs (full access)

Run a complete stock take

Access inventory adjustment screens

View reports

Cannot manage licenses

Cannot manage user accounts

Cannot do sales


Cashier (Restricted Access)

Sales only

Can view products but cannot edit or change prices

No access to GRV, stock take, or reports





---

2. Licensing System (Critical Requirement)

The app must validate licenses daily.

Each user license must include:

License start date

License expiry date

License status (Active/Expired)


If a license is expired:

The app must block access

Display a message:
“Your license has expired. Please contact support to renew.”



---

3. Bilingual User Interface (Mandatory)

The entire UI must support:

Amharic
English

Users must be able to switch languages from the profile screen.

Product names, Receipts and custom user entries are not translated — only system UI text.



---

4. Product Management

The product system must allow shop owners to easily manage items, pricing, barcodes, and inventory levels.
A flexible Unit of Measure (UoM) system is required to handle different packaging sizes under one product.

Core Product Fields

Product name

Category / Department

Size (e.g., 440ml, 1kg)

Selling price

Base unit barcode

Alternative lookup (optional secondary search field)

On-hand stock quantity

Cost price (used for GRV comparison)

Unit of Measure (UoM) Structure — Mandatory Requirement

Each product must support up to four linked units of measure, all mapped to the same inventory item.
This ensures that selling or receiving any packaging size keeps stock counts accurate.

Required UoM Levels

1. Base Unit

Example: Coca-Cola 440ml (single bottle)

Represents 1 base unit

Has its own barcode



2. UoM Level 2 — Optional

Example: Coca-Cola 6-Pack

Represents 6 base units

Each has its own barcode



3. UoM Level 3 — Optional

Example: Coca-Cola Case (24 bottles)

Represents 24 base units

Has its own barcode



4. UoM Level 4 — Optional

For bulk formats or crates

Developer may propose an appropriate structure

Must also link to a base-unit multiplier





---

Required Behavior

All UoMs must roll up into one product in inventory.

Selling any UoM must deduct the correct number of base units.

Example: Selling 1 case deducts 24 units.


GRVs must increase inventory according to UoM multipliers.

Example: Receiving 10 six-packs adds 60 units.


Each UoM must have its own barcode for scanning during sales.

UoMs must never appear as separate products.


This system is essential for shops that sell singles, multi-packs, and cases.


---

5. Goods Receiving Voucher (GRV) Module

A complete GRV module must be included to manage stock intake.

GRV Must Support:

Supplier name

Invoice number

Invoice date

GRV date

Item list


GRV Item Fields

Product

UoM

Quantity received

Old cost price

New cost price

Cost deviation % (automatic)

Additional GRV Requirements

Stock must update only after GRV approval

GRV history must be saved for auditing

Ability to view GRV summary

Print GRV receipt



---

6. Sales / Checkout Screen

Scan barcodes or name search (multiple UoM support after selecting the base product option to change to a different UoM)

Add/remove items

Adjust quantity

Complete sale Cash or Card

Daily totals

Basic receipt preview



---

7. Reports

Daily sales

Weekly & monthly totals

Best-selling items

Low stock alerts

GRV history (should include user profiles name)

Optional export (CSV or PDF)



---

8. User Profile

Edit name, email, business name

Switch language (Amharic/English)

View license status: “Active until: YYYY-MM-DD”



---

9. Offline Mode

All core features must function offline with a limited offline grace period of 6 hours

License check valid for 24 hours before re-verification but the developer can also suggest a better time frame

Sync automatically when online

Should be able to request a sync from the admin backend and owners personal device (optional)



---

10. Admin Backend

A simple backend portal for managing:

User accounts (shops), with location information and sales data

Editing license expiry dates

Activating/Deactivating users

Viewing GRVs and sales logs

Export options

Reports compiled on Location(city's)
-- most sold item(based on barcodes)
-- monthly sales


Backend options:

Firebase

Supabase

Appwrite
(Developer may propose an alternative)



---

Preferred Tech Stack

Mobile App

Flutter (preferred)


Backend

Firebase

Supabase

Appwrite" (client-provided description)


Matched companies (2)

...

Versasia Infosoft

Versasia Infosoft is a trusted provider of custom IT solutions, offering end-to-end services in software development, web and mobile app development,… Read more

...

Junkies Coder

Junkies Coder is a leading technology solution provider across 15 countries and 50+ Rockstar Developers is our strength, We're specializing in web de… Read more