Good Morning
Here's what's happening at your store today.
Visible Stock Value₹0
Visible Quantity0
Visible SKUs0
Low Stock0
Inventory Control
Category Stock
AI Business Auditor
Read-only. Stock, sales, purchase, replacement, staff, and audit logs.
Checking...
AI Model-
Server-side OpenAI API
ModeREAD ONLY
AI cannot edit any stock or bill
Questions (30d)0
Saved in audit log
Tokens (30d)0
Usage visibility
Ask Your Business
Enter = Ask • Shift+Enter = New line • Esc = Back • Alt+X = AI
Hello. I am the read-only AI Business Auditor for your KaroSet data. Ask about stock, billing, purchases, replacements or staff activity.
What can the AI check?
Stock Integrity
ReadCurrent stock vs movement ledger
Sales / Invoice Audit
ReadAmount, qty, discount, versions
Staff Audit
ReadEdits, movement activity, reason/IP
Replacement Audit
ReadRep stock, defective, supplier claims
Purchase Audit
ReadSupplier-wise purchase and stock-in
Safety: The AI has no write or delete tool. It answers with facts from controlled read-only queries.
Recent AI Audit Log
No AI queries yet.
Products / Inventory
Live product master. Search and filters stay on the existing inventory API. Stock figures are read-only here.
| SKU | Product | Category | Qty | Available | Rates A–D | Status | Action | Brand | Series | Warranty | Replacement | Claim @ Shop | With Supplier |
|---|
Stock Count
Path: Inventory → Stock Count • Shortcut: Alt+M. Choose store for Rack Count. Legacy quick count remains available. Stock changes only after authorized adjustment.
Loading...
Function Directory
F1 Shortcut Help. Bindings match the built-in registry. Hidden modules for your role are not shown as actionable.
DAY-1 WORKFLOWS
Guidance only — shortcuts do not change status or open another role's screen automatically.
A. Counter sale
Alt+B Billing → Save Invoice → Alt+K Record Pay if due → Alt+Y Picking → Alt+Z Checker → Alt+T Packing → Alt+N Delivery
B. Customer order
Alt+J Customer Orders → Verify / Approve → Alt+Y Picking → Alt+Z Checker → Alt+T Packing → Alt+N Delivery
C. Credit Receiving (Advanced → Later modules)
Alt+G Credit Receiving → Supplier / Bill / Store → Lines → Post → Stock + Supplier Payable → Reverse only for correction
D. Replacement
Alt+Shift+R Receive Replacement → Replacement Recheck → Fulfillment → Alt+Y Picking → Alt+Z Checker → Alt+T Packing → Alt+N Give Replacement / Delivery → Supplier Claim when applicable
E. Customer payment
Alt+K → Customer → Amount / Mode → Denomination if Cash → Save → Alt+L Ledger
F. Ledger
Alt+L = Customer Ledger · Alt+Shift+L = Supplier Ledger
| Shortcut | Action | Who |
|---|---|---|
| Counter | ||
| Alt+B | Billing / New Invoice | Counter |
| Alt+H | Invoice History | Counter / accounts |
| Alt+K | Cash & Finance / Customer Receipt | Cashier |
| Alt+L | Customer Ledger Finder | Cashier / accounts |
| Orders & Fulfillment | ||
| Alt+J | Customer Orders | Verifier |
| Alt+Q | Sales Orders | Orders |
| Alt+Y | Picking | Picker |
| Alt+Z | Checker | Checker |
| Alt+T | Packing | Packer |
| Alt+N | Delivery | Manager / Admin / Owner |
| Stock | ||
| Alt+G | Credit Receiving | Inward |
| Alt+I | Inventory | Counter / stock |
| Alt+Shift+V | Store Stock | Admin / Owner |
| Alt+M | Stock Count | Stock |
| Alt+P | Legacy Purchases / Returns | Legacy inward |
| After Sales | ||
| Alt+R | Replacement List | After sales |
| Alt+Shift+R | Receive Replacement | After sales |
| People | ||
| Alt+C | Customers | Counter |
| Alt+S | Suppliers | Accounts |
| Alt+Shift+L | Supplier Ledger | Accounts |
| Admin | ||
| Alt+X | AI Auditor | Admin / Owner |
| Alt+U | Users | Admin |
| Alt+A | Stock Ledger | Admin / Owner |
| Alt+O | Owner | Owner |
| Local Billing Keys | ||
| F1 | This directory / Shortcut Help | All |
| F2 / Ctrl+S | Save current form (when a save target exists) | Open modal |
| F3 | Context edit (bill/invoice) | Billing or Invoice History |
| F4 | New line | Open invoice / receiving / replacement |
| F5 | Invoice History from open bill | Billing modal |
| Alt+D | Invoice date | Open invoice |
| F7 / F9 | Repeat / delete bill line | Open invoice |
| F8 | Voice billing | Open invoice |
| F12 | Duplicate voucher | Open invoice |
| Shift+Enter | Previous billing field | Open invoice |
| Ctrl+F | Product / party search | Top bar or open ledger |
| Esc | Back / close | Anywhere |
| Dashboard | Dashboard (top of menu) | — |
| Quick Product | + Add → Quick Product | — |
| Add Product | + Add → Product | — |
| Customer Portal | Customers → open customer → Portal • login /customer-portal | — |
| Baskets | Advanced → Fulfilment Monitor → Baskets | — |
| Notifications | Top bar bell | — |
| Location Master | Master Setup → Locations | — |
| Product Locations | Inventory → Product Locations | — |
| Barcode / QR Label Center | Inventory → Labels | — |
| Label Printer / Designer | Advanced → Label Printer | — |
Wholesale Billing
Full-screen keyboard billing: Product → Enter → Qty → Enter → Rate → Enter → Next line.
The server validates up to 500 product lines per invoice. Saving stock uses a database transaction with row locks, so two users can never oversell the same stock at the same time.
Sales Voucher List
F5 from billing. Expand row for item lines. Filters + CSV export.
| Date | Voucher No | Customer | Item Details | Qty | Unit | Rate | Amount | User | Status | Modified | Action |
|---|
Profit Report
Sale-time moving average cost saved on each invoice line. No GST. Older invoices are never re-costed.
| Row | Gross sales | COGS | Gross profit | Margin | Notes |
|---|
Reports / Print Center
Reprint historical documents. Stock report prints current quantities — it does not change stock.
Profit uses only the cost saved on each invoice line at sale time (moving weighted average). Invoices posted before that started show "profit unavailable". Current product purchase price must not be used as historical COGS.
Stock report
Prints the same current stock authority as Inventory. Filters are shown separately on the print.
| Type | Number | Date | Party | Status | |
|---|---|---|---|---|---|
| Search to list historical documents. | |||||
Barcode / QR Label Center
Print-only. Labels never change stock, GRN, ledger, or voucher numbers.
Search a product to print labels.
| SKU | Name | Barcode | Stock | |
|---|---|---|---|---|
| No product selected. | ||||
Bulk from category/brand
Barcode / QR Settings
Label Printer — TVS LP 46 Neo profile
Windows installed printer + spooler. Raw ZPL/TSPL/EPL is not sent. Display name is selected, not hard-coded.
Calibration (mm)
Physical gap/offset/darkness/speed cannot be proven without paper.
Bill Matching / Scan Recheck
Expected vs scanned. Scanner never posts invoices or stock.
Start a session from an invoice or order.
| Product | Expected | Scanned | Pending | Extra | Status |
|---|---|---|---|---|---|
| No session yet. Start a session to match scanned items. | |||||
Replacement
Receive defective from shopkeeper → Replacement Recheck → Give Replacement on Delivery. Add Replacement Stock is supplier good stock only.
Replacement stock0
Vouchers0
Exchange qty0
Credit₹0
Defective / claim0
Replacement Recheck0
| Date | RPL | Customer | Product | Qty | EX / CR | Stage |
|---|
Supplier Claims
Draft → count → finalize → pack → dispatch. AP only on accepted credit. Dispatch is claim stock OUT.
Claim @ shop0
With supplier0
Ready to dispatch0
Outstanding0
Aging 31+0
Settled0
| Date | Claim | Supplier | Status | Settle | Qty |
|---|
| Outstanding | Supplier | Product | Remain | Age | Settle |
|---|
Purchase / Returns
Legacy / History — use Credit Receiving for normal stock inward
Legacy / History — use Credit Receiving for normal stock inward
Legacy inward posting (Stock In / Purchase IN / PO / GRN)
Stock In, Purchase IN, Legacy PO, GRN, and Direct Purchase IN remain for history. Do not use as the daily inward path.
| Date | Supplier | Product | Qty | Rate | Total | User |
|---|---|---|---|---|---|---|
| No legacy stock-in rows. | ||||||
Credit Receiving / Purchase Inward
Day-1 purchase inward. Draft does not change stock or payable. POST CREDIT posts stock + supplier payable. Cash / Bank / Part Payment post stock + payment(s) + remaining credit, then lock.
| Document No | Supplier | Supplier Bill No | Bill Date | Store | Total | Settlement | Status | Created At |
|---|
Customers
Enter / double-click opens ledger • Edit • Portal. Login: /customer-portal
| Name | Phone | City | Rate | Outstanding | Advance | Last | St |
|---|
Suppliers
Enter / double-click opens ledger • Edit for master
| Name | Phone | City | Payable | St |
|---|
Click-to-chat only. No two-way WhatsApp API.
Click to chat
Opens WhatsApp for the selected opted-in customer. No two-way API.
Useful segments
U&I buyersAccessories
Samsung S SeriesSeries
Replacement customersWarranty
Users & Permissions
Role, catalog, flags, and Allowed Stores. Edit uses the same save path as before.
| Name | Username | Role | Status | Permissions |
|---|
Stores
Prepare store master while Multi-Store is OFF. Existing billing stays single-store / company qty.
Multi-Store: OFFStatus only. Turning Multi-Store ON is a verified cutover, not a casual switch.
| Code | Name | Type | Location | Status |
|---|
Store Groups
Group several stores (example: Folder & Battery). Assign stores when you edit a group.
| Code | Name | Status | Stores |
|---|
Store Stock
Multi-Store OFF: MAIN on_hand mirrors company
products.qty. Transfers stay locked so billing stock cannot split accidentally.Billing currently uses the company quantity.
| SKU | Product | MAIN on hand | Reserved | Available | Company qty |
|---|
Stock Transfers
Posted voucher moves store on_hand only. Company qty unchanged.
| Voucher | From | To | Qty | Status | By | When |
|---|
Sales Orders
Monitor stage, reservation, and next valid action. Orders are fulfilled here through picking, checking, packing and dispatch.
| Order | Date | Customer | Store | Total | Status |
|---|
Picking
Queue visibility. FOUND / NOT FOUND / SHORT stay on the existing picking API.
| Order | Customer | Store | Picked | Task | Staff |
|---|
Picking Issues
Short / not found / proposed substitutes.
| Order | Item | Issue | Detail |
|---|
Baskets / Tokri
Basket status in the existing fulfillment flow.
| Basket | Order | Status | Updated |
|---|
Checker
Checker-current before packing. This is not Replacement Recheck (defective intake).
| Order | Customer | Store | Checked | Task | Staff |
|---|
Packing
Store-scoped after checker-current. START PACKING → MARK PACKED.
| Order | Customer | Store | Basket | Lines | Status |
|---|
Dispatch
RECEIVE → MERGE → Deliver. Direct deliver stays blocked until authoritative readiness. Replacement uses Give Replacement on the same engine.
| Order | Customer | Store | Package | Hold |
|---|
Notification Center
LAN-local. Polls automatically.
Product Rack Mapping
Assign a rack to a product at a store. Changes are audited.
Payment Groups
How tills are grouped: central, own-store, or hybrid. Timing is when payment is taken.
| Code | Name | Mode | Timing |
|---|
Cash Counters
Create a counter, pick a payment group, then assign a cashier. Unassign is not available on the current API.
| Code | Name | Group | Cashier | Status |
|---|
Stock Movement Audit
Who changed stock, when, and why. Quantities are the existing movement log — not a new formula.
| Time | SKU | Product | Type | Bucket | Change | After | Reference | User | Note |
|---|
Document Audit
Invoice and voucher versions. Before/After uses the existing audit log.
| When | Type | Document | Action | Ver | User | Reason |
|---|