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, and Schedule H1 compliance for pharmacies.
Documentation
Need help?
WhatsApp SupportGetting Started
Get up and running with ShelfLifePro in under 1 hour.
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, UPI, Card)
- Click "Complete Sale"
- Print invoice or send via WhatsApp
Configure Alert Windows
- Go to Settings → Alerts
- Set your alert thresholds (default: 7, 30, 60, 90 days)
- Choose notification method (WhatsApp, Email, Both)
- Save settings
WhatsApp Alert Setup
- Go to Settings → Integrations → WhatsApp
- Enter your WhatsApp number (+91 format)
- Verify with OTP
- Enable "Expiry Alerts"
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.
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
Proactive WhatsApp alerts before products expire.
Alert Windows
- 7-day alert: Critical - act immediately
- 30-day alert: Action window open
- 60-day alert: Early warning
- 90-day alert: Planning horizon
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
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
- System automatically picks the batch expiring soonest
- Staff cannot override (regulatory compliance)
- Audit log records every FEFO transaction
Available in: Smart Retail 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 (manual donation records on Starter)
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 compliance
Available in: All tiers
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 (most common in India)
- 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. ShelfLifePro reads all of it in one scan.
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
- India pharmacies: the top-300 medicine brands are legally required to carry these QR codes (with batch + expiry inside) - scanning them means zero typing at receiving.
- 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
The QR encodes the product, the batch, and the expiry date. 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
Labels are generated automatically for products with batch tracking enabled when you confirm a goods receipt, so the usual workflow is: receive stock, print the sheet, 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 and an optional photo. This is what you want for anything you'll later analyse or claim on - it feeds the wastage report and shrinkage analytics, where 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, UPI, Card)
- Print invoice or send via 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 GSTIN capture for tax credit
- 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
- Generate payment links via WhatsApp
- Track payment status (pending/completed)
- Automatic sale creation on payment success
- Settlement reports
Available in: Smart Retail 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 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: Smart Retail 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
- GSTIN and PAN (for compliance)
- 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
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, AI extracts all data. Review and confirm. Saves 40+ minutes per invoice.
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 (same tier as Invoice OCR - it's part of the same receiving toolkit)
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 GSTIN and supplier GSTIN
- Original invoice reference
- Batch numbers and expiry dates of returned goods
- Quantity and credit amount
- GST reversal details
Available in: Smart Retail 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 (manual) and Elite (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. Running more than one - with stock transfers, consolidated reporting, and cross-location expiry visibility - starts at Pro Growth (3 locations), and 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
Complete compliance tools for pharmacies including H1 Register, drug schedules, and cold chain monitoring.
Mandatory register for Schedule H1 drug transactions.
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
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
- Separate narcotics register
- Prescription image/scan
Setting Drug Schedule
- Go to Products → Select product
- In "Compliance" section, select Drug Schedule
- Save
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
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
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: Smart Retail and above
Reports & GST
Sales 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: Smart Retail 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/UPI/Card)
Expiry & Wastage Reports
- Products expiring in 7/30/60/90 days with value at risk
- Historical wastage tracking (actual expired stock disposed)
- Wastage by category, location, and supplier
- Month-over-month wastage trend to measure improvement
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 rupees of 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: 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
AI Features
8 AI-powered modules to reduce waste and optimize operations. Available in Elite tier.
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
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: ₹4,200 of ₹5,000 at-risk value."
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)
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.
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.
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.
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 shelf life shortened after a cold-chain breach; 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
Integrations
Connect with WhatsApp, Razorpay, Tally, and more.
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: All tiers (shared); Elite (custom credentials)
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
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
Programmatic access for custom integrations.
Available Endpoints
- Products (CRUD)
- Inventory (stock levels, batches)
- Sales (create, read)
- Customers
- Suppliers
- Reports
Authentication
API key-based authentication. Generate keys in Settings → API.
Available in: Elite only
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 connections
- Zoho Inventory - connect with OAuth, then sync products, inventory, and sales, and push expiry alerts back
- Unicommerce - product, inventory, sales, and order sync; useful when e-commerce warehousing is where your stock actually lives
- GoFrugal - API-key connection for product, inventory, and sales sync
All three run through the same set of controls: connect, choose what to sync (products, inventory, sales, expiry alerts, or a full sync), and check the sync log when a number looks wrong.
E-commerce
Shopify syncs both ways with webhook support, so online stock counts reflect what's physically sellable rather than what a spreadsheet last said.
Accounting exports
- Tally (India) - sales and purchase data as Tally-compatible XML with GST-mapped ledgers
- Busy (India) - export in Busy's import format
- QuickBooks - export in IIF format for import into QuickBooks Desktop
- Excel/CSV - available on every report, for everything else
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 (ERP and Shopify sync); Pro Growth and above (Tally, Busy, and QuickBooks 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. Not applicable to distributor, manufacturing, floriculture, or fresh-produce accounts (no consumer counter)
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. Not applicable to distributor, manufacturing, floriculture, or fresh-produce accounts
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 and API 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 6382413957 (9 AM - 9 PM)
- Email: Contact our support team (team@shelflifepro.in for India, team@shelflifepro.net for US) - 24-hour response
- Chat: Bottom right corner of any page
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, and dairy/bakery stores across India.
ShelfLifePro has four plans: Starter (basic expiry tracking), Smart Retail (+ POS and invoicing), Pro Growth (+ multi-location and Invoice OCR), and Elite (+ AI features, BOPIS, and API).
Current prices in your region's currency are always on the pricing page. All plans include a 14-day free trial. No credit card required.
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 ($300-500 / Rs 20-25k) + thermal printer ($150-250 / Rs 3-5k) + USB barcode scanner ($50-80 / Rs 1.5-2k) is enough - any standard scanner gun works, including 2D-capable models.
80-90% accuracy for printed invoices on first scan. 60-70% for handwritten invoices. You review and correct before saving, so final accuracy is 100%. Even at 70% accuracy, you're saving 30+ minutes per invoice compared to manual entry.
Yes. We take security seriously:
- HTTPS encryption for all data
- Passwords hashed with bcrypt
- Regular backups (90-day retention)
- Your data is never shared with third parties
- Compliant with data protection regulations
Yes. You can import products, customers, and suppliers via CSV/Excel. We also offer migration assistance from Excel, Tally, or other systems. Contact support for help with migration.
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, H1/X registers, licences, cold chain, quarantine, inspection readiness
- 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 - weight tracking, dehydration yield, cold chain
- 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 enforcement, recall status, return-to-company windows instead of markdowns
- Electronics - serial numbers, warranty claims, slow-mover detection
- Apparel - size/colour matrix, season tagging, dead-stock markdown
- Jewelry - purity-wise valuation, hallmark certificates, making charges
- Construction - grade tracking, test certificates, project-wise allocation
- General - flexible setup for anything else
If you're not sure whether ShelfLifePro fits your business, message us - we'll tell you honestly.
Most businesses are up and running, making their first sale in ShelfLifePro, within 2 to 4 hours. Here is how the time breaks down:
- Account setup and business info: 15 minutes
- Adding products to catalog: Depends on catalog size. Using CSV import, 500 products can be done in 1 hour. Using Invoice OCR (Smart Import), you can often build your catalog by just doing GRN on your first delivery.
- First GRN (stock entry): 30-60 minutes for first batch
- Team training: Cashiers can be trained in 30 minutes. Managers need about 2 hours to get comfortable with all features.
We provide hands-on onboarding via WhatsApp. Most customers are independently running the system within their first week.
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 enforces FEFO automatically at POS so staff cannot accidentally sell a longer-dated batch while a shorter-dated one sits in the back.
Product recalls require you to quickly identify which batches of a product are affected, which customers received them, and how much stock is still on your shelves. ShelfLifePro makes this possible because every sale is linked to a specific batch number.
Recall Workflow
- Go to Reports → Batch Traceability
- Enter the batch number from the recall notice
- System shows: quantity received, quantity sold, quantity remaining
- View customer list (if customers were recorded at sale)
- Mark remaining stock as "Recalled, Do Not Sell" (quarantine)
- Initiate supplier return for unsold stock
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 supports multiple users, 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.
ShelfLifePro flags stock as expired on the expiry date and prevents it from being sold through POS. The system does not delete expired stock automatically, you need to take action to resolve it.
Options for Expired Stock
- Return to supplier: If within return window, create a supplier return/debit note. ShelfLifePro tracks the credit owed.
- Dispose and write off: Mark the batch as disposed. System records the wastage value for your reports.
- Regulatory disposal (pharmacies): Create a disposal record with disposal method, date, and witness. Required for drug inspector compliance.
You can upgrade, downgrade, or cancel your ShelfLifePro subscription at any time, no long-term contracts.
- Upgrade: Instant. New features available immediately. You are charged the prorated difference for the current billing period.
- Downgrade: Takes effect at the start of your next billing cycle. Features from the higher plan remain available until then.
- Cancel: Takes effect at end of current billing period. Your data is retained for 90 days so you can export it before it is deleted.
To make plan changes, go to Settings → Billing → Change Plan. Or WhatsApp our support team and we'll handle it for you.
Yes. ShelfLifePro exports sales and purchase data in Tally-compatible XML format (TallyPrime and Tally ERP 9). The export includes GST-mapped ledger entries, so your accountant can import it directly without manual re-entry.
For businesses using other accounting software:
- Excel/CSV export: Available for all reports, sales, purchases, GST, stock valuation
- GSTR-1 JSON: Upload directly to the GST portal
- REST API (Elite): Build custom integrations with any system that has an API
We are working on direct integrations with Zoho Books and QuickBooks. WhatsApp us if you need a specific integration, we prioritize based on demand.
Every ShelfLifePro plan includes a 14-day free trial with full access to all features of that tier. No credit card is required to start the trial. Your trial account comes pre-loaded with clearly-labelled sample data so you can explore immediately. At the end of 14 days, you can subscribe to continue; otherwise the account is paused — signing in is blocked until you subscribe, but your data stays safe, we can export it for you on request, and subscribing reactivates the account where you left off. We do not delete your data if you do not subscribe immediately.
Yes. ShelfLifePro scans GS1 2D barcodes (QR codes and DataMatrix) and automatically extracts the product, batch number, and expiry date from a single scan - no typing. In India, the top-300 medicine brands carry these QR codes by law; globally, retail is moving to 2D barcodes under GS1 "Sunrise 2027". 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 your first weeks we send a few short, helpful emails matched to where you are in setup (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 automatically as you complete setup. 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.
What actually protects your data, stated plainly.
Security
- Encrypted in transit - everything runs over HTTPS/TLS
- Passwords are hashed with bcrypt, never stored or recoverable in readable form. Nobody at ShelfLifePro can look up your password
- Stored credentials are encrypted - payment gateway and ERP keys are encrypted at rest with AES-256-GCM, with the key held outside the database
- Token-based sessions - a password change or reset immediately invalidates every existing session for that user
- Role-based access control - five roles, plus per-location restriction
- Tenant isolation - every query in the system is scoped to your business. Data from two businesses never shares a query
- Rate limiting on the API surface, to blunt brute-force and scraping attempts
- Backups taken regularly; Elite adds self-service backup and restore
Compliance features
- India: GST invoicing, GSTR-1/3B, HSN summaries, E-Way bills, E-Invoice with IRN and QR, Schedule H/H1/X registers for pharmacies
- Other regions: region-appropriate tax invoicing (VAT, sales tax, GST) - see "Regions, Currencies & Languages"
- Traceability: batch-level records from goods receipt through to sale, which is what recall and inspection questions actually require
- Audit trail (Elite) - a record of who changed what
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 (India)
For Indian customers, WhatsApp is usually the quickest route for something urgent at the counter. The number is on our contact page.
4. Email
Use the support address for your region shown on our contact page. We aim to reply within one working day, and Elite accounts get priority handling.
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, designed for businesses at different stages. Every plan starts with a 14-day free trial, no credit card required. Current prices for your region are on the pricing page.
Starter
Batch-level expiry tracking, WhatsApp alerts, basic sales. Best for small pharmacies or single-category stores doing fewer than 50 sales per day.
Smart Retail
Everything in Starter + full POS with barcode scanning, GST invoicing, Razorpay payments, customer management, offline mode. The right choice for most retail stores.
Pro Growth ⭐ Most Popular
Everything in Smart Retail + multi-location, Invoice OCR (Smart Import), wholesale POS, Tally export, supplier performance scoring, dead stock detection. For businesses with 2+ locations or serious procurement volume.
Elite
Everything in Pro Growth + 8 AI modules (Zero-Waste Engine, Demand Sensing, Smart Bundling, Cash Flow Predictor, etc.), BOPIS, REST API, custom WhatsApp branding. For businesses that want to run on data, not instinct.
The most common question. Here is a practical decision guide:
- Single-location pharmacy, up to 3 staff
- Start with Smart Retail. It covers H1 register, cold chain, FEFO, and GST invoicing. Upgrade to Pro Growth when you want Invoice OCR.
- Supermarket with 1 store, 5-15 staff
- Smart Retail or Pro Growth depending on whether you use Tally and how painful GRN entry is. If you're spending 45+ minutes per delivery on data entry, Pro Growth pays for itself.
- FMCG distributor or multi-location chain
- Pro Growth is the starting point. Multi-location stock transfers, consolidated reporting, and supplier management are all Pro Growth features.
- Business wanting to reduce wastage significantly
- Elite with the Zero-Waste Engine and Demand Sensing AI. These modules actively prevent wastage rather than just tracking it.
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
Stock transfers, consolidated reporting, and cross-location expiry visibility all become available with Pro Growth and above.
If you have more than 3 locations and need Pro Growth pricing rather than Elite pricing, contact us, we handle these on a case-by-case basis.
Annual billing charges you for 12 months upfront and gives you 2 months free (the equivalent of 17% off monthly billing).
Annual pricing for each plan in your region's currency is shown on the pricing page.
Annual plans can be cancelled with a partial refund for unused months if your situation changes.