Most shop owners in Bangladesh do not start with software. They start with a register, a calculator and a good memory, and for a year or two that works. Then the shop grows to 1,200 items, a second fridge arrives, a helper starts serving customers, and one Thursday you are standing in front of a delivery man with no idea whether you already have four cartons of that biscuit in the back or none.
That is the moment stock software starts paying for itself, not because it counts better than you do, but because it counts every hour without getting tired, and it remembers how fast an item sells, how many days your supplier really takes, and which shelf holds money that stopped moving after Ramadan. This is the starter version: product codes when half your goods have no barcode, the opening count, the reorder point with real numbers, what to do when the shelf and the screen disagree, and a 30-day plan to get one shop live.
Why the register and the Excel sheet break down
A register records what happened. It does not tell you what to do next, because to decide whether to order milk you would have to read backwards through a week of pages. Nobody does, so ordering becomes a guess made in front of the supplier. Excel is a step up, and good shops run on it for years, but it breaks for four predictable reasons.
- It is one person's file. It lives on one laptop, is updated in the evening and out of date all day. The counter cannot see it.
- Selling does not reduce stock. The sale and the deduction are two separate acts of discipline. On a busy Friday the second one does not happen.
- No units, no batches. A cell holds "24". Bottles or cartons? Which expiry? The sheet does not care and will not warn you.
- It cannot alert. You find out that Detergent 500 g is finished when a customer asks and the shelf is empty.
Software fixes all four by design: the sale itself moves the stock, everyone sees one number, units and batches belong to the item, and the system watches reorder points for you. In MondayPOS the inventory module sits under the same roof as billing and purchasing, so the bill at the counter, the goods receipt at the back door and the ledger entry are one transaction seen from three sides.
Set up the product list: SKUs, barcodes and units
Give every item an SKU
An SKU is a short unique code for one exact sellable thing. "Soybean oil" is not an SKU. "Soybean oil, Brand X, 1 litre bottle" is, and the 5 litre can of the same brand is a different SKU. Category-brand-size works well: OIL-RUP-1L, OIL-RUP-5L, BIS-OLM-200, RICE-MIN-25. Keep codes short enough to type, never reuse a code for a different product, and write the rule on a card inside the counter so whoever adds items next year follows the same pattern.
Barcodes when local goods have none
Your shelves hold three kinds of goods. Printed barcodes: branded FMCG, imports, most medicines. Scan once while creating the item and you are done forever. No barcode: loose rice, dal, sugar, spices, eggs, vegetables, local bakery. Sell them from keypad codes or favourites buttons, which is fast if the top 30 loose items sit on one screen. Goods you pack yourself: weigh, pack and print your own label in the morning, then sell by scan all day, at about twenty minutes of work a day.
Do not wait to barcode everything before going live; that shop never goes live. Barcode the fast movers first, revisit in month three, and see our hardware guide for scanners and label printers.
Decide units before you enter a single item
This is the mistake that costs the most rework. Every item needs a stock unit (the unit you count in) plus conversions to the units you buy and sell in.
| Item | You buy in | You count in | You sell in | Conversion to set up |
|---|---|---|---|---|
| Soybean oil 1 L | Carton | Bottle | Bottle | 1 carton = 12 bottles |
| Biscuit 200 g | Carton | Packet | Packet | 1 carton = 48 packets |
| Soap bar | Carton | Bar | Bar or dozen | 1 carton = 72 bars; 1 dozen = 12 |
| Eggs | Case | Piece | Piece or dozen | 1 case = 30 pieces; 1 dozen = 12 |
| Sugar (loose) | 50 kg sack | Kg | Kg or 0.5 kg | 1 sack = 50 kg |
| Soft drink 250 ml | Crate | Bottle | Bottle | 1 crate = 24 bottles |
Count in the smallest unit you ever sell (bottles, not cartons) so a half-empty carton is not a rounding problem, and let the software do the multiplication when a purchase arrives in cartons. A person typing "12 × 8 = 96" into a stock column at 9 pm will eventually type 69. For loose goods, record the tare of the packing bag and choose between fixed 0.5 kg steps (buttons, no extra hardware) and free weight (needs a scale on the POS).
The opening stock count: do it once, do it properly
Every system starts from one number per item: what is on the shelf on day zero. Get it wrong and every report for three months is wrong, and staff stop trusting the screen.
- 1Count after closing. Counting while selling is how you get 40 in the system and 37 on the shelf.
- 2Count in pairs (one counts, one writes) and never let the person responsible for a shelf count it alone.
- 3Count by shelf, not by list. Walk the shop top to bottom; counting from a list means you skip whatever the list forgot. Count the back store and fridge separately, then add them.
- 4Write counts in the counting unit: pieces, bottles, kilos. If you write "3 cartons", write the carton size beside it.
- 5Enter the counts that night and print the opening valuation. If the software says ৳8.4 lakh and you thought ৳5 lakh, something went in as the wrong unit, usually cartons entered as pieces.
Budget one evening and three people for about 1,000 items, then re-count 20 random items as a spot check.

Reorder point and safety stock, with the arithmetic
The reorder point is the level at which you place the next order. It is not a feeling; it comes from two things you already know, how fast the item sells and how long the supplier takes.
Supplier lead time is the days between placing an order and the goods being on your shelf: not what the rep promises, but what the last five deliveries took. Write the order date and receipt date on every purchase for a month and you have your real average and your real worst case, which in most shops is roughly double the average and lands on the week before Eid.
Reorder point = busy-day sales × worst-case lead time Safety stock = reorder point − (average daily sales × average lead time)
In plain words: hold enough to survive selling at your busiest rate for as long as the supplier could possibly take. Everything above the plain average is safety stock, the buffer for a slow delivery or a good week.
| Item | Avg daily | Busy day | Avg lead time | Worst lead time | Cover for average | Safety stock | Reorder point |
|---|---|---|---|---|---|---|---|
| Soybean oil 1 L | 18 | 30 | 3 days | 5 days | 54 | 96 | 150 bottles |
| Detergent 500 g | 12 | 20 | 4 days | 7 days | 48 | 92 | 140 packets |
| Biscuit 200 g | 25 | 45 | 2 days | 4 days | 50 | 130 | 180 packets |
| Toothpaste 100 g | 6 | 11 | 5 days | 9 days | 30 | 69 | 99 tubes |
| Fresh milk 1 L | 24 | 40 | 1 day | 2 days | 24 | 56 | 80 packets |
| Miniket rice 25 kg | 4 | 7 | 2 days | 4 days | 8 | 20 | 28 sacks |
Toothpaste sells slowly, but the supplier is slow, so you still hold nearly 100 tubes. Milk sells fast, but the supplier comes daily, so 80 packets is enough: lead time matters as much as sales speed.
Three adjustments before you use these numbers. Use your second-busiest day, not the record day; one freak Eid Saturday should not set the whole year. Cap perishables by shelf life: for milk with seven days of life, hold no more than three or four days of sales whatever the formula says. And round to the pack: if the answer is 150 bottles and the carton is 12, set 156.
Then the job changes shape. Instead of walking the aisles wondering, you open the low-stock report each morning and it lists what crossed its reorder point yesterday, grouped by supplier, so one call covers one supplier's whole order.
Fast movers, slow movers and dead stock
The other half of inventory is the money that is not moving, and it hides in plain sight on a shelf you stopped looking at. With three months of history, run two reports every month.
Fast movers. Rank items by units sold. The top fifth of the catalogue normally drives most of the sales; those must never run out, should sit within reach of the counter, and are worth negotiating a better purchase price on.
Slow movers and dead stock. List items with zero sales in 60 days and items holding more than 90 days of stock. For each, write down a decision: discount, bundle with a fast mover, return to the supplier if your terms allow, or accept the loss and clear the shelf. Doing nothing is also a decision, and it costs shelf space and cash you cannot use.
The number to watch is days of stock: stock on hand ÷ average daily sales. In grocery most packaged goods sit between 15 and 45 days. Over 90 needs a reason; under 7 on a fast mover means you are one late delivery from an empty shelf.
Batch and expiry for perishables
If you sell milk, bread, yoghurt, juice, cosmetics, baby food or medicine, the item code alone is not enough: two packets with the same SKU can carry different expiry dates and different costs. Batch tracking records the batch number and expiry date at goods receipt, and two things become possible.
FEFO: first expired, first out. The POS suggests the batch closest to expiry, so old stock leaves before new. Without it, staff take from the front, the back of the shelf ages quietly, and you write it off later.
Expiry alerts. A report of everything expiring in 30, 60 or 90 days, so you can discount, bundle or arrange a supplier return while the supplier still accepts it. Return windows vary by supplier and category, so confirm your own terms.
In a grocery shop, switch batch tracking on for perishable categories only; batch-tracking soap is work with no payoff. For pharmacy it applies to the whole catalogue, and the rules on handling and disposing of expired medicine are stricter, see our pharmacy pages.
Physical count vs system count: handling the gap
The system count is what the software says; the physical count is what is on the shelf. They will differ, the question is how fast you notice and how honestly you handle it.
Count regularly, not just annually. A full stocktake each quarter, plus cycle counting: pick 15 to 25 items a week (the fast movers and the expensive ones) and count only those. That takes fifteen minutes before opening and catches problems in the week they happen instead of eight months later.
Investigate before you adjust. Typing the physical number in and moving on deletes the evidence. Check in order: stock in the back store or fridge that was not counted; a delivery received but not entered, or entered twice; a wrong unit conversion, such as a carton booked as a piece; a sale not billed, a return not recorded, a damaged item binned without an entry. Only after all four, record it as loss.
Use reason codes on every adjustment: damage, expiry, theft, receiving error, unit error, staff use. Over three months those codes show where the money goes, and each has a different fix: expiry losses mean reorder points are too high, receiving errors mean the back door needs a process, theft means a conversation. Our guide to reducing inventory shrinkage goes deeper.
Watch the trend, not the incident. Track variance as a percentage of sales value; three months of one category drifting tells you where to look. And keep stock adjustment as a named permission: if every cashier can adjust, nobody is accountable.

A 30-day rollout plan for one shop
This sequence fits around normal trading hours; a typical single-outlet setup runs two to four weeks.
| Days | What you do | Who | What you have at the end |
|---|---|---|---|
| 1–3 | Fix the SKU pattern, list categories and suppliers, agree units and conversions | Owner | A written naming rule and supplier list |
| 4–7 | Build the product master: names, SKUs, units, cost and selling price, VAT rate; import the old Excel | Owner + vendor | Product list loaded, prices checked |
| 8–10 | Scan barcodes for packaged goods; set keypad buttons and label printing for loose goods | Shop staff | Fast movers scannable at the counter |
| 11–12 | Opening count after closing; enter counts; sanity-check the opening valuation | Everyone | A trusted day-zero stock number |
| 13–16 | Go live at the counter: bill everything, including small cash and staff purchases | Cashier | Stock moves with every sale |
| 17–20 | Receive all purchases in the system, in purchase units, with batch and expiry for perishables | Owner | Purchases and stock agree |
| 21–24 | First cycle count of 20 fast movers; investigate every difference; agree reason codes | Owner + staff | A short list of real process problems |
| 25–27 | Enter reorder points for the top 100 items from last month's sales and measured lead times | Owner | A low-stock report worth reading |
| 28–30 | First monthly review: fast movers, dead stock, expiry report, variance by reason code | Owner | A routine you can repeat monthly |
The two steps people skip are day 11 and day 21, and they decide whether the system gets trusted. A rushed opening count and an uninvestigated first cycle count produce a screen nobody believes by month two.
Questions to ask before you buy
Take these to any vendor's demo, ours included, and watch the screen rather than the slide deck.
- 1Create an item bought as a carton of 12 and sold as one bottle. Receive two cartons, sell one bottle, show me the stock.
- 2Sell a loose item by weight and show me the stock in kilos afterwards.
- 3Receive the same product twice with different expiry dates, then sell one. Which batch did the system pick?
- 4Show today's low-stock report grouped by supplier, and turn it into a purchase order.
- 5Show the items with zero sales in the last 60 days.
- 6Do a stock adjustment. Can I set a reason code, and can I stop a cashier from doing it?
- 7What happens to all of this when the internet drops, and how do I import 1,200 products from Excel?
The short version
Inventory software tells you nothing you could not work out yourself with enough evenings and enough patience. What it does is make the working-out automatic and shared, so the number at the counter, the number in the back store and the number in your accounts are one number. Start with a clean product list and honest units, do the opening count properly, set reorder points from measured lead times rather than feelings, count 20 items a week, review dead stock monthly. That is the whole discipline, and one shop can be running it inside a month.
MondayPOS is an offline-first retail ERP built on ERPNext, with real-time stock, auto-reorder, expiry and batch tracking, purchasing and accounting in one system, from ৳1,500 per outlet per month for a single small shop. See the inventory module, check pricing, or book a demo and run those seven questions on your own product list.
Frequently asked questions
- What is inventory management software, and how is it different from a POS?
- A POS records the sale at the counter; inventory software tracks what you bought, sold and have left across shelves, back store and suppliers. In a small shop they should be one system, because a sale is also a stock movement, and running them separately means entering everything twice.
- How much does inventory management software cost in Bangladesh?
- Retail systems with stock control typically run from about ৳1,000 to ৳7,000 per outlet per month depending on modules and outlet count. MondayPOS publishes ৳1,500 per outlet per month on Lite and ৳3,500 on Business, which adds purchasing and accounting, billed yearly. Our price guide covers what else to budget for.
- Can I use stock software if my products have no barcodes?
- Yes. Barcodes only make scanning faster; the software needs a unique SKU code, not a barcode. Sell unbarcoded goods from keypad codes or favourites buttons, and print your own labels for anything you pre-pack. Many shops run that way permanently for rice, dal, spices and vegetables.
- How do I calculate the reorder point for my shop?
- Multiply busy-day sales by the longest time the supplier has actually taken. An item selling 30 units on a busy day with a worst case of five days has a reorder point of 150 units. Cap perishables by shelf life, and measure lead times from your own purchase history rather than the supplier's promise.
- What should I do when the physical count does not match the system?
- Check the back store, then goods received but not entered, then unit conversions, then unrecorded sales, returns and damages, before recording a loss. Tag every adjustment with a reason code, and keep the right to adjust with the owner or manager rather than every cashier.
- Do I need batch and expiry tracking for a grocery shop?
- Only for categories that expire: milk, bread, yoghurt, juice, baby food, cosmetics. Leave it off for soap and utensils. For a pharmacy, batch and expiry tracking is essential across the whole catalogue.



