Help Center
Complete documentation for ShelfLifePro
ShelfLifePro is an inventory management system built for businesses that sell expiry-dated products, pharmacies, supermarkets, FMCG distributors, bakeries, and dairy stores. This help center covers everything from initial setup to advanced features like AI-powered demand sensing, multi-location stock transfers, product recalls, and the compliance registers pharmacies keep.
Documentation
Need help?
WhatsApp SupportGetting Started
Your first hour in ShelfLifePro: sign in, add stock, make a sale.
Step 0: Sign up (if you haven't already)
- Go to /get-started on the ShelfLifePro site for your region
- Enter your business name, your name, email, and business type
- Create a password and start your 14-day free trial - no credit card
- You land on your dashboard immediately
If anything goes wrong during sign-up, email the support address on our contact page and we'll set the account up for you.
Step 1: Log in
- Visit your ShelfLifePro dashboard (app.shelflifepro.in or app.shelflifepro.net depending on your region)
- Enter your email and password
- Click "Login"
Step 2: Look around - the dashboard is already working
Your new account is not empty. On first login you'll find:
- Sample data, pre-loaded - products and batches matched to your business type, so the dashboard, expiry tiers, and reports work from minute one. It's clearly labelled "sample", never mixes with your real stock, and the "Clear sample data" link on the getting-started card removes it in one click.
- A 5-stop guided tour starts automatically. Skip it freely - replay any time from the "?" button in the top menu.
- A getting-started checklist on your dashboard that ticks itself off as you go: verify your email, add a product, add stock, run the waste diagnostic, print a label, invite your team.
Step 3: Make it yours
- Work through the checklist - each step links to the right screen
- Add locations if you run multiple stores (click "Add Location", name it, save)
- When you're ready for real stock, clear the sample data and start receiving
Sample data
Every new trial account starts pre-loaded with a small dataset matched to your business type (a grocery set, pharmacy set, bakery set, or FMCG distributor set). It makes the dashboard, expiry tiers, and the waste diagnostic work immediately, so you can evaluate with zero setup. It is clearly labelled "sample", never counts as your real activity, and the "Clear sample data" link on your dashboard's getting-started card removes all of it in one click.
The guided tour
A short 5-stop tour runs once on your first dashboard visit - skip it freely. Replay any time via the "?" in the top menu or "Show me around" on the checklist. The tour adapts to your business type: distributors see the warehouse map, pharmacies see compliance features, retailers see POS and markdowns. The book icon next to the "?" opens this Help Center.
The getting-started checklist
A card on your dashboard with six steps that tick themselves off as you go:
- Verify your email
- Add your first product
- Add stock with an expiry date
- Run the waste diagnostic
- Print a batch label
- Invite your team
It disappears when you finish (or dismiss it).
You have three ways to add products:
Method 1: Manual Entry
- Click "Products" in left sidebar
- Click "+ Add Product" (top right)
- Fill in product details (name, SKU, barcode, price, tax rate)
- Click "Save Product"
Method 2: Barcode Scan
- Click "+ Add Product"
- Click "Scan Barcode"
- Point camera at product barcode
- Details auto-fill if found in database
- Complete any missing fields
- Save
Method 3: CSV Import (Bulk)
- Go to Products → Import
- Download template
- Fill in your product data in Excel
- Upload the completed file
- Review and confirm
This is where batch-level tracking happens - the core of ShelfLifePro.
The fastest ways first
- Scan a GS1 2D barcode (QR / DataMatrix) - one scan fills the product, batch number, and expiry date. Phone camera or USB scanner gun.
- Supplier file import - upload your supplier's despatch CSV/Excel and every batch lands with batch numbers and expiry dates filled.
- Shelf-life rules - for items with no printed date (fresh produce, bakery), set a rule once and the expiry is computed automatically on arrival.
Add Stock for a Product (manual)
- Go to Inventory → Stock
- Find your product in the list
- Click "+ Add Stock" next to it
- Fill in:
- Batch Number: As printed on packaging
- Quantity: Units received
- Manufacturing Date: When made
- Expiry Date: When it expires
- Supplier: Where you bought it
- Location: Which store/warehouse
- Cost Price: Your purchase price
- Click "Add Batch"
The diagnostic answers one question: "How much of my stock is at risk in the next 30 days?" - as a number of SKUs and a money figure.
Two ways to run it
In the app at /diagnostic:
- Use my current data - instant, runs on whatever stock is in ShelfLifePro. Works on day one with the pre-loaded sample data (the result is labelled accordingly).
- Upload my stock list - a CSV or Excel with product, quantity, expiry date, and cost. The file is analyzed without being imported - nothing changes in your account - and you get your real number plus a top-10 list of the biggest at-risk items.
What each number means
- SKUs / value at risk: stock that won't clear before expiry in the next 30 days at the current sales pace
- Already-expired value: expired stock still sitting in the data
- No expiry recorded: stock that can't be protected by any system until the dates are captured - 2D scanning, shelf-life rules, and supplier file import all fix this
Navigate to POS
- Click "Sales" in sidebar
- Click "Retail POS" (or "Wholesale POS" for B2B)
Add Products to Cart
- Type product name in search bar, OR
- Scan barcode with camera/scanner
- Click product to add to cart
- Adjust quantity if needed
Complete the Sale
- Apply discount if needed (click "Discount")
- Select payment method (cash, card, UPI)
- Click "Complete Sale"
- Print invoice or send via WhatsApp
What you get without configuring anything
- Dashboard buckets: expiring in 0–7, 8–15 and 16–30 days, plus expired
- A daily alert listing the batches in those buckets - by WhatsApp or email
- Each licence in your register carries its own reminder lead time (see "Licence register" under Account & Security)
Choosing where the daily alert goes
- Go to Settings → Alerts
- Confirm the email address that should receive it
- For WhatsApp, add your number under Settings → Integrations → WhatsApp and verify it with the OTP
- Save
Available in: every plan
Add a New User
- Go to Settings → Users → Add User
- Enter their name and email
- Select a role:
- Admin: full system access, including settings, billing, and user management
- Manager: sees everything and approves operations, but not settings or user management
- Purchaser: creates purchase orders and manages suppliers
- Warehouse: goods receipt, stock, transfers
- Cashier: sales and billing at the POS
- Assign location(s) if you run more than one
- Save
They'll receive an email with login instructions. See "Users, roles & permissions" under Account & Security for what each role can and can't do.
Expiry Management
ShelfLifePro's core strength: batch-level expiry tracking with automatic FEFO enforcement.
The most important number on your dashboard: stock that won't sell before it expires.
How it differs from "expiring soon"
- Expiring soon = the date is near.
- Won't clear = at your actual sales speed, this stock cannot sell out before its expiry - even if the date is months away. That's true projected waste, and it's shown in money.
The math, in plain English
For every batch, ShelfLifePro looks at how many units you have, how many days until expiry, and how fast that product has been selling (the last 4 weeks). If the stock outlasts the runway, the excess units × their cost = your value at risk. A product with no sales at all is flagged "won't clear" entirely - which is exactly when you most need to know.
Where to see it
- A red banner on your dashboard shows the headline: "N SKUs / [amount] won't clear before expiry"
- Click through to the full list at /at-risk, sorted by money at risk
- Each row carries a suggested action: mark down, transfer to another location, or flash sale
Available in: every plan, including trials
Fresh produce, bakery items, and in-house preparations have no printed expiry date - so ShelfLifePro calculates one for you.
How it works
- Set a shelf life once - on the product ("this milk lasts 5 days") or on the whole category ("Bakery: 2 days")
- Whenever stock arrives without an expiry date - via goods receipt, Excel import, or manual entry - the expiry is stamped automatically from the rule
- A scanned or typed expiry date always wins - rules only fill the gap, they never overwrite real dates
Hour-level rules for same-day items
Set "18 hours" on croissants and a batch received at 6 AM expires at midnight - the system tracks the exact time, not just the date.
Where to set rules
Settings → Categories - each category row has Shelf Life (days) and Hourly (hrs) fields. Product-level shelf life is on the product's edit page, and it overrides the category rule.
Available in: every plan
Expired stock cannot be billed. Not a warning, a refusal, on every plan.
What that means at the counter
- The counter offers the earliest-expiring batch first; serving a different batch is recorded in the FEFO override log with a reason
- Recalled batches are refused in the same way
- The nightly expiry sweep moves expired batches out of saleable stock and records the wastage with its cost
Available in: every plan
Every product can have multiple batches, and every batch has its own expiry date.
What Gets Tracked Per Batch
- Batch number: As printed on packaging
- Manufacturing date
- Expiry date
- MRP: Can vary per batch
- Quantity: At each location
- Cost price
Why Batch Tracking Matters
- Compliance: Regulatory requirement for pharmaceuticals
- Recalls: Quickly identify affected products
- FEFO: Sell oldest stock first automatically
- Wastage reduction: Know what expires when
Available in: every plan (the batch trace report included)
Proactive alerts before products expire - by WhatsApp or email.
The buckets
- 0–7 days: act now - mark down, transfer, return or donate
- 8–15 days: the action window is open
- 16–30 days: plan the move
- Expired: cannot be billed - dispose or return, and the wastage is recorded with its cost
The dashboard shows the four buckets with their value; the daily alert lists the batches in them. Each licence in your register carries its own reminder lead time, separate from these buckets.
What's Included in Each Alert
- Product name
- Batch number
- Quantity at risk
- Value at risk (in your currency)
- Days remaining
- Link to take action
Alert Actions
- Apply discount
- Create bundle
- Transfer to another location
- Return to supplier
- Mark for disposal
Available in: every plan
First-Expiry-First-Out automatically at point of sale.
How It Works
- Customer wants to buy a product
- You have multiple batches with different expiry dates
- The counter offers the batch expiring soonest
- Serving a different batch needs a reason, and it is written to the FEFO override log
- Expired batches are refused outright - not a warning, a refusal, on every plan
Available in: Smart Retail and above
Record the lot; it is blocked at every counter, kitchen, transfer and van load. The distribution list is built from your records. The 24-hour authority-notice, weekly Schedule II and 30-day post-report clocks run from the moment the lot is recorded (Food Recall Regulations 2017, regulations 6(1), 6(3), 8(4), 9 and 11). The packet is produced in Schedule I and Food Recall Notice format, prepared for you to submit - not a submission.
How
- Compliance → Recalls → New recall (/recalls/new)
- Enter the lot. From that moment it is refused everywhere - POS, kitchen issue, stock transfer and van load
- The distribution list is built from every sale, transfer and van load that carried the lot
- Each clock shows its due time on the recall; the packet exports as a PDF for you to submit
Available in: Pro Growth and above
Identify slow-moving stock before it expires.
What It Calculates
- Velocity: Units sold per day
- Days to expiry: How long until it expires
- Days to sell: At current velocity, how long to clear stock
What It Suggests
- Discount percentage to accelerate sales
- Bundle with faster-moving products
- Transfer to higher-velocity location
- Return to supplier (if within policy)
Available in: Pro Growth and above
A markdown is the first recovery step for stock that won't clear before expiry. Instead of watching a batch die at full price, ShelfLifePro drops its price on a schedule you set, and the POS charges the marked-down price automatically.
How the ladder works
You write rules in the form "at N hours (or days) before expiry, take X% off". Rules are evaluated in priority order and the first match wins, so a batch steps down the ladder as its expiry approaches. The defaults are a reasonable starting point:
- 48 hours out - 10% off (monitor)
- 24 hours out - 15% off (warning)
- 12 hours out - 25% off (urgent)
- 6 hours out - 40% off (critical)
Rules can be set per category, because what a bakery can afford to give away is not what a dairy line can.
Margin protection
Every markdown is checked against cost plus your minimum margin. The ladder will never take a price below that floor, no matter what the rule says. Any price change is written to an audit trail with the rule that caused it.
Where to work
- Go to /markdowns to see marked-down batches and set your rules
- Marked-down items show their new price at the POS automatically - staff do nothing
- Reports → Markdown ROI shows what the discounts actually recovered
Available in: Smart Retail and above
A flash sale is a short, time-boxed clearance event - "next two hours only" - aimed at batches that will not survive the day. Where the markdown ladder is a steady drip, a flash sale is a single push.
Creating one
- Go to /flash-sales → New flash sale
- Set the window (start time and duration)
- Let the system auto-select batches nearing expiry, or pick them yourself
- Set the discount tier - deeper for the most urgent stock
- Start the sale
What it protects
Like markdowns, flash sale pricing never goes below cost plus your minimum margin. When the window closes, prices return to normal on their own.
Telling people about it
Pair a flash sale with the WhatsApp Status Booster to put the offer in front of customers who are already nearby. The Flash Sale report shows units moved and value recovered per event, so you learn which discounts actually shift stock.
Available in: Smart Retail and above
When a batch can't be sold, can't be discounted far enough, and can't be returned, donation is the last step before waste. ShelfLifePro records it properly instead of letting it disappear as shrinkage.
Setting up
- Add your donation partners (food bank, community kitchen, NGO, temple) in Settings
- Go to /donations - the system suggests candidate batches: near-expiry stock that hasn't moved even after discounting
- Confirm the donation. The quantity is deducted from the batch and a donation receipt is generated
What you get back
- A receipt per donation, with batch numbers and quantities
- A running record of what was donated, to whom, and when
- Impact totals you can use in your own reporting
Available in: Smart Retail and above
Product Management
Managing your product catalog, barcodes, and inventory.
Product Fields
- Name: Product name as displayed
- SKU: Your internal reference code
- Barcode: EAN-13, UPC-A, or Code 128
- Category/Subcategory: For organization and reports
- MRP: Maximum Retail Price (as printed)
- Selling Price: Your actual price (can be below MRP)
- Unit: Pieces, kg, liters, etc.
- Reorder Level: Alert when stock falls below
- Reorder Quantity: Suggested order amount
- Tax Rate: GST percentage (5%, 12%, 18%, 28%)
- HSN Code: For GST invoicing and GSTR reports
Available in: every plan
Lifecycle management beyond active/inactive:
- Active: Selling normally
- Slow-Moving: Alert to take action (discounts, bundles)
- Near-Expiry: Aggressive promotion needed
- Discontinued: Liquidate remaining stock
- Seasonal: Pause during off-season (e.g., umbrellas in winter)
Available in: Smart Retail and above
Use Cases
- Quick add to POS cart
- Look up product information
- Add new products (auto-fill from OpenFoodFacts database)
- Stock count verification
Supported Formats
- EAN-13
- UPC-A
- Code 128
- GS1 2D barcodes: QR and DataMatrix
2D barcodes fill batch + expiry for you
GS1 2D barcodes carry the product code, batch number, and expiry date inside the code. Scan one - on the scan page or at goods receipt, with the camera or a USB gun - and those fields fill themselves. Regular 1D barcodes (EAN/UPC) keep working exactly as before; they identify the product only.
Available in: Smart Retail and above
Many products now carry a GS1 2D barcode - a QR code or DataMatrix square - that contains the product code (GTIN), batch number, expiry date, and serial number. Scan a GS1 QR or DataMatrix and the batch, expiry and serial fill themselves at receipt and at the pharmacy verification screen.
Where it works
- Scan page (Products → Scan, or /barcode/scan): scan with your phone camera or a USB scanner gun. ShelfLifePro shows the matched product with the batch and expiry it read, and one tap takes you to goods receipt with everything pre-filled.
- Goods Receipt (GRN): point your scanner gun at each case as it arrives - the line is added with product, batch number, and expiry date filled in. Scanning the same batch again increases the quantity; a different batch gets its own line automatically (different expiry = separate batch).
Why this matters
- Pharmacies: medicine packs increasingly carry a GS1 QR or DataMatrix with the batch and expiry inside - scanning it means zero typing at receiving, and the pharmacy verification screen reads the same code.
- Retail worldwide: under GS1 "Sunrise 2027", retail products are moving from the old striped barcode to 2D barcodes that carry expiry and batch. ShelfLifePro is ready today.
Hardware
Your phone camera works out of the box. For counter use, any 2D-capable USB scanner gun (they act like keyboards) is plug-and-play.
Regular 1D barcodes (EAN/UPC) keep working exactly as before.
AI extracts data from supplier invoices automatically.
How to Use
- Go to GRN → Create New
- Click "Smart Import"
- Take photo of invoice OR upload PDF
- Wait 10-30 seconds for processing
- Review extracted data
- Correct any errors
- Add expiry dates
- Confirm GRN
What Gets Extracted
- Line items (product names)
- Quantities
- Prices
- Batch numbers
- Expiry dates (if printed)
Available in: Pro Growth and above
Track products by weight (kg) instead of units.
Use Cases
- Fresh produce (fruits, vegetables)
- Meat and poultry
- Bulk grains and pulses
- Cheese and deli items
Features
- Per-kg pricing
- Wastage tracking (trimming, spoilage)
- Yield calculation
Available in: Pro Growth and above
Loose stock, repacked stock, and anything that arrives without a usable barcode can carry a ShelfLifePro batch label instead - a QR code that identifies the exact batch, not just the product.
What's in the label
Batch labels print name, batch, expiry, quantity and a QR. The QR resolves to the exact batch. Scanning it anywhere in the app resolves straight to that batch, which means the POS knows exactly which expiry date it is selling and can check the pick against FEFO in real time. If someone scans a later-dated batch while an earlier one is still on the shelf, the system says so.
Printing labels
- Go to /batches/print-labels
- Filter to the batches you want - a whole goods receipt, a location, or a date range
- Choose your label size and print
The usual workflow: receive stock, print the sheet for that receipt, stick them on.
Available in: Pro Growth and above
Three different jobs, often confused. Use the right one and your wastage numbers stay honest.
Cycle counts - checking that the system matches the shelf
- Go to /cycle-counts → create a count for a location, category, or ABC class
- Start counting - staff enter what they physically find
- Submit for approval. Variances are reviewed and either approved (stock is corrected) or rejected for a recount
- Set up schedules so counts recur without anyone remembering
Zero-stock verification is the cheap version: whenever the system thinks a product has hit zero, someone is asked to confirm the shelf is actually empty. It catches the most common cause of phantom stock.
Stock adjustments - correcting a known number
Use /stock-adjust when you already know the truth (a miscount at receiving, a unit found behind a shelf). Adjustments deduct from, or top up, real batches following FEFO, so an adjustment never leaves you with stock that has no expiry date attached.
Damage logging - recording loss with evidence
/damage records breakage, spoilage, and pilferage against a batch, with a reason, the action taken, and an optional photo. This is what you want for anything you'll later analyse or claim on - a bare adjustment tells you nothing about why.
Available in: Pro Growth and above
Point of Sale (POS)
Everything about retail and wholesale billing.
Counter sales to walk-in customers.
Features
- Scan or search products to add to cart
- Automatic FEFO batch selection
- Apply discounts (percentage or fixed amount)
- Multiple payment methods (cash, card, UPI)
- Print the invoice or send it on WhatsApp
- Customer lookup (for loyalty/history)
Keyboard Shortcuts
- F1: Focus search bar
- F2: Apply discount
- F8: Complete sale
- Esc: Cancel current sale
Available in: Smart Retail and above
B2B sales to other businesses.
B2B-Specific Features
- Separate wholesale pricing per product
- Customer tax registration (GSTIN) on the invoice
- Batch selection (FEFO default, manual override available)
- Credit sales (pay later) with terms
- Delivery challan + tax invoice
- Outstanding balance tracking
Available in: Pro Growth and above
Supported Methods
- UPI (Google Pay, PhonePe, Paytm, etc.)
- Credit/Debit Cards
- Netbanking
- Wallets
Features
- UPI QR at the counter
- Payment links sent on WhatsApp (Elite)
- Track payment status (pending/completed)
- Automatic sale creation on payment success
- Settlement reports
Available in: Smart Retail and above (gateway and UPI QR); payment links on Elite and above
Tax-compliant invoices for Indian market.
Automatic Calculations
- CGST + SGST: For intra-state sales (same state)
- IGST: For inter-state sales (different state)
- System detects based on customer state vs. your state
Invoice Contents
- Your GSTIN
- Customer GSTIN (if B2B)
- HSN code per item
- Tax breakdown (rate, amount)
- Invoice number (auto-generated)
Available in: Smart Retail and above
Your 14-digit FSSAI number prints on every bill; a branch licence in the register prints on that branch's bills. FSSAI has required the licence number on invoices since 1 October 2021.
How
- Settings → Store profile → FSSAI number
- For a branch with its own licence, add that licence in the register (Settings → Licences) with the branch selected - its number prints on that branch's bills
Available in: Smart Retail and above
Your store's primary register keeps billing during internet outages.
What Works Offline
- Cash and store-credit sales (card and UPI need a connection)
- Viewing the product catalog
- Checking stock levels
- Printing invoices (if local printer)
How It Works
- One designated primary register per store bills offline; other counters need a connection
- Sales are stored locally on the device and queued
- Automatic sync when internet returns: each sale is confirmed or flagged with a reason, so stock reconciles with no double-billing
- Scheduled pharmacy drugs (H1/X) require a live connection to bill, for regulatory compliance
Available in: Smart Retail and above
Processing a Return
- Go to Sales → Returns
- Find original sale (by receipt number or search)
- Select items being returned
- Enter reason (expired, damaged, wrong item, etc.)
- Choose: Refund or Credit Note
- Decide on stock: Restock or Dispose
Return Analytics
- Return rate by product
- Common return reasons
- Value of returns
Available in: Pro Growth and above
If more than one person bills at your counter, shifts are how you find out where cash goes missing - at the shift that lost it, not at the end of a month of guessing.
The shift cycle
- Open: the cashier opens a shift at /cashier/shift and records the opening float in the drawer
- Sell: every sale during the shift is attached to that cashier and that shift
- Close (blind): at the end, the cashier counts the drawer and enters the number without being shown what the system expects
- Variance: ShelfLifePro compares counted cash against expected cash and flags the shift as short, over, or within tolerance
Settings worth setting
- Variance tolerance: the amount of daily rounding you're willing to ignore. Anything beyond it raises an alert
- Petty cash: record money taken out of the drawer during the shift so it doesn't look like a shortage
Past shifts and their variances are listed at /cashier/shifts, per cashier and per location.
Available in: Smart Retail and above
Purchasing & GRN
Managing suppliers, purchase orders, and goods receipts.
Supplier Information
- Supplier name and contact person
- Address and phone
- Tax registration (GSTIN and PAN)
- Credit terms (15/30/45 days)
- Payment history
- Supplier rating and notes
Supplier Scoring
Rate suppliers on batch freshness quality:
- Average shelf life at delivery
- Delivery timeliness
- Quality issues (damaged/wrong items)
- Rejection rate
Available in: Pro Growth and above; supplier scoring on Elite and above
Creating a PO
- Go to Purchasing → Purchase Orders → New
- Select supplier
- Add products with quantities
- Set expected delivery date
- Save as Draft or Send
PO Workflow
- Draft: Work in progress
- Sent: Shared with supplier (via WhatsApp)
- Received: Goods arrived, GRN created
- Cancelled: Order cancelled
Available in: Pro Growth and above
A Goods Receipt Note (GRN) is the record created every time stock arrives at your store or warehouse. It captures batch numbers, expiry dates, quantities, and prices, this is the data that powers expiry tracking. No GRN means no batch tracking means no alerts. Getting GRN right is the single most important habit in ShelfLifePro.
Five Ways to Create GRN
1. Smart Import (OCR) ⭐
Take a photo of the invoice and the fields are read for you - roughly 80–90% of a printed invoice on the first scan, 60–70% handwritten. Review, correct the rest, confirm.
2. Supplier File Import ⭐
Upload the supplier's despatch CSV/Excel - lines match your catalog, batches and expiry dates land filled. The matcher learns your supplier's item codes, so the second file matches itself. See "Supplier File Import (Zero-Typing Receiving)" in this category.
3. GS1 2D Barcode Scanning ⭐
Point a scanner gun (or camera) at each case as it arrives - the line is added with product, batch number, and expiry date filled from the barcode. Same batch scanned again increases quantity; a different batch gets its own line.
4. From Purchase Order
If you created a PO, load it and adjust quantities to match actual delivery.
5. Manual Entry
The fallback for small deliveries and odd lines. Add products, quantities, batch numbers, expiry dates by hand.
What Gets Recorded
- Supplier and invoice number
- Products, quantities, prices
- Batch numbers
- Manufacturing and expiry dates
- Location where stock is stored
- Quality check (pass/fail/partial)
Available in: Pro Growth and above
If your supplier can send a despatch file (CSV or Excel), receiving becomes "review and confirm" instead of data entry.
How it works
- Go to Goods Receipt → "Import supplier file" (or /grn/supplier-import)
- Pick the supplier and the receiving location, then upload their file. Common column layouts are detected automatically (Item Code / Description / Lot No / Expiry or BBE / Qty / Rate and similar)
- ShelfLifePro matches each line to your catalog - by your supplier's item code if it's seen it before, by your SKU/barcode, or by intelligent name matching (it copes with misspellings and abbreviations). Uncertain matches show suggestions for you to pick from
- Review the table - every line shows the batch number and expiry date read from the file, editable if needed
- Click "Create GRN" - stock, batches, and expiry dates land in one go
It learns
When you confirm matches, ShelfLifePro remembers that supplier's item codes - the next file from the same supplier matches automatically.
Available in: Pro Growth and above
When you need to return stock to a supplier, expired goods, damaged items, overstocked products nearing expiry, ShelfLifePro generates the return documentation and tracks the credit you are owed.
Creating a Supplier Return
- Go to Purchasing → Supplier Returns → New Return
- Select the supplier
- Select the GRN/batch being returned
- Enter quantities and reason (Expired / Damaged / Near-Expiry / Wrong Product)
- System generates a Debit Note automatically
- Send to supplier via WhatsApp or email
What a Debit Note Contains
- Your tax registration and the supplier's (GSTIN)
- Original invoice reference
- Batch numbers and expiry dates of returned goods
- Quantity and credit amount
- Tax reversal details
Available in: Pro Growth and above
ShelfLifePro can automatically flag products that need reordering, either based on stock level thresholds you set, or based on AI-calculated velocity (how fast each product sells).
Setting Reorder Points
- Go to Products → Select a product
- Set "Reorder Level" (units), alert triggers when stock falls below this
- Set "Reorder Quantity", suggested order amount
- Save
Reorder Alerts
- WhatsApp alert when stock hits reorder level
- Dashboard shows a consolidated "Reorder Needed" list
- One-click creates a draft PO for all items needing reorder
AI-Assisted Reorder (Elite)
Instead of manually setting reorder points, the Smart Reorder AI calculates optimal thresholds for every product based on sales velocity, lead time from your supplier, and upcoming demand signals (festivals, seasons). Review weekly suggested POs and confirm with one click.
Available in: Smart Retail and above (reorder points and alerts); Elite and above (AI-assisted)
Most suppliers will take stock back - but only inside a window, and the window closes long before the expiry date. Miss it and a returnable batch silently becomes your loss. This is the single most recoverable money in the system, and it is lost by not looking.
Record the policy once, per supplier
- Open the supplier and set their return policy
- Window type: days before expiry (the common one), days from the purchase date, a fixed date window, or "no returns"
- Window length: e.g. 180 days before expiry
- Conditions: unopened only or any condition, minimum return quantity, whether the original invoice is required, any restocking fee
- Scope: categories the policy applies to, and categories it excludes
What happens then
- ShelfLifePro watches every batch against its supplier's window and alerts you before the window shuts - by default 30 days ahead, and again as it gets urgent
- Alerts group by urgency (closing within 7 days, within 14 days) and carry the value at risk, so you can see what the deadline is worth
- You act on them at /debit-notes: raise the return, generate the debit note, send it to the supplier. Pharmacies also get a dedicated return-alerts screen with the same list
Available in: Pro Growth and above
Multi-Location
Managing multiple stores, warehouses, and stock transfers.
Setting Up Locations
- Go to Settings → Locations → Add Location
- Enter location name (e.g., "Main Store", "Warehouse", "Mall Branch")
- Add address details
- Assign users to this location
- Save
Location Types
- Store: Retail location with POS
- Warehouse: Storage only, no direct sales
- Distribution Center: Ships to multiple stores
Available in: every plan manages your one location (Smart Retail is a single-location plan). Running more than one - with stock transfers, consolidated reporting, and cross-location expiry visibility - starts at Pro Growth (3 locations); Elite is unlimited.
Move stock between your locations.
Transfer Workflow
- Create Request: Select source, destination, products, quantities
- Approve: Source location approves
- Ship: Mark as in-transit
- Receive: Destination confirms receipt
Smart Transfer Suggestions
System suggests transfers when:
- Product expiring at Location A, but selling fast at Location B
- Overstocked at one location, understocked at another
Available in: Pro Growth and above
Same product, different prices at different locations.
Use Cases
- Mall location: Higher prices (higher rent)
- Residential area: Competitive prices
- Outlet store: Discounted prices
How to Set
- Go to Products → Select product
- Click "Location Pricing"
- Set price for each location
- Save
Available in: Pro Growth and above
What You Can See
- Sales across all locations
- Inventory totals by product
- Expiry overview (all locations combined)
- Revenue comparison by location
Location Comparison
- Best performing store
- Worst performing store
- Product velocity by location
- Expiry rates by location
Available in: Pro Growth and above
One grid: every SKU down the side, every warehouse or store across the top. Each cell shows what's on hand there and the earliest expiry sitting in it. This is where you see, in one screen, that Warehouse B is holding four months of a line that Warehouse D sells out of every fortnight.
Reading the grid
- Open /warehouse-map
- Cells are coloured by expiry risk, so short-dated concentrations stand out without reading a number
- Totals per SKU and per location sit on the edges - use them to spot imbalance before you look at individual cells
Transfer suggestions
Alongside the grid, ShelfLifePro proposes moves: take this batch from the location that won't clear it, send it to the location that will. Each suggestion carries the reason and the value it protects. Accept one and it becomes a normal stock transfer with full batch tracking; ignore it and nothing happens. You can regenerate the suggestions on demand after a big receipt.
Available in: Pro Growth and above (multi-location)
Pharmacy Compliance
Registers, drug schedules, ward indents, controlled counts, cold chain and recalls for pharmacies.
The Schedule H1 register fills itself from purchases and sales of Schedule H1 drugs.
What Gets Recorded (Purchases)
- Date of purchase
- Supplier name and license number
- Drug name and batch number
- Quantity received
- Invoice number
What Gets Recorded (Sales)
- Date of sale
- Patient/buyer name
- Prescribing doctor's name
- Doctor's registration number
- Drug name and batch number
- Quantity sold
- Prescription number
Viewing the Register
- Go to Reports → Compliance → H1 Register
- Select date range
- View, print, or download PDF
Available in: Pro Growth and above
Schedule H Drugs
Prescription-only medicines. System requires:
- Prescription number before sale
- Doctor name (optional)
Schedule H1 Drugs
Stricter documentation required. System requires:
- Patient name
- Doctor name
- Doctor registration number
- Prescription number
- All recorded in H1 Register
Schedule X Drugs (Narcotics)
Highest restriction level. System requires:
- All H1 fields plus additional details
- Dual authorisation - a second user signs off the sale
- Separate Schedule X register
- Prescription image/scan
Setting Drug Schedule
- Go to Products → Select product
- In "Compliance" section, select Drug Schedule
- Save
Available in: Pro Growth and above (the registers); the schedule field on the product is on every plan
Temperature Requirements
- Refrigerated: 2°C to 8°C (vaccines, insulin, etc.)
- Frozen: -15°C to -25°C
- Controlled room temp: 15°C to 25°C
Setting Up Equipment
- Go to Settings → Cold Chain → Equipment
- Click "Add Equipment"
- Enter: Name, Location, Min/Max temperature, Alert threshold
- Save
Logging Temperature
- Go to Cold Chain → Log Temperature
- Select equipment
- Enter current reading
- Add notes if needed
- Save
Temperature Excursion
If temperature goes out of range:
- System sends alert
- Quarantine affected products
- Document the excursion
- Contact manufacturer for guidance
What Inspectors Check
- Valid licenses displayed and current
- H1 Register for Schedule H1 transactions
- Purchase records with proper invoices
- Storage conditions (temperature)
- Expired stock handling (segregated)
- Prescription records
- Batch traceability
Quick Inspection Checklist
- ☐ All licenses current and displayed
- ☐ H1 Register up to date
- ☐ GRN records complete with expiry dates
- ☐ Cold chain temperature logs available
- ☐ Expired products segregated and marked
- ☐ Prescription copies filed
Reports to Have Ready
- H1 Register: Reports → Compliance → H1 Register
- Purchase Records: Reports → GRN Report
- Sales Records: Reports → Sales Report
- Temperature Logs: Reports → Cold Chain → Temperature Log
- Licences: Pharmacy → Drug Licenses - the register with each licence's expiry and its renewal reminder
For hospital and nursing-home pharmacies: a ward raises an indent against a patient's IP number and bed; the pharmacy issues from the earliest-expiring batch; consumption is recorded against the ward and the patient reference.
How
- Pharmacy → Ward indents → New
- Enter the ward, the patient IP number and bed, and the items
- Issue - the earliest-expiring batch is offered first; issuing another batch needs a reason
- Consumption shows by ward and by patient reference
Available in: Pro Growth and above
Scheduled blind counts of controlled stock: the counter does not see the book quantity, a witness confirms the count, and any variance opens a loss record.
How
- Pharmacy → Controlled counts → New count
- Count what is physically there - the expected figure is hidden until you submit
- A second user confirms as witness
- A variance opens a loss record, with its clock, for you to investigate
Available in: Pro Growth and above
Recurring compliance tasks with a due date and an owner. Each completion is written to a hash chain that cannot be altered afterwards, so the record shows who did what and when.
How
- Compliance → Tasks → New
- Enter the title, frequency and owner
- Complete from the task list; the chain entry is created on completion
Available in: Pro Growth and above
Industry Workflows
The parts of ShelfLifePro that only make sense in one trade: flowers, fresh produce, agri-inputs, catering kitchens, distributor beats, and bakery production.
Flowers don't carry a printed expiry date. What they carry is a cut date and a cold-chain history, and the number your buyer actually cares about is "how many days of vase life are left in this box". ShelfLifePro tracks that as a live clock.
Receiving a consignment
- Record the cut date as the manufacturing date on the batch - this starts the clock
- Set the variety's vase life in hours (Settings → Categories, or on the product) so the clock has a length
- Grade on arrival with the freshness tier (A, B, open bloom) and put anything doubtful on quarantine hold before it's released to sell
- Assign the cold room or bucket line as the storage location - the temperature record is kept per location, so this is what ties a box to its evidence
Remaining vase life, and how much to trust it
Remaining vase life is calculated fresh every time you look - the clock minus now - and it always comes with an evidence grade:
- Verified - temperature readings cover the box's whole life with no meaningful gap
- Partial - readings exist, but there are gaps
- Nominal - no temperature record at all; you're looking at the nominal clock and nothing more
A number without a grade is a claim you can't back, which is why the two are never shown apart.
Excursions shorten the clock
When the cold room drifts out of range, the affected batches are debited: warmer flowers age faster, so the clock moves in. The debit is an estimate based on a temperature-response factor per variety, and it is labelled as an estimate everywhere it appears. Because FEFO, the at-risk list, and the clearance ladder all read the same clock, one debit re-sorts every downstream screen automatically.
Selling the clock
- FEFO is hard-enforced - the oldest cut date leaves first, always
- Surplus stems move through the hourly clearance ladder and flash sales rather than sitting
- Van routes to florists and event buyers are booked as beats (see the distributor article in this category)
- There is no retail counter in this setup - the sales paths are B2B
Produce loss is visible on a scale. A crate that arrived at 20 kg and leaves as 18.4 kg of saleable stock lost 1.6 kg somewhere - to dehydration, to trimming, to grading out. If you don't weigh it, it disappears into "wastage" and you never learn which line or which supplier is costing you.
The measurement loop
- Record the harvest date as the manufacturing date - the freshness clock, same idea as a cut date on flowers
- Weigh at receiving - the GRN takes nominal and actual weight for weight-based lines and records the variance against what was invoiced
- Weigh again when you grade, pack, or issue. /production/weight-tracking records the difference
- The weight-loss report shows shrink by product, by batch, and by supplier over time
Dehydration curves
Different produce loses weight at different rates - leafy greens are not tomatoes. ShelfLifePro carries loss curves per category, so expected shrink is separated from unexpected shrink. Expected shrink is a cost of trade; unexpected shrink is a cold room, a handler, or a supplier.
The rest of the setup
- Hour-level expiry for leafy lines that die the same day, with the clearance ladder running hourly
- Cold room and ambient ripening tracked as separate storage locations, with temperature logs
- Pack hierarchy - kg to crate to pallet - with conversions between the units you buy and sell in
- Van routes to kiranas, hotels, and caterers booked as beats
- Quarantine hold on arrival for anything that needs inspecting before release
Weigh the consignment in at receiving: nominal against actual, with the variance recorded to the batch. Price by weight from the product form through to the sale line. Units per product: kg → crate → pallet. A weight-loss report shows shrink as stock sits.
How
- On the product, mark it as sold by weight and set its unit hierarchy
- At goods receipt, enter the nominal and the actual weight - the variance is written to the batch
- Weigh again at grading, packing or issue at /production/weight-tracking; the weight-loss report reads the difference
Available in: Pro Growth and above
A seed, pesticide, or fertiliser dealer has a different at-risk workflow to every other retailer in this system: you cannot discount your way out of near-expiry stock. Selling expired agricultural inputs isn't a margin decision, it's a legal one. So the clearance ladder is switched off for this trade, and the money is recovered by returning stock to the company inside its return window.
What to set up first
- Record each company's return policy against the supplier - window length, window type, conditions, excluded categories
- Capture batch numbers, manufacturing dates, and expiry dates at goods receipt, every time. No batch, no claim
- Turn on return-window alerts so you're told before a window closes, not after
See "Supplier Return Windows: Claim Before the Window Closes" under Purchasing for the full workflow. Returns are raised at /debit-notes.
At the counter
- MRP is recorded. Products and batches carry the printed MRP so it is on the record at billing - the POS does not yet block an over-MRP price, so that check stays with the counter
- FEFO is advisory, not blocking. A farmer may insist on a fresher date and that sale still has to go through - the system warns rather than refuses, and records the override
- Manufacturing date and batch are captured on the invoice, because that's what a dealer inspection asks for
Recalls and withdrawn batches
Banned and withdrawn product classes are a real event in this trade. Batches carry a recall status, so a withdrawn batch can be flagged, stopped from sale, and traced through what was already sold.
In a commercial kitchen the loss doesn't happen at a till - it happens when the pantry issues stock to a kitchen without looking at dates, and the oldest crate stays at the back until someone throws it out. Requisitions are the FEFO-guided issuing loop that closes that hole.
The loop
- A kitchen or cost centre raises a requisition at /requisitions/new: what they need, how much, from which pantry
- As each line is added, ShelfLifePro shows the FEFO recommendation - which batch should go, and what's on hand right now
- The storeman fulfils it at /requisitions/fulfil, picking the recommended batches
- Picking something other than the FEFO batch is allowed, but it requires a reason, and the reason is recorded
- Optionally the receiving kitchen confirms what actually arrived
What falls out of it for free
- FEFO compliance - a single number, plus the list of every override and why. This is the KPI to run the kitchen on
- Consumption by cost centre - what each kitchen actually used, by product, and what it cost. Food cost stops being a monthly guess
- Cost centres you define yourself - by kitchen, by outlet, by event
Available in: catering and restaurant accounts
A beat is a named route of retailers. Your salesman walks it, books orders on his phone, and the van follows. ShelfLifePro runs the whole cycle - booking, loading, delivery, and cash - against real stock and real expiry dates.
1. Set up the beats
Create a beat, give it a day of the week, and attach its retailers in visit order. That order is the route.
2. Book orders in the field
- At /beats/book the salesman picks the beat and the retailer, and books line by line
- Each product shows on-hand stock and its soonest expiry, with a "push this" hint on near-expiry lines - that's how short-dated stock gets placed where it will actually sell
- Booking does not deduct stock. It's an order, not a sale
3. Load the van
At /beats/load, the load preview totals the day's booked orders for that beat and suggests a FEFO pick. Confirming the load is a real stock transfer from the godown into the van - the van is a stock location like any other, so from that moment stock is on the vehicle, not in the warehouse.
4. Deliver
- At /beats/deliver the run shows the day's stops in visit order
- Delivering creates the real sale, picked FEFO from van stock, with part-delivery supported line by line
- A stop that can't be served is skipped with a reason, so the route data stays honest
5. Collect the money
Collections are recorded on the beat at /beats/collections: the retailer's outstanding and open invoices come up oldest-first, you record cash, UPI, or cheque, and the payment is allocated against invoices automatically with a receipt number. The end-of-beat summary shows delivered against collected, per retailer.
Available in: Pro Growth and above, for distributor and manufacturing accounts
When shelf life is measured in hours, a system built around dates is useless. This setup runs on the clock.
Hourly expiry
Set shelf life in hours on the product or category - "croissants: 18 hours" - and a batch received or produced at 6 AM expires at midnight, not "today". Every expiry screen, the at-risk list, and the clearance ladder all read the exact time.
Production runs
- Define recipes at /production/recipes - what goes into each item, and in what quantity
- Start a run at /production/runs: ingredients are consumed from batches, output is created as a new batch with its own production time and expiry
- Yield reports compare what a run should have produced against what it did, so a drifting yield gets noticed
The clearance ladder, hourly
Markdown rules step down through the day - 10% at 48 hours out, deeper at 24, deeper again at 12 and 6 - with a floor at cost plus your minimum margin. Flash sales handle the "next two hours only" push. See the Expiry Management category for both.
Day-old transition
Bread that stops being today's bread doesn't have to be waste. Day-old transition moves stock to its day-old identity and price automatically rather than relying on someone remembering at closing time.
Planning tomorrow
- Production forecast - how much to bake tomorrow, from your own sales pattern plus the calendar
- Custom cake orders - forward orders with dates, so production plans include what's promised
- The dairy & bakery dashboard puts today's production, today's expiry, and today's markdowns on one screen
Available in: hourly expiry, the dairy & bakery dashboard, day-old transition and custom cake orders on Smart Retail and above; recipes and production runs on Pro Growth and above
Reports & GST
Sales, expiry and stock reports, GST filing, and business analytics.
ShelfLifePro generates all GST reports you need for monthly filing. Since every sale is tagged with the correct HSN code and tax rate at the time of billing, your reports are always accurate, no manual spreadsheet reconciliation required.
Available Reports
- GSTR-1 Report: Outward supplies (sales), monthly. Lists every B2B and B2C invoice with GSTIN, amount, and tax breakdown.
- GSTR-3B Report: Monthly summary return. Shows total output tax liability and input tax credit at a glance.
- HSN Summary: Product-wise tax breakdown grouped by HSN code. Required for GSTR-1 if annual turnover exceeds ₹5 crore.
- B2B Invoice Register: All sales to GST-registered customers with their GSTINs.
- B2C Consolidated: Aggregate sales to unregistered customers by state.
Generating GST Reports
- Go to Reports → GST
- Select report type
- Choose month/quarter
- Click Generate
- Export to Excel for filing on the GST portal
Available in: Pro Growth and above
Required for goods movement over ₹50,000.
When E-Way Bill is Needed
- Inter-state movement of goods
- Intra-state movement over ₹50,000 (varies by state)
How to Generate
- System auto-prompts when invoice exceeds threshold
- Enter vehicle number and transporter details
- Click "Generate E-Way Bill"
- Bill number appears on invoice
Available in: Pro Growth and above
ShelfLifePro's reporting suite gives you a complete picture of how your business is performing, where money is leaking, and which products need attention. All reports can be exported to Excel or PDF.
Sales Reports
- Daily/weekly/monthly sales totals
- Product-wise, category-wise, location-wise breakdown
- Revenue, profit, and margin analysis
- Top 10 products and top 10 customers
- Sales trends with period comparison (this month vs. last month)
- Payment method breakdown (cash / card / UPI)
Expiry & Wastage Reports
- Expiry report: expiring and expired batches - the 0–7, 8–15 and 16–30 day buckets plus expired, with value at risk
- Wastage report: what the nightly expiry sweep wrote off, with its cost, by period
- Batch trace: one-click backward and forward trace on any batch
Purchase & Procurement Reports
- Supplier-wise purchase totals and frequency
- Product-wise procurement cost over time
- Price trend tracking (catching supplier price creep)
- GRN discrepancy report (ordered vs. received)
Understanding your actual margin per product, not just revenue, is the difference between a thriving store and one that is busy but broke. ShelfLifePro calculates gross profit automatically from your purchase prices (recorded at GRN) and selling prices (from POS).
What the Margin Report Shows
- Gross margin %: Per product, per category, per location
- Contribution to profit: Which products drive the most profit (high-volume low-margin vs. low-volume high-margin)
- Margin erosion alerts: Products where your margin has compressed vs. 3 months ago
- Discount impact: How much margin was given away in promotions
How to Use It
- Go to Reports → Profitability
- Select time period
- Sort by "Margin %" to find your least-profitable products
- Sort by "Profit" to find your top contributors
Available in: Pro Growth and above
Not all suppliers are equal. Some consistently deliver stock with 90% of shelf life remaining; others send stock that expires within 2 months of delivery. ShelfLifePro tracks this automatically so you can make buying decisions with data, not gut feel.
What Gets Measured
- Average shelf life at delivery: Across all batches received from this supplier
- Short-dated delivery rate: % of batches arriving with less than 60 days shelf life
- Delivery reliability: On-time delivery rate vs. promised date
- Return rate: % of purchases that were later returned (expired/damaged)
- Invoice accuracy: GRN discrepancy rate
How to Access
Go to Reports → Suppliers → Supplier Scorecard. Select a supplier to view their detailed performance history.
Available in: Elite and above (supplier scoring); the GRN and purchase reports it reads from are Pro Growth and above
The stock valuation report tells you exactly how much capital is tied up in inventory at any point in time, broken down by category, location, and expiry risk band.
Valuation Methods
- Cost price (default): Based on what you paid at GRN
- MRP: At maximum retail price
- Weighted average cost: Averaged across multiple batches at different prices
Dead Stock Report
Products that have not sold a single unit in the last 30/60/90 days while still holding stock. These are capital traps.
- Products unsold for 30+ days
- Capital tied up (cost × quantity)
- Days of stock remaining at last sale velocity
- Risk: will it expire before it sells?
Available in: Smart Retail and above (stock valuation and stock aging); dead-stock analysis on Pro Growth and above
AI Features
AI modules that reduce waste and optimise operations. Available on Elite, except where an article says otherwise.
Ask questions about your inventory in natural language.
Example Questions
- "Which products are expiring this month?"
- "Show me slow-moving items in dairy category"
- "What's my average daily revenue?"
- "Which supplier gives the freshest stock?"
- "Compare sales between my two stores"
How to Use
- Click the AI Assistant icon (bottom right)
- Type or speak your question
- AI analyzes your data and responds
Available in: Elite and above
AI-powered markdown recommendations to minimize losses.
What It Analyzes
- Days to expiry
- Current sales velocity
- Current margin
- Historical discount effectiveness
What It Suggests
Example recommendation:
"Apply 15% discount on Yogurt (Batch YOG-234) starting today. Expected recovery: 84% of the at-risk value."
Available in: Elite and above
AI creates discount bundles from near-expiry products.
How It Works
- Identifies complementary products (both near expiry)
- Creates attractive bundle (e.g., "Italian Night: Pasta + Sauce")
- Calculates optimal discount
- Auto-promotes via WhatsApp Status
Example Bundle
"Weekend Breakfast Bundle - 20% off"
Bread (exp. 5 days) + Jam (exp. 10 days) + Butter (exp. 8 days)
Available in: Smart Retail and above (the auto-bundler)
Festival and weather-based demand prediction.
What It Predicts
- Festivals: "Diwali in 30 days - expect 2.5x surge in sweets"
- Weather: "Monsoon starting - umbrella demand rising"
- Seasons: "Summer peak - increase cold beverage stock"
How to Use
Check the "Demand Forecast" section on your dashboard. Adjust reorder quantities based on predictions.
Available in: Elite and above
AI purchase order suggestions.
What It Considers
- Sales velocity (units per day)
- Supplier lead time
- Current stock levels
- Expiry risk of current stock
- Upcoming demand (festivals, seasons)
Output
Weekly suggested PO with products, quantities, and optimal order timing. Goal: Never stock out, never overstock.
Available in: Elite and above
Anomaly Detector
Alerts for unusual patterns:
- Sales suddenly dropped 40% for a product
- Return rate spiked
- Margin compressed unexpectedly
- Inventory shrinkage detected
WhatsApp Status Booster
AI generates promotional content:
- Eye-catching images with text overlay
- Auto-posts to WhatsApp Status
- Drives foot traffic for near-expiry items
Cash Flow Predictor
7-30 day cash flow forecast. Predicts incoming payments, outgoing bills, and flags potential cash crunches.
Available in: Elite and above (anomaly detector, cash-flow predictor); WhatsApp Status on Pro Growth and above
One message, first thing, that tells you what today needs. It's assembled overnight from everything the system already knows and delivered by WhatsApp or email in the morning - you don't have to open anything to get the picture.
What's in it
- A headline and priority score - the one thing that matters most today
- Today's expected sales and revenue
- Expiry alerts split into urgent, soon, and watch
- What's out of stock or about to be, with reorder suggestions
- Festival and event prep, where the calendar affects your demand
- A 7-day cash-flow outlook
- Anomaly flags, if anything looked wrong yesterday
- Donation candidates and forecast-accuracy scoring
It knows your trade
The briefing is shaped by your business type. A bakery gets yesterday's production waste; a meat or dairy business gets batches whose estimated shelf life shortened after a cold-chain excursion; a chain gets its worst-performing location. You can also read the current briefing any time at /morning-briefing.
Available in: Smart Retail and above
Visual shelf intelligence
Photograph a shelf or a display and the system reads it back to you: what's facing, what's empty, what's rotated wrongly with short-dated stock hiding behind long-dated. Use it at /shelf-intelligence for restocking and FEFO rotation checks, and the planogram screens to compare what's on the shelf against what should be.
AI auto-actions
Auto-actions let the system act rather than just advise: apply a markdown, propose and raise a stock transfer, or draft a purchase order when the numbers clearly call for it.
- Everything is logged. Every autonomous action is written to an audit trail with what it did and why
- You are told. Actions are notified by WhatsApp or email as they happen, and summarised in the next morning briefing as "here's what I did overnight"
- Everything is reversible. Nothing the AI does is beyond your reach to undo
Available in: Elite and above
Integrations
WhatsApp, Razorpay, Tally export, API keys and webhooks, and the Connect network.
What You Can Send
- Expiry alerts (daily digest)
- Purchase orders to suppliers
- Invoices to customers
- Payment links
- Order notifications (BOPIS)
- Low stock alerts
Setup
- Go to Settings → Integrations → WhatsApp
- Enter your WhatsApp number
- Verify via OTP
- Configure which alerts you want
Available in: every plan (daily alerts); WhatsApp Status on Pro Growth and above; payment links on Elite and above
Supported Payment Methods
- UPI (Google Pay, PhonePe, Paytm)
- Credit/Debit Cards
- Netbanking
- Wallets
Features
- Generate payment links
- Send via WhatsApp
- Track payment status
- Auto-create sale on success
- Settlement reports
Available in: Smart Retail and above (gateway and UPI QR at the counter); payment links on Elite and above
Export data to Tally for accounting.
What Can Be Exported
- Sales data (invoices, receipts)
- Purchase data (GRNs, supplier bills)
- Account mappings
How to Export
- Go to Reports → Export → Tally
- Select date range
- Choose data type (Sales/Purchase)
- Download XML file
- Import in Tally
Available in: Pro Growth and above
On Elite you can create API keys and outbound webhooks under Settings → Integrations. Keys are scoped (read or write), expire on a date you set, and are shown once at creation; webhooks are signed.
What the keys and webhooks do today
- Outbound webhooks: ShelfLifePro calls your URL when events happen (for example a sale, a receipt, an expiry alert), signed so you can verify the sender. Test delivery from the same screen.
- DSCSA EPCIS push (US pharmacies): your wholesaler pushes EPCIS 1.2 XML or 2.0 JSON-LD shipping events to an API-key endpoint, and each one becomes a transaction on your receiving desk.
- ERP and e-commerce connectors: Zoho Inventory, Unicommerce and Shopify sync through the Integrations page (see the next article).
There is no general inbound REST API (create products, post sales) yet, and no Swagger reference. If you need data out, the Excel/CSV exports cover every report, and the Tally export covers accounting. Tell us which system you want to connect; general endpoints are on the roadmap and will be announced here first.
Available in: Elite and above
You don't have to replace your ERP to get expiry tracking. ShelfLifePro can sit alongside the system you already run and be the layer that knows about batches and dates.
ERP and e-commerce sync (Elite)
- Zoho Inventory - connect with OAuth, then sync products, inventory and sales
- Unicommerce - product, inventory, sales and order sync; useful when e-commerce warehousing is where your stock actually lives
- Shopify - product and stock sync, so online stock counts reflect what's physically sellable rather than what a spreadsheet last said
All three run through the same set of controls: connect, choose what to sync, and check the sync log when a number looks wrong.
Accounting exports (Pro Growth and above)
- Tally - sales and purchase data as Tally-compatible XML with GST-mapped ledgers, for you to import into TallyPrime or Tally ERP 9
- Excel/CSV - available on every report, for everything else
API keys and webhooks (Elite)
Scoped, expiring keys and signed outbound webhooks from Settings → Integrations - see "API keys and webhooks" in this category.
Setting one up
- Go to Settings → Integrations
- Pick the system, authenticate (OAuth or API key, depending on the vendor)
- Choose what syncs and how often
- Run a full sync once, then check the sync log before trusting it
Available in: Elite and above (Zoho, Unicommerce and Shopify sync, API keys and webhooks); Pro Growth and above (accounting exports)
Connect links a distributor to the retailers it supplies, so both sides stop guessing about each other's stock.
For distributors
- Portfolio view (/connect/portfolio) - which of your linked retailers is holding your stock, and how close it is to expiry
- See the near-expiry concentration building at a retailer before it turns into a return
- Retailer claims for expired stock arrive as documents, not phone calls
For retailers
- Link with your distributor from Connect in the menu
- Incoming deliveries can be accepted against what was actually despatched
- Raise an expiry claim (/claims) against the distributor with batch numbers, quantities, and value already filled in - it generates a claim document with a verification link the supplier can check
Available in: Pro Growth and above
Selling Channels
Ways to move stock beyond your own counter: a customer-facing stock checker, click and collect, and a B2B marketplace for surplus.
Glass Box is a small public web app for your customers. They open it - usually by scanning a QR code in your shop - and can see what you actually have in stock right now, without asking anyone.
What customers can do
- Check stock - search your catalogue with typo-tolerant search, and see what's on hand at that location
- Cook something - recipe mode lists dishes and tells them whether you have everything the recipe needs
- See today's deals - near-expiry stock surfaced as flash deals, so the same discounting that saves you money pulls people in
- Ask for a callback - request a call about an item instead of walking over for nothing
How it's set up
- Enable Glass Box and configure it from /glassbox - which panels are on, what's visible
- Your storefront gets its own address, scoped to your business
- Print the QR code and put it where customers wait. The QR is also the location anchor - no phone GPS involved
Available in: Elite and above, for businesses with a consumer counter - supermarkets, pharmacies, dairy and bakery, meat and seafood, agri inputs, kitchens and general retail
BOPIS - buy online, pick up in store. The customer reserves online, you pick it, they collect. For expiry-dated stock this is more useful than it sounds: it lets you place a specific batch with a specific customer at a specific time.
The staff side
- Orders arrive on the BOPIS dashboard at /bopis
- Pick and pack, updating the status as you go - the customer gets notified
- Hand over at collection; the sale completes against the picked batches
- Carts that were never checked out are visible too, which is where you find out what people wanted and didn't get
Worth knowing
- Access is limited to admin, manager, and warehouse roles
- Order notifications can go out over WhatsApp
- Analytics show collection rates and what's being reserved
Available in: Elite and above, for businesses with a consumer counter - supermarkets, pharmacies, dairy and bakery, meat and seafood, agri inputs, kitchens and general retail
Some stock will not clear at your counter at any sensible price, but it is perfectly good to someone whose economics are different - a dark store, a caterer, a restaurant buying in bulk. The marketplace is where that trade happens.
Selling
- List surplus or near-expiry batches from /marketplace, with quantity, expiry, and your asking price
- Buyers browse and order; you fulfil as a wholesale sale
- Listings carry the real expiry date - the whole basis of the trade is that the buyer knows exactly what they're getting
Buying
Buyers register separately and browse listings at the marketplace buyer pages. Buyer accounts are kept entirely separate from your staff logins.
Available in: Pro Growth and above (selling); marketplace analytics on Elite
Troubleshooting
Common issues and how to fix them.
"Invalid email or password"
- Verify you're entering the correct email
- Check caps lock isn't on
- Use "Forgot Password" to reset
- Contact support if still can't access
"Account not found"
- Double-check email spelling
- Try the email used during sign-up
- Check if account was created under different email
"Session expired"
Normal security behavior. Log in again. Keep "Remember me" checked for longer sessions.
"Product not found" when scanning
Cause: Product doesn't exist in your catalog yet.
Solution: Add the product first (Products → Add New), then scan again.
"Insufficient stock"
- Check current stock level
- Create GRN if new stock arrived
- Check if stock is in correct location
- Verify batch hasn't expired
Receipt not printing
- Check printer is powered on and connected
- Verify paper is loaded
- Go to Settings → Hardware → Printers → Test Print
- Try restarting printer
"Sync failed"
- Check your internet connection
- Wait a few minutes and try again
- Go to Settings → System → Sync Now
- If persists, contact support
Data showing differently on two devices
- Ensure both devices have internet
- Refresh both devices
- Manually sync on both (Settings → System → Sync)
- Wait 2-3 minutes for sync to complete
Offline data not appearing
- Refresh the page
- Check Settings → System → Sync Status
- If stuck, try logging out and back in
- Contact support with transaction details
Camera not working for barcode scan
- Check browser has camera permission
- Try in Chrome (works best)
- Ensure good lighting
- Hold camera steady, about 6 inches from barcode
Smart Import not reading correctly
- Ensure good lighting when photographing
- Place invoice on flat, contrasting surface
- Avoid shadows and glare
- Hold camera steady
- Try uploading PDF instead of photo
- Handwritten invoices need more manual correction
If Nothing Else Works
- Note the exact error (screenshot if possible)
- Refresh the page (fixes 50% of issues)
- Try another browser
- Clear browser cache
- Contact support with details
Support Channels
- WhatsApp: +91 63824 13957
- Email: team@shelflifepro.in
- Chat: Bottom right corner of any page on this site
Priority support on Elite.
Glossary
Common terms and definitions.
- Batch Number
- A unique code assigned by manufacturers to products made together. Used for tracking and recalls.
- BOPIS
- Buy Online, Pick Up In-Store. Customers order online and collect from your store.
- FEFO
- First-Expiry-First-Out. Selling items closest to expiry first, regardless of when they arrived.
- FIFO
- First-In-First-Out. Selling older stock before newer stock (FEFO is better for perishables).
- GRN
- Goods Received Note. A document recording stock received from a supplier.
- GST
- Goods and Services Tax. India's indirect tax system (CGST + SGST or IGST).
- HSN Code
- Harmonized System of Nomenclature. A standardized code for classifying products for GST.
- MRP
- Maximum Retail Price. The highest price at which a product can be sold in India.
- OCR
- Optical Character Recognition. AI that reads text from images (used for invoice scanning).
- POS
- Point of Sale. The checkout system where sales transactions are processed.
- PWA
- Progressive Web App. A website that works like a mobile app (installable, works offline).
- Schedule H1
- Category of prescription drugs requiring additional documentation due to potential for misuse.
- SKU
- Stock Keeping Unit. A unique identifier for each product variant in your inventory.
FAQ
Frequently Asked Questions about ShelfLifePro.
ShelfLifePro is an inventory management system designed for businesses dealing with expiry-dated products. It tracks every batch with its expiry date and helps you sell products before they expire. Built for pharmacies, supermarkets, FMCG distributors, dairy and bakery, kitchens, fresh produce and the other trades where stock has a date on it.
ShelfLifePro has four plans: Starter (batch-level expiry tracking and daily alerts), Smart Retail (+ retail POS, tax invoicing, markdowns and the morning briefing), Pro Growth (+ multi-location, purchase orders and GRN, invoice OCR, recalls and registers), and Elite (+ AI modules, Glass Box, BOPIS, integrations, API keys and webhooks).
Current prices in your region's currency are always on the pricing page. 14-day free trial, no card. Then a 30-day money-back guarantee on your first payment. No setup fee on any plan. Annual billing available - ask us.
Yes, within a clear scope. ShelfLifePro installs as a PWA, and your store's designated primary register keeps billing cash and store-credit sales during internet outages (you can also view the catalog and stock levels). Card and UPI payments, and scheduled pharmacy drugs (H1/X), need a live connection. Queued sales sync automatically when the connection returns. We recommend connecting at least once daily.
No. ShelfLifePro works in any web browser on any device you already have - laptop, tablet, or phone. Your phone camera works as a barcode scanner (1D and 2D). If you want dedicated hardware, a basic laptop or PC, a thermal receipt printer and a USB barcode scanner are enough - any standard scanner gun works, including 2D-capable models.
Roughly 80–90% of the fields on a printed invoice on the first scan, 60–70% handwritten; you confirm the rest before the goods receipt is saved. Where an invoice arrives as a supplier file or the packs carry GS1 2D barcodes, use those paths instead - nothing to correct.
Yes, within a scope we can stand behind:
- Per-tenant data isolation - your data is never in the same query as another business's
- HTTPS on every connection
- Role-based access - five roles, plus per-location restriction
- Your data is never sold or shared with third parties
Data backup and the audit trail are on Elite. See "Data Security & Compliance" under Account & Security.
Yes. Products, customers and suppliers import from CSV/Excel (Products → Import has the template), and opening stock arrives through goods receipt - supplier file, invoice OCR or 2D scan. We import your product list and opening stock with you; contact support and we'll do it together.
ShelfLifePro is built for any business that sells products with expiry dates and needs to track stock at the batch level. The common thread is expiry risk, the problem of stock that expires before it sells, costing the business real money every month.
You pick your business type at sign-up, and the system reshapes itself around it - screens, fields, reports, and compliance features. The range it covers:
- Pharmacy - drug schedules, Schedule H1 and X registers, DPCO ceiling checks, drug licence register, ward indents, cold chain, recalls
- Supermarket - multi-category FEFO at POS, customer credit, markdowns, high SKU counts
- Grocery / retail - the general expiry, batch, barcode, and POS set
- Dairy & bakery - hourly expiry, production runs, day-old transition, production forecast
- Meat & seafood - catch-weight receiving, weight-loss report, allergen flags, cold chain, recalls
- Restaurant / catering - recipes, requisitions from pantry to kitchen, consumption and food cost
- FMCG / distribution and manufacturing - warehouse map, beats and van sales, transfers, no retail counter
- Floriculture - vase-life clock from the cut date, cold-chain evidence, hourly clearance
- Fresh produce - harvest-date clock, weight/shrink tracking, cold room, van routes
- Agri-inputs - MRP recorded on the product, recalls, return-to-company windows instead of markdowns, licence register
- General retail - the expiry, batch, barcode and POS set for anything else with a date on it
If you're not sure whether ShelfLifePro fits your business, message us - we'll tell you honestly.
Set-up is measured in days, not weeks, and the trial opens on a working dashboard from the first minute:
- Account and business details: minutes
- Products: CSV import for a list you already have, or let the first goods receipt build the catalogue - invoice OCR, supplier file import or a 2D barcode scan
- Opening stock: your first delivery, entered the fast way
- Team: cashiers learn the counter in one session; managers take a little longer to get round every report
We import your product list and opening stock with you - on WhatsApp or email.
FIFO (First-In-First-Out) means selling the stock that arrived first. FEFO (First-Expiry-First-Out) means selling the stock that expires soonest. For most products, these produce the same result, older stock usually has an earlier expiry date.
But they diverge in two important scenarios:
- Different suppliers, different shelf lives: You receive Batch A from Supplier X with 60 days left, then Batch B from Supplier Y with 90 days. FIFO says sell A first (it arrived first). FEFO also says sell A first (it expires sooner). Same result here.
- Same product, inconsistent manufacture dates: Sometimes a new delivery has a surprisingly short remaining shelf life, maybe the supplier cleared old stock. FEFO catches this; FIFO may not.
For perishable products, FEFO is the right method. ShelfLifePro offers the earliest-expiring batch first at the counter; serving another batch needs a reason and is written to the FEFO override log, and expired stock cannot be billed at all.
Record the lot as a recall and it is blocked at every counter, kitchen, transfer and van load from that moment. The distribution list is built from your records - every sale, transfer and van load that carried the lot. The notice and reporting clocks show their due times, and the recall packet is prepared for you to submit - not a submission.
Recall Workflow
- Compliance → Recalls → New recall (/recalls/new) and enter the lot from the recall notice
- Check the distribution list and what is still on hand
- Raise the supplier return for unsold stock
- Export the packet when the clocks say it is due
The batch trace report (Reports → Batch Traceability) is the one-click backward-and-forward trace on any batch, on every plan - received, sold, remaining, and where it went. See "Product recalls" under Expiry Management for the full workflow.
Available in: recall management on Pro Growth and above; the batch trace report on every plan
Yes. ShelfLifePro is a Progressive Web App (PWA), which means it runs in your phone's browser and can be installed to your home screen like a native app. It works on both Android and iOS without any app store download.
On mobile, you get:
- Full POS functionality for sales
- Barcode scanning using the phone camera
- Stock level checking
- GRN entry
- Expiry alerts and dashboard
- Offline mode (data syncs when back online)
Most store owners use a dedicated tablet or laptop at the counter for billing, and use their phone for on-the-go stock checks and approvals. The system works on any device at the same time.
Yes. ShelfLifePro is multi-user by design. Every plan includes more than one user (Starter 2, Smart Retail 5, Pro Growth 10, Elite unlimited), and you can have multiple devices logged in simultaneously. This is common for stores where one person handles billing at the counter while another is doing GRN at the storeroom.
User roles control what each person can see and do. There are five: Admin (full access including settings and user management), Manager (all operations, no settings or user management), Purchaser (purchase orders and suppliers), Warehouse (goods receipt, stock, transfers), and Cashier (sales and billing at the POS).
For multi-location businesses, you can also restrict each user to specific locations. A branch manager at Location A cannot see sales data from Location B unless you grant them access.
Expired stock cannot be billed - not a warning, a refusal, on every plan. The nightly expiry sweep moves expired batches out of saleable stock and records the wastage with its cost; the units themselves stay on the record until you resolve them.
Options for Expired Stock
- Return to supplier: If within the return window, create a supplier return/debit note. ShelfLifePro tracks the credit owed.
- Dispose and write off: Mark the batch as disposed. The wastage value is already on your reports.
- Disposal record (pharmacies): Create a disposal record with the disposal method, date and witness, so the record shows what happened to the stock.
You can upgrade, downgrade, or cancel your ShelfLifePro subscription at any time, no long-term contracts.
- Upgrade: Takes effect immediately; the new features are available straight away.
- Downgrade: Takes effect at the start of your next billing cycle. Features from the higher plan remain available until then.
- Cancel: Takes effect at the end of the current billing period. Your data is kept, and we export it for you on request.
To make plan changes, go to Settings → Billing → Change Plan, or WhatsApp or email support and we'll do it with you. Your first payment carries a 30-day money-back guarantee.
Yes. ShelfLifePro exports sales and purchase data in Tally-compatible XML (TallyPrime and Tally ERP 9) with GST-mapped ledger entries, so your accountant imports it without manual re-entry. GSTR-1 exports as JSON for you to upload to the GST portal. Accounting exports are Pro Growth and above.
For anything else, Excel/CSV export is available on every report - sales, purchases, tax, stock valuation.
Zoho Inventory, Unicommerce and Shopify sync on Elite. Tell us what you use; we prioritise integrations by what customers ask for.
14-day free trial, no card. The trial runs with full Elite access - every feature - and opens on a populated dashboard with a guided tour and a getting-started checklist; the sample data is removed in one click. At the end of 14 days, subscribe to continue; otherwise the account is paused: signing in is blocked until you subscribe, your data is kept, we export it for you on request, and subscribing reactivates the account where you left off. Once you subscribe, there is a 30-day money-back guarantee on your first payment.
Yes. Scan a GS1 QR or DataMatrix and the batch, expiry and serial fill themselves at receipt and at the pharmacy verification screen - no typing. Retail is moving to 2D barcodes under GS1 "Sunrise 2027", and medicine packs increasingly carry them already. Works with your phone camera or any 2D-capable USB scanner gun. See "Scanning 2D Barcodes (QR / DataMatrix)" under Product Management for the full guide.
Set a shelf-life rule once - per product or per category (e.g. "Bakery: 2 days", "Croissants: 18 hours") - and ShelfLifePro calculates the expiry date automatically every time stock arrives. Hour-level rules are supported for same-day items like fresh bakery. Rules are managed under Settings → Categories. See "Automatic Expiry Dates (Shelf-Life Rules)" under Expiry Management.
It's stock that won't SELL before it expires at your current sales pace - true projected waste, shown in money. "Expiring soon" tells you a date is near; "won't clear" tells you the stock won't make it even if the date is months away, because there's too much of it for how fast it sells. Click the banner to see the full list and act on each row (markdown, transfer, flash sale). See "Won't Clear Before Expiry (Predictive At-Risk)" under Expiry Management.
A 2-minute analysis that answers: "How many SKUs, and how much money, is at risk in the next 30 days?" Run it from /diagnostic inside the app on your live stock, or upload a CSV/Excel stock list - the file is analyzed without being imported, so it's completely safe to try. New trial accounts can run it on the pre-loaded sample data immediately. See "The 2-Minute Waste Diagnostic" under Getting Started.
Three ways: (1) snap a photo of the supplier invoice and AI reads it (Invoice OCR); (2) scan GS1 2D barcodes at receiving - batch and expiry fill themselves; (3) upload your supplier's despatch CSV/Excel (supplier file import) - ShelfLifePro matches the items to your catalog, learns your supplier's item codes, and creates the goods receipt with batches and expiry dates. The second file from the same supplier matches automatically.
New trial accounts come pre-loaded with a small, clearly-labelled sample dataset matched to your business type, so the dashboard and alerts work immediately. It never mixes with your real stock or counts as your activity. Remove it any time with the "Clear sample data" link on your dashboard's getting-started card - one click, gone completely.
Click the "?" button in the top menu, or the "Show me around" button on the getting-started checklist. The book icon next to it opens this Help Center.
During the trial we send a few short emails that point at the next step (for example, a reminder to confirm your email, or a link to run the waste diagnostic). Each one is sent at most once, and they stop when you subscribe. Every one has a one-click unsubscribe link at the bottom, and replying to any of them reaches a human directly.
They're two products. ShelfLifePro is the inventory system you run your business in - stock, batches, expiry, POS, purchasing, reports. ShelfSense is a separate AI inventory agent that reads inventory data and tells you what to act on: expiry risk, reorder timing, pricing, waste, and supplier patterns.
You do not need ShelfSense to use ShelfLifePro, and it is billed separately on its own subscription and its own trial. If you're already running ShelfLifePro, most of what you'd want from an agent is already in the app - the at-risk view, smart reorder, and the morning briefing.
Full details and current pricing are on the ShelfSense pages.
Both, and they're the same content. Inside the app, the Help menu in the top navigation carries the guided tour, the getting-started checklist, and a link into this help centre. This site is the full library and is public - you can read it before you sign up, and share a link to a specific article with a colleague who doesn't have a login.
Account & Security
Users and roles, how your data is protected, the regions and languages we support, and how to reach a human.
ShelfLifePro is multi-user by design. Several people can be logged in on several devices at once - one billing at the counter while another does goods receipt in the storeroom - and roles decide who can do what.
The five roles
- Admin
- Full access: operations, reports, settings, billing, and user management.
- Manager
- Sees everything and approves operations. No settings, no user management.
- Purchaser
- Purchase orders and supplier management.
- Warehouse
- Goods receipt, stock, transfers, counts.
- Cashier
- Sales and billing at the POS.
Adding someone
Settings → Users → Add User. Enter their name, email, and role, assign their location(s) if you run more than one, and save. They get an email with login instructions.
Location scoping
For multi-location businesses, each user can be restricted to specific locations. A branch manager at one store cannot see another store's data unless you grant it.
Passwords and sessions
Changing or resetting a password signs that user out everywhere immediately - existing sessions on other devices stop working. That's the fastest way to remove access from a device you no longer control.
FSSAI, GST and trade licences in one register with renewal reminders. Each licence carries its own reminder lead time; reminders go by email and WhatsApp. A branch licence in the register prints on that branch's bills. We remind you; we do not renew it for you.
How
- Settings → Licences → Add (/licences)
- Enter the type, the number, the issue and expiry dates, the branch it belongs to, and the reminder lead time
- Save. The reminder goes out that many days before expiry, by email and WhatsApp
Available in: every plan
What actually protects your data, stated plainly.
Security
- Per-tenant data isolation - every query in the system is scoped to your business. Data from two businesses never shares a query
- HTTPS - everything runs over an encrypted connection
- Role-based access - five roles (Admin, Manager, Purchaser, Warehouse, Cashier), plus per-location restriction
- Passwords are stored hashed, never in readable form; a password change or reset signs that user out everywhere
- Data backup and audit trail on Elite - self-service backup, and a record of who changed what
Compliance features
- India: GST invoicing, GSTR reports, e-way bill, e-invoice, FSSAI number on bills, Schedule H1 and X registers and DPCO ceiling checks for pharmacies, licence register with renewal reminders
- Other regions: region-appropriate tax invoicing (VAT, sales tax, GST) - see "Regions, Currencies & Languages"
- Traceability: batch-level records from goods receipt through to sale, with the batch trace report on every plan
- Recalls: a recorded lot is blocked everywhere and the packet is prepared for you to submit - not a submission
ShelfLifePro runs in nine regions. Your region sets your currency, your date format, your tax system, and your financial year - all of it applied automatically once the account is set up.
Supported regions
- India - INR, GST, financial year from 1 April
- United States - USD, sales tax, calendar year
- United Kingdom - GBP, VAT, tax year from 6 April
- European Union - EUR, VAT, calendar year
- UAE & GCC - AED, VAT, calendar year
- Australia - AUD, GST, financial year from 1 July
- Canada - CAD, GST/HST, calendar year
- Singapore - SGD, GST, calendar year
- South Africa - ZAR, VAT
What follows from the region
- Currency symbol and number grouping on every screen, report, and PDF
- Date format - day-first or month-first, as your region expects
- Tax behaviour on invoices, including the CGST/SGST/IGST split for India only
- Financial-year boundaries in reports
- Use By vs Best Before handling, where the local food-safety rules distinguish them
Languages
The interface is available in English, Hindi, Tamil, Telugu, and Malayalam. Switch language in Settings; each user can choose their own. Help articles are published in English.
Four ways to reach us, in the order that usually gets you an answer fastest.
1. This help centre
Search first. Most "how do I" questions are answered here, and the answer arrives immediately.
2. Live chat
The chat widget on our website reaches us during business hours. Outside them, leave the message and it becomes a ticket - you'll get an email reply.
3. WhatsApp
Usually the quickest route for something urgent at the counter: +91 63824 13957.
4. Email
team@shelflifepro.in.
Priority support on Elite. Onboarding: we import your product list and opening stock with you; set-up takes days, not weeks.
Getting a fast answer
Whatever the channel, include: what you were doing, what you expected, what happened instead, and a screenshot if there's an error on screen. If it involves a specific batch, product, or invoice, send the number. That one habit turns most three-message exchanges into one.
Pricing & Plans
Understanding ShelfLifePro plan tiers, what is included, and how to choose the right one.
ShelfLifePro has four plans. 14-day free trial, no card. Then a 30-day money-back guarantee on your first payment. Current prices for your region are on the pricing page; there is no setup or onboarding fee on any plan.
Starter
Batch-level expiry tracking, batch trace report, expiry and wastage reports, daily WhatsApp and email alerts, CSV import, products and categories, users and invitations, licence register, mobile web app, 9-region locale. Expired stock cannot be billed - on this and every plan. 500 SKUs · 1 location · 2 users.
Smart Retail
Everything in Starter + retail POS with earliest-expiry picking and barcode scanning, customers, GST invoicing, cashier shifts, payment gateways and UPI QR, markdowns and flash sales, donations, stock health, morning briefing, FEFO override log, hourly expiry and the dairy/bakery dashboard, custom cake orders, auto-bundler, photo onboarding, size matrix, stock-aging dashboard. 2,000 SKUs · 1 location · 5 users - a single-location plan.
Pro Growth
Everything in Smart Retail + wholesale POS, purchase orders and GRN, suppliers, multi-location and stock transfers, invoice and label OCR, Tally export, GSTR reports, e-way bill and e-invoice, returns and debit notes, vendor and customer payments, cycle counting, dead-stock analysis, damage log, recipes/BOM and production runs, weight tracking, batch labels, replenishment runs, distributor beats and van loads, Connect network, marketplace seller, WhatsApp status, serial tracking and warranty claims, recall management, controlled counts, loss reporting, pharmacy registers, inspection reports. 5,000 SKUs · 3 locations · 10 users.
Elite
Everything in Pro Growth + AI reorder and forecast, anomaly detection, zero-waste engine, business chat, cash-flow predictor, demand sensing, supplier scoring, auto-actions, shelf intelligence, planograms and shelf optimisation, network and ICP intelligence, stocking advisory, analytics dashboard, inventory velocity, profitability alerts, custom reports, Glass Box consumer app, BOPIS, Razorpay payment links, Shopify / Zoho / Unicommerce integrations, API keys and webhooks, audit trail, data backup, priority support. Unlimited SKUs, locations and users.
The most common question. Here is a practical decision guide:
- Single-location pharmacy
- Pro Growth. The pharmacy registers (Schedule H1 and X), recall management and controlled counts sit on Pro Growth, as do purchase orders and GRN. Smart Retail covers the counter, FEFO and tax invoicing if the registers are not needed yet.
- Supermarket with one store
- Smart Retail: POS with earliest-expiry picking, markdowns, flash sales, donations, the morning briefing. Move to Pro Growth for purchase orders, GRN and invoice OCR - the receiving toolkit, and the Tally export.
- FMCG distributor or multi-location chain
- Pro Growth is the starting point. Multi-location stock transfers, consolidated reporting, suppliers, beats and van loads are all Pro Growth. Smart Retail is a single-location plan.
- Business wanting the AI to act, not just report
- Elite: AI reorder and forecast, the zero-waste engine, demand sensing, auto-actions, analytics dashboard.
A location is any physical place where you store or sell inventory, a retail store, a warehouse, a dark store, or a distribution center. Each location has its own stock levels, its own POS sessions, and its own user access controls.
Plan limits
Locations, team members, and SKUs are all capped by plan, and the caps are enforced - you'll be prompted to upgrade rather than quietly allowed past them.
- Starter: 1 location, 2 team members, 500 SKUs
- Smart Retail: 1 location, 5 team members, 2,000 SKUs
- Pro Growth: 3 locations, 10 team members, 5,000 SKUs
- Elite: unlimited on all three
Smart Retail is a single-location plan. Stock transfers, consolidated reporting, and cross-location expiry visibility all become available with Pro Growth and above.
If you run more than 3 locations, talk to us.
Plans are billed monthly by default. Annual billing is available - ask us and we'll set it up with you.
Payments: Razorpay - cards, UPI and net banking. There is no setup or onboarding fee on any plan.
Whichever cycle you choose: 14-day free trial, no card. Then a 30-day money-back guarantee on your first payment.