⚠️ Firebase is not set up. Check the firebaseConfig section near the top of this file.
ZenBazzar
Sign In
Username
Password
This creates the ONE owner account for this app. Do this only once, for yourself.
Your Username
Choose a Password
ZenBazzar
Set Up Your Profile
This is required only once — you won't need to do this again after saving
👤
Your Name
Order Manager
Admin Panel
🌾 RICE ADMIN
0 orders · 0 customers
← Back to Orders
Overview
📊 Overview
Orders
📊 Dashboard
📅 Calendar
📋 Reports
Customers
👥 Customers
📢 Win-back Campaign
🎯 Leads
📞 Calls
💰 Due
🔍 Due Log (Search)
Money
🏦 Cash Account
Users
📈 Staff Performance
👤 Manage Users
Setup
⚙ Products
🚐 Vehicles
Settings
🔧 Settings
Total Orders (Today)
0
Revenue (Today)
0 KD
Net Profit (This Month)
0 KD
Pending Due
0 KD

🔍 Due Log — who gave it, who received it

Search by customer name / phone / staff name
From Date
To Date

📈 Staff Performance

From Date
To Date

📢 Win-back Campaign

Find customers who haven't ordered in a while (optionally in one area) and send them a WhatsApp message, one tap each — WhatsApp doesn't allow true one-click bulk sending, so each contact opens its own chat pre-filled with your message.
Area
Hasn't ordered in (days)
Message to send

🏦 Cash Account

Withdraw cash
Amount (KD)
Reason (what is it for?)
Saved under the name of the user who is logged in.
Day statement

📦 Low Stock Alert

On the Overview page, show a warning as soon as any product's remaining stock drops to or below this number — so you can reorder before it actually runs out.
Alert threshold (bags/units)

💾 Data Backup

Download a full backup of Orders, Due Log, and Expenses as Excel/CSV files — good to keep a copy for yourself now and then.

🧾 Company / Invoice Details

Shown on every generated invoice. Fill this in once.
Legal Company Name
Address
Phone
Email
Website
Company Logo
Brand Name Image (optional — replaces the text name on the invoice)
Next Invoice No: —

🔧 Application Settings

Show Sign Out Option
Allow users to see the Sign Out button in the application UI
${showSignOutOption ? '🟢' : '⚪'}
Status: ${showSignOutOption ? 'ON' : 'OFF'} · Only Owner can change
0
Today
0
Not Delivered
0.0
Today's Orders Value (KD)
Confirm a customer order
Customer name *
Phone number *
Address (with block / street)
Area *
Vehicle (which car will deliver this)
Delivery date (leave empty for next available batch)
Products
Total qty
Price (KD) — auto-calculated
Notes
Always on — every order gets an invoice. The invoice unlocks after this order is marked Delivered, from the History tab — not before.
🕓 Booked — Not Yet Sent to Driver
🚚 Sent to Driver — Not Delivered
Full record of every order ever entered — nothing is ever auto-deleted. Search by name/phone, or pick a date range for a report.
📊 Report for a date range
From
To
Area
Customer type
Tap a number above to filter the list below by that status.
People who called about rice but haven't ordered yet — or old paper-book contacts from before this app. Not a customer/order record; use this to reach out and win them over.
Phone number *
Name (optional)
Notes (optional)
Every purchase from a supplier is one "batch". When an order is marked Delivered, stock is deducted from the oldest batch first (FIFO), and that batch's cost price is used to calculate profit automatically.
Record a new purchase (batch)
Product *
Quantity bought *
Cost price / unit (KD) *
Supplier
Purchase date
Current stock by product
All batches (oldest deducted first)
⚠️ Danger Zone — Owner Only
Permanently deletes ALL orders, batches, and expenses so you can start fresh with clean testing data. Products, vehicles, leads, and user access are NOT affected. This cannot be undone.
Type RESET to confirm
Log an expense
Category *
Amount (KD) *
Date
Description
📊 Report for a date range
From
To
Bags sold per product
📦 Inventory breakdown (purchases this period + current stock)
📞 Log a call (manual entry)
Phone number *
Call type
Duration (seconds, optional)
Note (optional)
Currently manual entry — space is reserved for direct sync from an Android app in the future (see below).
🔎 Filter
🔥 Callers Without Orders — Needs Follow-up
All Calls
Driver View
Orders by Area
🔄 Live sync — updates instantly
📄 Day Report
Manage Products
Add new product
Manage Vehicles
Add new vehicle / driver
Manage Users
Admin/Manager/Staff = full access to enter/edit everything, but cannot delete anything or manage users/site lock (Owner only). Driver = can only see their own assigned orders and add new orders.
Give someone access
Set a username for them (login ID)
Set a password for them
Access level
Which vehicle / driver is this?
Edit User
Username: (cannot be changed here — revoke and create a new account instead if it must change)
Name
Access level
Which vehicle / driver is this?
Edit Order
⚠️ This order has already been delivered. Changes here will correctly update Revenue and the "what sold" report — but Stock/COGS (cost of goods) will not auto-adjust (the amount deducted at delivery time stays deducted). If the quantity changes a lot, go to the Inventory tab and adjust stock manually.
Customer name *
Phone number *
Address (with block / street)
Area *
Vehicle
Delivery date
Products
Total qty
Price (KD) — auto-calculated
Notes
Due Details
Order No.
Total Order Price
Received So Far
Due Remaining
Confirm full payment
Are you sure you have received the customer's complete bill in full?
Order Details
CUSTOMER
ITEMS
Total
ACTIVITY LOG
Customer Profile
Total Orders
Total Spent
Current Due
Last ordered:
ORDER HISTORY
Call Profile
Send to Driver
Which vehicle is this batch for?
This moves matching booked orders into the driver's list (Driver View), then opens a printable page grouped by area — orders sent earlier for this vehicle and still not delivered are included too. Orders for a different vehicle, or scheduled for a future date, stay booked.
Invoice