Skip to main content
Managing stock when you sell via Telegram and a spreadsheet

· E-commerce stock · 4 min read

Managing stock when you sell via Telegram and a spreadsheet

Orders arrive fast in a Telegram chat, yet stock gets muddled in a shared sheet. A few simple conventions let one spreadsheet carry daily receipts and sales reliably.

Orders arrive in a Telegram group at any hour, while stock lives in one shared spreadsheet and in the owner's head. After a promotion nobody can say how much is left, and when a customer asks "do you have it?" the answer is a guess. Many small shops do not need a complex system straight away. One well-built sheet and a few conventions everyone follows can carry the daily receipts, sales and counts.

One workbook, four tabs

  1. Items: SKU, name, variant, unit, cost price, sale price, usual location.
  2. Receipts: date, SKU, quantity, cost, supplier, who entered it.
  3. Sales: date, order number (taken from the chat), SKU, quantity, price, channel, status (reserved, paid, shipped).
  4. Stock: one row per SKU, all by formula: opening quantity, total received, total shipped, reserved quantity and available quantity.

Nobody types into the fourth tab. Every figure is computed from receipts and sales, so the stock tab can never disagree with the movements. A summing function such as SUMIFS can add up receipts and shipments for each SKU.

Five simple conventions

  • Append only. Past rows are never edited or deleted. A mistake is corrected by a new row with a negative quantity and a note of the reason.
  • Pick the SKU from a drop-down list rather than typing it, so T-007 does not become T007.
  • Every Telegram order gets an order number, written in both the chat and the sheet, so the two can be matched later.
  • Separate "reserved" from "shipped". Reserving lowers the available quantity but not the stock. Shipping lowers the stock.
  • Answer "is it in stock?" from the available quantity on the stock tab, never from memory.

The moment an order arrives is when it is easiest to miss, so pin an order template in the group: order number, SKU, quantity, pickup or delivery method and payment status, for the customer or salesperson to fill in. Whoever does the entry sees a complete order and adds a row to the sheet. Add one firm rule: no order number, no shipment. Then there is nowhere for an order agreed in chat, but never entered, to hide.

A worked example

Suppose T-007, a thermos flask, has an opening quantity of 40, two receipts this month totalling 100 (60 and 40), 85 shipped, and 6 reserved by customers but not yet sent.

  • In stock: 40 plus 100 minus 85, which is 55.
  • Available: 55 minus 6, which is 49.

If someone in the group asks "do you still have 50?", the answer is that 50 cannot be confirmed, because 6 are already promised to others. Memory easily gets such details wrong, while the sheet shows them at a glance.

Small routines

  • Every evening, spend five minutes checking statuses on the sales tab and filling in orders that have shipped.
  • Each week, take the ten best-selling SKUs, compare the physical quantity with the stock tab and note any gap.
  • Each month, do a full count. The result becomes next month's opening quantity, and the old month is archived.
  • Each week, download a copy as an Excel file. If the shared sheet is deleted or overwritten by mistake, you still have a backup.

Protecting the sheet

  • Protect the formula cells on the stock tab so that only named people can change them.
  • Limit editing to the few people who need it, and know which columns each one maintains.
  • Common shared-spreadsheet tools usually keep a version history, so you can look back at who changed what and when.

When to move to something bigger

A spreadsheet has a ceiling. These are the signs that it is time to look further:

  • Two people enter data at once and keep overwriting each other.
  • The sheet has thousands of rows and opens and calculates slowly.
  • Stock sits in several warehouses and needs separate records for each.
  • Counting by eye and keying numbers has become a burden, and scanning is needed.

Even then, the SKUs, costs and opening quantities tidied up in this sheet are a ready starting point for whatever comes next.

InventoryHub returns count results as a SKU-level table you can filter in Excel, and for a shop that runs on one spreadsheet it can serve directly as that sheet's new opening quantity.