๐Ÿฆ BSC Cafe Automation

Complete Feature Guide โ€” Telegram Commands โ€ข Dashboards โ€ข Data Import

๐Ÿ“ฑ Telegram Commands

Bot: @bsc_cafe_manager_bot | Chat ID: 515510458

๐Ÿ’ฐ Financial & Accounting

/expense <amount> <desc>

Log expense โ€” AI automatically categorizes

/daily_summary [YYYY-MM-DD]

POS sales, Paytm QR, expenses, purchases, bank match status

/reconcile

Show unmatched bank transactions count (Paytm/Zomato/Cash)

/reconcile_run

Run auto-match engine for all 6 match types

/purchase

Guided manual purchase entry

/pending_payments

Show unpaid vendor invoices

๐Ÿ“‹ Report Tracking

/pending

Check Petpooja reports status (daily/weekly/monthly)

/skip <report_key>

Mark report as not available for period

/bankstatement

Trigger after uploading Axis Bank XLSX file

๐Ÿœ Menu & Costing

/cost <item>

Recipe cost breakdown + margin for one menu item

/low_margin

Menu items with gross margin < 50%

/recipe_coverage

Active/draft/no-recipe counts + coverage %

๐Ÿ“ฆ Stock & Variance

/stock_low

Ingredients below reorder level or zero stock

/stock_count <ing> <qty>

Log physical closing stock count

/variance

Top 5 worst variance ingredients this month

/variance <ingredient>

Last 4 weeks weekly breakdown for one ingredient

๐Ÿ• Zomato Analytics

/zomato_summary

Last 7 days Zomato for both brands: orders, revenue, cancel rate

/peak_hours

Top 3 peak hours โ€” Zomato + Dine-In with medals (๐Ÿฅ‡๐Ÿฅˆ๐Ÿฅ‰)

๐Ÿ‘ฅ Customers

/top_customers

Top 10 VIP customers (all-time) with spend + last visit + segment

/at_risk

At-risk customers (30โ€“60 days no visit) with phone + days

/lost_customers

Lost customers (60+ days) with phone + total spend

โš™๏ธ Operations & Checklists

/opening

Opening checklist (14 items, toggle + submit)

/closing

Closing checklist (14 items, warns if opening missing)

/clean <zone>

Log cleaning for a zone (fuzzy name match)

/cleaning_status

Today's cleaning status for all zones

/cleaning_history <zone>

Last 7 cleaning entries for a zone

๐Ÿ”ง Maintenance

/issue <equipment> <desc>

Report maintenance issue with severity

/issue_close <id> [cost] [notes]

Close issue + optional expense link

/maintenance

All open issues grouped by severity

/equipment_status

All equipment โ€” operational/needs_attention/under_repair count

๐Ÿ“ฆ Ordering & Vendors

/order

Auto-create draft POs for all low-stock items

/order <vendor>

Create draft PO for specific vendor

/order_confirm <po_number>

Confirm PO + get WhatsApp-ready message

/orders

All open POs โ€” draft/sent/confirmed

/order_received <po_number>

Mark PO as received + prompt bill upload

/reorder_status

Ingredients with reorder levels โ€” current stock vs threshold

๐Ÿ“ค File Uploads (Auto-Detect)

๐Ÿ“Š XLSX Files

Auto-detects: Petpooja reports / Axis Bank statement / Zomato Settlement

๐Ÿ“„ CSV Files

Auto-detects: Zomato Business Report

๐Ÿ“• PDF Files

Auto-detects vendor bills: Vaani Ventures / HyperPure / Blinkit

๐Ÿ“ธ Photos

Auto-detects: Vendor bill / Paytm receipt / Daily register book (NO caption needed)

๐Ÿ“Š Web Dashboards

Access at: http://localhost:8000/dashboard (or your production URL)

/dashboard

Main overview

KPIs, sales charts, top 10 customers with segment badges

/dashboard/pending

Report Tracker

Petpooja report status (daily/weekly/monthly) โ€” pending/received/skipped

/dashboard/pl

Profit & Loss

Revenue vs expenses, brand breakdown, margin %, revenue sources per channel

/dashboard/reconcile

Bank Reconciliation

Auto-match: vendor payments, rent, Paytm QR, Zomato payouts, cash deposits

/dashboard/menu-costing

Recipe & Menu Costing

Recipe costs, ingredient unit costs, menu margin %, coverage %, no-recipe items

/dashboard/variance

Stock Variance

Theoretical vs actual consumption โ€” waste detection, 30-day trends per ingredient

/dashboard/zomato

Zomato Analytics

Peak hours, day-of-week, funnel (impressionsโ†’clicksโ†’orders), ads, cancellation trend

/dashboard/customers

Customer Segments

VIP, regular, occasional, one-time โ€” at-risk & lost customers, live search

/dashboard/cleaning

Cleaning Status

Today's cleaning by zone + last 7 days log

/dashboard/maintenance

Maintenance Tracker

Equipment status grid, open issues, repair cost chart, warranty expiry

/dashboard/ordering

Ordering & Restock

Low stock table, open POs, vendor spend chart, reorder status

/admin

Filament Admin Panel

CRUD for Staff, Checklists, Expenses, Recipes, Equipment, POs, etc.

Email: mwctechnologies2023@gmail.com

๐Ÿ“ฅ Data Import Formats

POS โ€” Petpooja (5 Daily/Weekly/Monthly Reports)

Upload XLSX file โ†’ Auto-detects report type from Row 2 (NOT filename)

  • โœ… Item Report With Customer/Order Details โ€” DAILY โ†’ pos_line_items
  • โœ… Order Report: After Print Modification โ€” MONTHLY โ†’ pos_bill_modifications
  • โœ… KOT Report: Modifications Of Item โ€” DAILY โ†’ pos_kot_modifications
  • โœ… Total Customer Spend Report โ€” WEEKLY โ†’ pos_customer_spend
  • โœ… Tax Bifurcation: Group Wise โ€” MONTHLY โ†’ pos_tax_group_summary

Idempotency: Replace-by-date-range (delete + reinsert same period)

Bank Statements โ€” Axis Bank (XLSX)

Upload "Smart Statement Report" XLSX โ†’ Auto-categorizes each transaction

  • Header: Row 15 | Data starts: Row 16
  • Amount format: "INR 1,230.00" (includes comma)
  • Date format: DD/MM/YYYY

Auto-category rules: POS Settlement, Vendor Payment, TDS, Rent, Bank Charges, Owner Withdrawal, etc.

Zomato Settlement (XLSX Multi-Sheet)

Upload settlement report โ†’ Detects key sheets automatically

  • ๐Ÿ“Š Order Level sheet (data row 9+) โ†’ zomato_orders, zomato_settlements
  • ๐Ÿ“‹ HSummary sheet (row 2) โ†’ metadata
  • ๐Ÿ’ฐ Addition Deductions Details โ†’ ads

Both brands tracked: BSC Zomato (21896844) + Korean Kick Zomato (22485506)

Zomato Business Report (CSV)

Daily CSV report โ†’ zomato_daily_metrics

Vendor Bills (Auto-Detection)

๐Ÿ“• PDF Bills

Vaani Ventures, HyperPure, Blinkit โ€” parsed & saved to purchases

๐Ÿ“ธ Photo Bills

Kunal (Syrups), DMart โ€” Gemini OCR โ†’ analyzeVendorBill()

Daily Register Book (Photo)

๐Ÿ“ธ Upload photo โ†’ Auto-detects register vs Paytm receipt

Register format:
Cash Balance โ†’ Cash Sale โ†’ subtotal โ†’ Exp โ†’ Owner Taken โ†’ Shortage โ†’ Petty Cash closing

No caption needed! Auto re-runs Paytm OCR if paytm_total detected

Paytm EDC Receipt (Photo)

๐Ÿ“ธ QR code machine thermal printout โ†’ paytm_edc_daily

Auto-matched against Petpooja UPI orders: ยฑโ‚น1 amount + ยฑ15 min time

โš™๏ธ Local Development Setup

๐Ÿ“ Project Location

/Users/vivek/Documents/Claude/Projects/BSC Cafe Automation Project/bsc

๐Ÿš€ Start Laravel Server

cd bsc && php artisan serve

Port: 8000 (or 8001/8002 if busy)

๐Ÿ“ฆ Queue Worker

php artisan queue:work

Run in separate terminal

๐Ÿ”— Ngrok Tunnel

ngrok http 8000

For Telegram webhook

๐Ÿ—„๏ธ Database

Local: bsc_local (XAMPP MariaDB)

User: bsc_user

phpMyAdmin: http://localhost/phpmyadmin

๐Ÿ”‘ Key URLs

Dashboard: http://localhost:8000/dashboard

Admin: http://localhost:8000/admin

Filament Email: mwctechnologies2023@gmail.com

๐Ÿ’ป Key Code Locations

Developer reference โ€” where things are built

๐Ÿค– Core Systems

app/Http/Controllers/Api/TelegramWebhookController.php

Telegram command routing & webhooks

routes/console.php

All scheduled tasks (04:00 IST โ†’ 23:30 IST)

routes/web.php

Dashboard & admin panel routes

๐Ÿ“ฅ Data Importers

app/Services/Importers/

  • โ€ข AxisBankImporter.php
  • โ€ข ZomatoSettlementImporter.php
  • โ€ข ZomatoBusinessReportImporter.php
  • โ€ข PurchaseImporter.php

app/Services/Parsers/

Vendor bill PDF/photo parsers (Vaani, HyperPure, Blinkit, etc.)

๐Ÿง  Business Logic

app/Services/Ocr/

  • โ€ข GeminiOcrService.php (OCR engine)
  • โ€ข RegisterPhotoProcessor.php (Register book parsing)
  • โ€ข VendorBillPhotoProcessor.php (Vendor bill saving)

app/Services/Recipes/

  • โ€ข RecipeImporter.php
  • โ€ข RecipeCostCalculator.php
  • โ€ข UnitConverter.php

app/Services/Stock/

  • โ€ข IngredientCostUpdater.php
  • โ€ข VarianceReportService.php

app/Services/Reconciliation/

  • โ€ข PaytmBankMatcher.php
  • โ€ข ZomatoBankMatcher.php
  • โ€ข CashDepositMatcher.php

๐Ÿ“Š Dashboards & Views

resources/views/dashboard/

  • โ€ข index.blade.php (Main overview)
  • โ€ข pl.blade.php (P&L)
  • โ€ข reconcile.blade.php (Bank reconciliation)
  • โ€ข menu-costing.blade.php (Recipe costs)
  • โ€ข variance.blade.php (Stock variance)
  • โ€ข zomato.blade.php (Zomato analytics)
  • โ€ข customers.blade.php (Customer segments)
  • โ€ข cleaning.blade.php (Cleaning tracker)
  • โ€ข maintenance.blade.php (Equipment)
  • โ€ข ordering.blade.php (PO & stock)

โš™๏ธ Filament Admin Resources

app/Filament/Resources/

  • โ€ข StaffResource.php
  • โ€ข IngredientResource.php
  • โ€ข MenuItemResource.php
  • โ€ข RecipeResource.php
  • โ€ข ExpenseResource.php
  • โ€ข ExpenseCategoryResource.php
  • โ€ข PurchaseOrderResource.php
  • โ€ข EquipmentResource.php
  • โ€ข ChecklistTemplateResource.php

๐Ÿ“ฆ Artisan Commands

app/Console/Commands/

All scheduled commands + manual commands (recipe import, bank recategorize, etc.)

๐Ÿ“Œ Quick Reference

๐Ÿ“ž Telegram Bot

@bsc_cafe_manager_bot

Chat ID: 515510458

๐Ÿช Two Brands, One Kitchen

BSC (Dine-in + Zomato) | Korean Kick (Zomato only)

๐Ÿ’พ Database

MySQL (XAMPP Local) | cPanel Prod

๐Ÿค– OCR Engine

Gemini 2.5 Flash (Active)

๐Ÿ“š For detailed technical context, see CLAUDE.md & BUILD_LOG.md in project root