Bahria Town Sales IC
Pharmacy Sales Intelligence Centre
Sign in with your authorised Google account to continue.
🏠 Intelligence Centre
Bahria Town Sales IC
Everything at a glance — sales, manager, closing & audit
Loading…
Cumulative since April 2020
YEAR
Monthly Total Sales
Cash vs Bank
Top Clients — All Time
Monthly Customers
Year-on-Year
Last 12 Months Summary

📊 Manager Dashboard

Staff Credit · Jazz Cash · Patty/Expenses · Other ledgers · Working Summary — all in one view

Month Index
All Months
Click any card to see daily breakdown & full detail
Daily Records
All Entries
Data Entry
Add Daily Record
Total auto-calculates. Saved locally & synced to Supabase automatically.
Period
Cash
Banks
Credit Clients
Summary & Other

Session Entries
No entries this session.
Daily Sale Report
Auto-Fill Report Generator
Select a date from the calendar — all fields fill automatically. Add Till Short & Patty Cash, then print.
Select Date
Monthly Target
Select a date to see target
Select a date to generate the report
Sale Data
💰 Cash to be Deposited
Cash Sale − Cash Returns + FDPP POS + FDPP Consumer, for every day on record. Tick the days you need, then view the combined report.
Date Month Cash Sale Cash Returns FDPP POS FDPP Consumer Cash to Deposit
Sale Data
💳 Sale Payments
Cash / Card / Credit split for today + last 3 days, plus a per-customer credit breakdown. Synced from Candela POS via Dropbox → Supabase.
⏳ Loading…
Daily Split
Day Cash Sale Card Sale Credit Sale Total Sale
Credit Sales by Customer
Day / Customer Credit Amount Receipts
Closing
📖 Closing Book
Every closing, laid out like a printed register — live from Closing's own data.
⏳ Waiting for the first sync from Closing…
SELECT RANGE
Closing
💳 Credit
Snapshot history of every shift's credit
💳 Credit 🧮 Misc / Ongoing
Filter account:
⏳ Waiting for the first sync from Closing…
Audit
🧾 Assignments
Every engagement, open and closed — live from Pharmacy Audit Hub.
⏳ Loading…
⏳ Loading from Audit…

Live counts

Audit
📦 BT Inventory
Live product inventory, synced from Pharmacy Audit Hub via Supabase.
⏳ Loading…
⏳ Loading inventory from Random…

Inventory Movement Audit

Stock Ledger

Five views on the shelf: stock that's never sold, stock gone quiet, stock stacked past what recent sales justify, plus two reference lists — items with an unreliable pack size, and items already at zero.

Project URL Supabase project settings → API

Anon public key safe to use client-side — this is what it's for

Table name

Fallback sources — used if Supabase isn't reachable

JSON
Load an inventory file Drop your inventory.json here, or browse. Fields expected: code, name, stock, unitPrice, conversionFactor, lastReceiveDate, lastSaleDate, netQty100Days.

1 — App key from your Dropbox App Console — not secret, fine to paste here

2 — Paste the code Dropbox shows you

Already connected before? paste the refresh token you saved last time and skip steps 1–2

File path in Dropbox relative to the app folder if you used "App folder" access

No file loaded yet Load inventory.json above to generate the never-sold, dead-stock, excess, and reference reports.

No sale on record at all, and last received more than the selected window ago. Quantities are rounded down to full pack sizes (conversionFactor) before valuing — loose, partial-pack units are excluded from the value.

Has a sale history, but nothing sold in the selected window, and last received more than that same window ago. Mutually exclusive with Never Sold — this tab only covers items that sold at some point. Quantities down-rounded to full pack sizes before valuing.

The source data's "netQty100Days" field is actually a 90-day net sold quantity. Target 100d Stock = (Sold /90d ÷ 90) × 100 — the amount needed to cover 100 days at the current sell-through rate. Excess = current stock beyond that target, valued at unit price, no pack rounding. Items with zero sales in the last 90 days are excluded here — they show up under Never Sold or Dead Stock instead.

Stock is greater than zero but the pack size (conversionFactor) is missing, zero, or invalid — down-rounding to a pack isn't reliable, so these are excluded from Never Sold and Dead Stock and just listed here as raw data for review. (They can still appear under 100-Day Excess, since that calc doesn't depend on pack size.)

Stock is currently zero, so there's nothing to value — listed here as raw reference data only, excluded from all three main reports.

Excess Stock Working

Excess Working

Takes the 100-Day Excess rows from Stock Ledger, corrects each one down to whole packs, lets you mark items to always retain, and rolls it all up into a single corrected excess value — with a Top N / full-sheet export.

Replenishment

Reorder Report

Ranks items by sale value that are running low on stock cover for a chosen sales window (30/60/90d), against a "less than N days stock" threshold you set — a Top N buy list plus the full flagged list, groupable by supplier.

Inventory

Inventory Health Dashboard

One place for the whole catalogue's status — health mix, movers, a reorder-value trend, and a searchable table with every product's stock, cover days, sale velocity, and reorder/excess/dead-stock flag.

Health Breakdown

Movers (30d Sale Value)

SLOW MOVERS

Reorder Value Trend

Stock Value by Supplier

Product Status

Product Supplier Stock Stock Value Cover Days Velocity 30/60/90d Status Last Received Reorder Value

STR

STR Report

Stock transfers touching Bahria Town — dispatched out or received in — synced from the source system's last 7 days.

Loading…
to
STR # Date From → To Status Comments Items

STR

Report

Every matching STR, flattened: dispatch branch → STR # → supplier, sorted by product code.

Loading…
to

STR

Zero Dispatch

Lines where STR Qty is raised but Dispatch Qty is still zero. Tick the STRs you want, then print.

Loading…
to
0 selected for print

STR

Tools
Settings & Data Management
Tap any card to expand it.
🖥 Sync Center v1.1
Poll: · RT Active · ◐ PASSIVE
Initializing…
☁ Supabase Sync Connected ✓
All data syncs automatically to Supabase in real-time. No configuration needed — just push and pull.
Supabase sync ready…
Real-time sync active — when another device saves data, this device receives it instantly. No polling needed.
🕐 Sync History last 10 events
No sync events yet.
🌙 Appearance
Choose a light or dark theme, or follow your device's setting automatically.
⚡ Auto-Sync
Real-time sync is always on — data from other devices arrives instantly. No 30-min polling needed.
☁ Google Drive Backup Not set up
Saves a daily JSON backup to your BT-SALE-DATA folder in Google Drive. Drive API is enabled ✓ — just authorize once and backups run automatically.
✓ Google Drive API is enabled.
Just click Authorize Drive below (once). After that, a backup is saved to BT-SALE-DATA automatically every day when you open the app.
🔒 Security
Ends every active session for your account — every phone, browser, or tab it's currently signed into. Use this if a device was lost, shared, or you're unsure who still has access.
🎯 Monthly Targets
Set a sales goal for any month. Progress shows on Dashboard, Index cards, and the Sale Report page.
🔐 Google Auth & PIN Settings
Google Sign-In
Managed in Supabase (bt_authorized_users) — add or remove rows in the Table Editor to change who can sign in, no redeploy needed.
🔒 Offline password sign-in has been disabled. Access is restricted to the three authorised Google accounts above — no other sign-in method is available.
📊 Export / Import
📅 Add New Month
📋 Data Summary
🖨 Print PDF Reports
Generate printable PDF reports for any day, month, or full year. Use your browser's Print → Save as PDF to export.
📅 Daily Report
📆 Monthly Report
📊 Yearly Report
💡 Tip: On the Index page, each year group has a 🖨 button to instantly print that year. Month cards in the Index open a modal with a Print Monthly button.
PDF Library
📚 Saved Reports
Every report you've printed, synced across devices — saved from the print prompt, auto-cleared once expired unless pinned.
Loading…
Activity Log
🕒 Activity Log
Date, time, section, and what changed — add, edit, or delete — synced across every device.
Loading…

Manage Fields Show/hide columns · Add custom fields

Day Detail

Difference Report
Total Sale vs COMP SALE
Monthly gap between physical sales and computer records, with running cumulative.

👔 Manager Work

Salary, credit, and daily working sections in one place.

Auto-saves as you type.
# Name Designation Days HO Salary Advance Generic Net Salary 🖨 Del

📑 Notes & Sheets

Notes, multi-sheet workbooks, and a live read-only view of Sale Data / Staff.

📑
Loading Notes & Sheets…
EMP-001
Employee
Uses the phone number above — save it first if you haven't.