Day-to-dayUpdated 10 Oct 2026

Inventory & stock: track what you have on hand

Turn on stock tracking for a product to get a running stock ledger: sales draw stock down automatically, low-stock items flag, and you record what you receive.

Retail shop

If you sell physical products, Finocket tracks how many you have: turn on stock tracking for a product and every sale draws it down automatically, purchases and adjustments add it back, low stock flags itself. Batches, expiry dates and godown-wise locations are there when you need them.

Inventory: stock levels, low-stock flags and per-item valuation. (desktop view)
Inventory: stock levels, low-stock flags and per-item valuation.

Turn on stock tracking

Open a product under Products (its type must be Product, not Service) and switch on Track inventory. Give it an opening stock (how many you hold now, and the as-of date), an opening cost per unit (used for valuation), and a reorder level, the quantity at which it should flag low (leave 0 for no alert).

If you keep godowns, pick Opening stock is in godown on a new product too (it starts on your default godown) and, if that godown has bins, a bin. The opening stock is saved straight into that godown and bin. Choose Not in any godown to place it later.

Adjusting stock and receiving a purchase

The Add / adjust stock box opens on Basic: the movement, the quantity, the rate and the date. Location & batch (godown, owner of the goods, batch) and Reason & note are sections under it; a section opens by itself when it holds something, and Reason opens as soon as you choose an adjustment so shrinkage is always given a reason. Receive a purchase works the same way: the distributor, bill number and each batch line first, then Bill & paymentand Receiving location. The row of names under the title jumps to a section, and what you typed in a closed section is kept.

How stock moves

Sales are automatic: a tax invoice or bill of supply with a tracked product draws that quantity out; a credit note (sales return) puts it back. Estimates and challans don't move stock. Only a real sale does.

For stock coming in, record the purchase: when you add an expense, open the Stock items section and add the products, quantities and cost. Finocket adds them to stock at that cost, keeping valuation accurate. Pick Received into godown under the items (it starts on your default godown) and the stock lands there. For a one-off correction or physical count, use Add / adjust stock on the Inventory screen: Stock received for a purchase, or Adjustment to add or remove with a reason. Moving stock between godowns is its own Transfer button beside it.

Every product has a full movement ledger (opening balance, each sale, return, purchase, adjustment and transfer), so you can always see how a balance got where it is.

What your stock is worth

Each product carries a weighted-average cost by default: stock added at a cost blends into the running average, and stock going out is valued at that average (never the sale price). The Inventory screen shows a value per product and the total stock value, recomputed as you buy and sell.

FIFO valuation (choose per product)

On a stock-tracked product you can switch Valuation method to FIFO (first-in, first-out): each sale is costed against your oldest stock first, so what's left on hand is valued at your most recent purchase costs. Weighted average blends every cost together instead. It's a per-product choice. Existing products stay on weighted average until you switch one, and nothing you've already recorded changes. Both methods are computed to the paisa from your movement ledger, and your Profit & Loss and Balance Sheet value closing stock by each product's chosen method.

Serial-number tracking

For high-value goods like electronics or appliances, switch on Track serial numbers for the product. Enter a serial for each unit when stock comes in, and pick the exact serials when stock goes out. Each serial walks a simple lifecycle (in stock → sold → returned), and a serial that has been sold can never be sold again, so your unit-level records stay honest.

Selling a serial-tracked item on an invoice

When a new invoice has a serial-tracked item on it, a Serial numbers card lists the units in stock. Tick the serial or chassis number of each unit you are selling; they are marked sold when you save. Ticking is optional: leave an item unticked to bill it without recording serials. Once you tick any for an item, you need one per unit: saving stops with Pick a serial for every unit and says how many more to pick. If a serial you picked was sold or moved in the meantime, you are asked to pick again. If the invoice saves but a serial could not be marked sold, you see Serial not marked as sold: the invoice stands, so check those serials on the serial stock screen.

Holding an item for a customer

A customer asks you to keep a pair aside until tomorrow. With the retail counter pack switched on for your workspace, the item's edit screen has a Held for customers section. Pick the customer (Who is it for?), the Qty, and how long to Keep for: 4, 24, 48 or 72 hours. Then tap Hold.

  • What a hold does. It takes the quantity off what you can sell, without moving any stock: the goods stay on the shelf and in your on-hand count. You cannot hold more than is available.
  • Who it can be for. A named customer only. The walk-in customer is not offered, because there is nobody to tell or to collect.
  • Collected or Release. When the customer comes and you bill them, tap Collected. If they do not want it, tap Release.
  • When time is up. Each hold shows until when it lasts. After that it stops holding anything back and reads Time is up - release it.

Anyone can see the holds; only someone who can make changes sees Hold, Collected and Release.

Batches & expiry dates

For goods with a shelf life, add a batch with its number and expiry date, then tag received stock to it. The Inventory screen shows an Expiring soon alert listing batches near or past expiry with the quantity still on hand, so you can clear or return them in time.

A batch can carry its own cost, MRP and GST rate; set one when you add it. When you bill a batch-tracked item (from the invoice screen, your till, a recurring invoice or the API), Finocket automatically records which batch it came from, drawing from the one closest to its expiry date first (FEFO) so older stock clears before newer stock. There's no picker to choose a different one yourself yet, and a marketplace order doesn't get this. It is most useful for a pharmacy or anyone else tracking expiry closely.

Godown-wise stock

Add a godown for each warehouse or location and tag movements to one, so you can see what's where. To move goods, use Transfer: pick the product, from- and to-godown and quantity. Finocket records a matched pair of movements, so total on hand is unchanged; only the split moves.

Set a Default godown in the Godowns card on Inventory. New stock starts there unless you pick another: a new product's opening stock, a purchase bill, a goods receipt (and a pharmacy's Receive purchase), a production run, Add / adjust stock, a floor count and a transfer. Once a default is set, a sale, a bill at the till and a credit note that name no godown take stock out of (or back into) the default godown, and a bill recorded against a purchase order puts what it received there.

A floor count is taken in one godown (Counting in), so the difference is posted to that godown. Choose All stock, every godown together for the old whole-business count. A transfer shows how much of the product is at the godown it leaves from. Stock by location lists stock that is in no godown as its own group, so its total matches your stock value.

Stock recorded before you used godowns (opening stock, older bills) sits in no godown. The Stock not in any godown card on Inventory lists it: pick the product, the godown and the quantity, and choose Place. Your total does not change; only where it sits. Each product's own screen shows the same thing under Stock by godown, including a Not in any godown line, with Put into godown and a Transfer link.

Inside a godown you can add bins (a shelf, a rack, a staging area) and put stock away into them from the Warehouse screens. These open with the Inventory module; you do not need Retail turned on.

What is each location's stock actually worth?

Reports → Stock by location breaks your closing stock value out by godown, priced at that location's own weighted-average cost, never blended with another one's. A shop that buys fast at a higher rate and a warehouse that buys slow at a lower one are shown separately, so the figure for either place is one you could actually check against what it paid. Stock recorded with no godown is real but isn't at anywhere, so it doesn't appear on this report. See the total on the main Inventory screen instead.

If the manufacturing or textile process pack is switched on for your workspace, the report also shows a Material at job workers card: the value of material the job-work ledger says is lying with your job workers. It is a memo and is not added to the stock above it. Where you recorded those movements as transfers to the job worker's location, the material is already counted in that location's stock.

Pharmacies: Schedule H, H1 and X drugs

If your workspace uses the pharmacy catalogue kit, the item form has a Drug schedule field: Schedule H, H1 or X. When a marked item is in a sale, the till and the invoice form show a note asking for the patient's name, the prescriber's name and registration number, and an optional photo of the prescription. This is a record-keeping aid: it never stops the sale, and it does not check the prescription for you. A sale made without the details is still recorded, marked "Not noted", so a gap is visible rather than hidden. Reports → Prescription register lists those sales by date with the drug, quantity, batch and prescriber, and downloads as CSV. Whether and how you must keep a register is for you and your pharmacist to confirm.

With the pharmacy pack on, a register entry with a wrong detail (a misspelt patient, a registration number typed wrong) can be corrected with Correct. You say why, and the correction is added as a new version: nothing is overwritten, and the entry shows Corrected with every earlier version and its reason underneath. The drug, quantity, date and invoice cannot be changed this way; a wrong sale is corrected with a credit note.

Once your workspace uses the pharmacy catalogue kit, the Items screen and its "New" button also say Medicine and Medicines instead of the generic "Item" and "Items & Services". It is the same screen, in words a pharmacy recognises.

Sizes and colours: the matrix

For goods that come in sizes and colours, give a style its axes on the Matrix screen and one product is created per cell. The grid then shows what is on hand for every size and colour of that style, sizes across and colours down, and the same grid is how you type a purchase order for the style and record what arrived against it.

Seasons: grouping a range

A shop that plans in ranges (AW26, SS27) groups products into a season so it can read how a whole range did rather than one product at a time. A season is set on the style, so every size and colour of that style moves together and cannot end up split across two seasons. Products are added to one in bulk, because that is how a range is planned.

The dates on a season are for your own reporting. Nothing switches off when a season ends and nothing is hidden. Taking a range out of its season is something you do deliberately, after a markdown. The count shown against a season is the number of products, not styles: a style with forty variants counts as forty, which is what you are actually holding.

Putting a markdown live at the till

With the apparel and footwear pack switched on for your workspace, a season with a Markdown policy offers Draft markdown for N items. A draft changes nothing. It appears on the Markdowns card below the seasons as Draft, Live at the till or Ended, with the number of items in it.

  • Switch on. Every bill at the till then charges no more than the marked-down price, for walk-ins and regulars alike. It is a cap: a customer whose own price is already lower keeps it, and a markdown never raises a price.
  • End. Stops it pricing at the till. The markdown stays on the list as Ended.
  • Who can do it. Only the business owner can switch a markdown on or end it. Everyone else sees the list.

If the card says Switching markdowns on is not available in this workspace yet, a setup step for your workspace has not been done yet.

Returning expiring stock to the distributor

For pharmacies on the pharmacy pack, each row of the expiring-soon list has a Return to distributor button. Pick the distributor from your suppliers, tick the batches, set the quantity and the cost per unit, and post. That one step records a debit note against the distributor and takes the quantity out of each batch, so the shelf and the books move together or not at all. When batches have already expired, a Return expired button at the top of the list opens the same return with every expired batch ticked, and Select all expired inside the return does the same if you started from one row.

You cannot return more of a batch than it holds, and a batch can appear only once in a return. The expiring-soon list is information only: you can return a batch that has not expired yet, and the distributor decides whether to accept it. Under Returned to distributors you then mark each return credited, with the amount the distributor credited, or rejected.

The debit note books the value of the goods without GST. Whether a return also needs a GST credit note and a reversal of the input tax credit is for your CA to confirm, so check with them before you file.

Access & control

Owners and assistants manage products, movements, batches and godowns; an invited accountant sees stock levels, valuation and ledgers read-only. Inventory is a module. Turn it on under Settings → Modules & features.

Related: Sales & purchase orders, Closing stock & COGS.

Does this work offline?

Frequently asked questions

Is there an app to manage stock godown-wise?

Yes. In Finocket you add a godown per location, tag stock movements to one, and transfer between godowns with a matched pair of movements. The Inventory screen shows what's where.

Can I get a low-stock alert for my shop?

Set a reorder level per product; anything at or below it is highlighted on the Inventory screen, so you reorder before you run out.

Does billing reduce my stock automatically?

Yes. Raising a tax invoice or bill of supply with a tracked product draws the quantity down; a credit note puts a return back. No manual stock entry per sale.

How is my stock valued?

At weighted-average cost: each receipt blends into a running average and outgoing stock is valued at that average. This is the method accepted under Ind AS 2 for GST-era books.

Can I pick a specific batch while billing?

There's still no batch picker to choose one yourself, but billing a batch-tracked item - from the invoice screen, your till, a recurring invoice or the API - now automatically records which batch it drew from: the one closest to its expiry date first (FEFO), so older stock clears before newer stock. A pharmacy line that types a batch number links straight to that batch instead. Batches can also carry their own MRP, cost and GST rate - set one when you add it on the Inventory screen.

Can I add freight or duty to a purchase so my stock cost is right?

Yes, using landed costs. On a purchase bill with stock lines, add the freight, duty or clearing amount and choose whether to spread it by line value or by quantity. Finocket splits it across the received lines to the paise (any leftover paisa goes to the largest line) and raises each item's cost layers, so your FIFO/weighted-average valuation reflects the true landed cost, not just the invoice price. Each landed cost is applied once. See the item's cost-layers view on the Inventory screen.

Related articles