close_shift
ChatGPTEnds a branch's open cash-drawer session against the cash counted out and records the variance. A closed drawer cannot be reopened, and a count off by more than Tk 1 is refused — that close needs a manager.
create_invoice_scan_session
ChatGPTWrites a supplier-invoice REVIEW session from lines an assistant read off the invoice photo, and returns each line’s review-grid verdict plus a deep link into that grid. It creates no goods receipt and moves no stock, and no copy of the photo is retained.
create_product
ChatGPTWrites one new product row in the business's own catalog. Prices are in paisa (minor units).
create_product_image_upload
ChatGPTMints one single-use browser link, valid 30 minutes, that attaches a single image of up to 5 MB as a product’s main photo. An earlier photo from this same flow is deleted; one the owner added in the app moves to position 2 and is kept. Nothing is written until that file arrives.
create_purchase_order
ChatGPTWrites a DRAFT purchase order and its lines. It is never transmitted to the supplier and commits no money; sending stays behind maker-checker approval.
create_sale
ChatGPTWrites one sale: an invoice with a receipt number, the stock decrement, and the payment. The branch, the stock lot, the price and the change are resolved by the business. Refunding it is not on this server; voiding it within 24 hours is (void_sale).
create_supplier
ChatGPTWrites one new supplier record, including payment terms and any opening balance.
get_cash_position
ChatGPTMoney actually received over a date range, split by payment method — the daily-close figure.
get_cashier_performance
ChatGPTPer-cashier sale count, revenue, discount given and voids over a date range.
get_customer_dues
ChatGPTThe receivables board: customers who owe the shop, biggest first, with the exact shop-wide total owed. With q, the matching customers and what each owes.
get_dead_stock
ChatGPTProducts with no sales in the lookback window, and the capital tied up in each one.
get_expense_summary
ChatGPTOperating spend over a date range, totalled and broken down by expense category.
get_inventory_valuation
ChatGPTCurrent stock value at cost and at retail, with per-category subtotals and a shop-wide total.
get_inventory_velocity
ChatGPTSell-through rate per product: units sold per day, and estimated days of stock remaining at that rate.
get_low_stock_items
ChatGPTProducts at or below their reorder level, with current stock on hand and the reorder point.
get_product_image_upload
ChatGPTThe most recent photo-upload link’s state for one product — awaiting_upload, uploaded, failed (sent but not stored, so nothing changed), expired or never_requested — plus the shop’s own photos in order with their photo_id, and whether it shows a shared-catalog picture instead.
get_profit_summary
ChatGPTGross profit (revenue minus cost of goods sold) over a date range. With a group_by dimension it returns the same figures broken down by that dimension instead of a single total.
get_reorder_suggestions
ChatGPTSuggested purchase quantities per product, derived from recent sales velocity, current stock and reorder level.
get_sale
ChatGPTOne invoice in full: header totals, payment method and every line item on it.
get_sales_summary
ChatGPTCompleted-sale count and revenue totals (subtotal, discount, VAT, total) for a date range, for the signed-in business's own data only. Voided, refunded and pending sales are excluded.
get_sales_trend
ChatGPTRevenue and sale count bucketed over time (by day, week or month) across a date range.
get_shift_status
ChatGPTWhether a cash drawer (POS shift) is open at a branch, how long, who opened it, and the cash the close-out would expect in it: float + cash sales + khata + deposits − approved cash drops − expenses paid from the till. A drawer open for days was abandoned, not worked.
get_shop_profile
ChatGPTThe signed-in business's own storefront details: name, address, working hours, contact channels, BIN/TIN, storefront URL, theme and plan.
get_suppliers
ChatGPTThe supplier directory, and — for owner, admin, regional-manager and pharmacist callers — accounts payable per supplier, shop-wide totals and aging buckets; other roles receive the directory alone. Also the source of a supplier_id for a purchase order.
get_top_products
ChatGPTBest-selling items over a date range, ranked by quantity sold or by revenue, capped at 50 rows.
get_wastage
ChatGPTStock written off over the last N days (max 366), in units: totals by kind (damaged, expired, and other wastage such as spoiled, stolen or lost), entry counts, and the most-wasted products. No money value. Items written off by weight add entries but no units.
list_products
ChatGPTProducts in the business's own catalog, optionally narrowed by free-text q, barcode or sku, with the matching total count.
list_sales
ChatGPTRecent sales newest-first, header rows only, cursor-paginated, with voided ones flagged. get_sale with a sale_id gives one sale line by line.
log_expense
ChatGPTWrites one operating-expense row: amount in paisa, category, date and an optional note.
logout
ChatGPTRevokes EVERY assistant connection the signed-in operator holds to this business, not only the calling one: any other ChatGPT, Claude or connected app they signed in from stops too, on every brand. Other operators and counter devices are unaffected.
lookup_customer
ChatGPTOne customer's profile, khata (on-account) balance, loyalty position, lifetime spend and recent invoices.
open_shift
ChatGPTStarts a branch's cash-drawer session with the cash counted into it; every later variance is measured against that float. One drawer per branch: a branch with one already open is refused.
receive_stock
ChatGPTWrites ONE new pooled stock batch: quantity, the batch number and expiry date (both required), and an optional unit cost (default 0). The batch is sellable the moment this returns — no draft, no review grid and no manager PIN, unlike the counter's own multi-line supplier intake.
receive_unit
ChatGPTWrites one serialized unit into stock, identified by its IMEI or serial number.
record_customer_payment
ChatGPTRecords money a customer handed over, against their khata (on-account) balance, and reduces what they owe. It moves no money at any payment gateway. Paying past zero is refused unless allow_advance is set. Only cash completes; other tenders need a reference it cannot take.
remove_product_photo
ChatGPTRemoves one photo from a product and permanently deletes its file, addressed by photo_id. With no photos left, the product shows its shared-catalog picture again, if it has one.
reorder_product_photos
ChatGPTRewrites the order of a product's photos, main photo first. The order lists every current photo_id exactly once; a gallery edited elsewhere meanwhile is reported, not overwritten.
search_help
ChatGPTThe published in-app user manual for this business's vertical — how the app works and how to do things in it. Product documentation only: no sales, stock, customer or staff data. A slug returns one article in full, in English and Bangla; otherwise matching titles.
set_primary_product_photo
ChatGPTMakes one of a product's existing photos the main one by moving it to the front of the gallery, addressed by the photo_id the status tool lists. No file is uploaded or deleted.
update_product
ChatGPTOverwrites editable fields on an EXISTING product: name, selling price, missing cost, storage location, reorder level, discontinued status, storefront listing, barcode, category, or the printed MRP reference.
void_sale
ChatGPTCancels one sale within 24 hours of it being rung up: the stock returns to its branch, the payments are reversed and any amount on a khata is credited back. The invoice number is kept. Older sales need a refund, which is not on this server.