Skip to content
Sellify

Stock

Inventory

Menu: Inventory section · Who: owner, branch manager

Stock lives per branch. Both the quantity and the cost are kept per branch, so one shop buying cheese dear does not move another shop's food cost.

Set up in this order: Units → Suppliers → Items → Purchases.


Units

Units, and the conversion that lets a recipe be written in grams and stocked in kilos.
Units, and the conversion that lets a recipe be written in grams and stocked in kilos.

Menu: Inventory → Units

How stock is measured, and how one measure converts into another. Every company starts with a standard set (kg, g, ltr, ml, pcs, dozen, carton); rename or add as you like.

FieldNotes
Name / Short code"Kilogram" / kg
Converts toThe base unit this one is expressed in. g converts to kg
How many0.001 — one gram is 0.001 kilos
Decimals shown3 for weights, 0 for pieces

A unit converts one step, straight to a base unit. You cannot chain g → kg → tonne, and two units cannot point at each other. That keeps every conversion exact.


Suppliers

Suppliers. Adding a deleted one back brings its purchase history with it.
Suppliers. Adding a deleted one back brings its purchase history with it.

Menu: Inventory → Suppliers

FieldNotes
NameUnique in your company
Contact person, Phone, Address
NTN, STRNTheir numbers, for your input tax records

Items

Stock items. A retail product with Track stock on gets one automatically per variant.
Stock items. A retail product with Track stock on gets one automatically per variant.

Menu: Inventory → Items

An item is a thing on a shelf. It is not the same as a product: a product is sold, an item is stocked.

FieldNotes
Name"Mozzarella Cheese"
KindIngredient (used by recipes), Sellable stock (sold as-is), Packaging (boxes, bags)
UnitHow it is stocked — buy in cartons, stock in pieces
SKUOptional
Alert levelBelow this it shows as Low on the stock page
Track batches and expiryPer item, if your company has batch tracking on

For retail, ticking Track stock on a product creates its sellable item for you. You can still rename it here.


Stock on hand

Stock on hand at the branch in the top bar, with its weighted average cost.
Stock on hand at the branch in the top bar, with its weighted average cost.
The same screen for a retail branch.
The same screen for a retail branch.

Menu: Inventory → Stock on hand

What is on the shelf at the branch in the top bar, valued at that branch's own average cost. Four figures at the top: stock value, items tracked, low stock, below zero.

Click any row to see its ledger — every movement that made the number what it is, with the balance and average cost after each one. If a number looks wrong, the answer is always in the ledger.

stock_ledger is the only truth about stock. The on-hand figure is a running balance written at the same moment as the ledger row, never edited by hand.


Production

Menu: Inventory → Production. A batch the kitchen made: raw material off this branch's shelf, the finished item onto it, priced by what it actually consumed. It is how a commissary fills the shelf a shop later sells from — and how a shop that makes its own dough records it.

Only items with Made in batches on (and a recipe) can be produced.

Purchases

Purchases. A received purchase is corrected, never quietly edited.
Purchases. A received purchase is corrected, never quietly edited.
Entering a purchase: a line is priced either by rate or by the amount actually paid.
Entering a purchase: a line is priced either by rate or by the amount actually paid.

Menu: Inventory → Purchases · This is also how you enter opening stock.

FieldNotes
Supplier
Supplier invoice #Their bill number, for your records
Expected deliveryThe day the supplier promised. Optional — leave it empty if nothing was agreed
LinesItem, quantity, and the price — see below
Batch number / Expiry datePer line, when the item tracks batches
Freight and other chargesSpread across the lines by value and added to cost
Sales tax paidYour claimable input tax — recorded, but not part of item cost

Price: rate or amount paid

A shop bill says "500 g for Rs 300", not "Rs 0.60 a gram". So a line takes either:

  • a rate per unit, or
  • the amount paid for that line.

Whichever you type, the other is worked out for you, and the amount you typed is the truth: 7 kg for Rs 1,000 stores a rate of 142.8571/kg and a line total of exactly 1,000.00, however the rate rounds. The browser never divides it itself.

At the bottom you see Goods, Freight and charges (spread into cost), Input tax (not part of cost) and Paid to supplier.

Order first, goods later

Saving a purchase never touches the shelf. An order is usually placed days before the van turns up, so Save purchase order records what you asked for and nothing else. It sits as a Draft, and the list shows what you ordered against the Expected day — in red, marked overdue, once that day has been and gone and the goods still have not.

A draft is edited freely: open it and press Edit. Quantities change on delivery, a rate turns out different, the supplier moves the date — all of it is ordinary editing, because nothing has been posted yet.

Receiving

A purchase is a draft until you receive it. Open it once the goods are actually in and press Receive into stock — that is what posts the ledger and moves the weighted average cost:

old: 10 kg @ 900 = 9,000        new: 5 kg @ 1,100 = 5,500
                    15 kg @ 966.67

What was promised stays on the document afterwards; what actually happened is the day it was received.

Correcting a received purchase

A received purchase is corrected, never quietly edited. Open it and press Correct (the button only appears when the purchase can still be corrected), fix the lines and give a Reason for the correction: the ledger it posted is reversed at the cost the goods came in at and posted again from the corrected lines, under the same document number, with the before/after totals kept on the record. The purchase then shows a Corrections list — every correction, who made it and what changed.

It is refused if the day is closed, or if the goods have already been sold or used — that case is a stock adjustment, not an edit.


Adjustments

Adjustments — wastage, breakage and anything the shelf lost without a sale.
Adjustments — wastage, breakage and anything the shelf lost without a sale.
Every adjustment needs a reason; it is what the report reads back to you.
Every adjustment needs a reason; it is what the report reads back to you.

Menu: Inventory → Adjustments

Stock leaving or arriving for a reason that is not a sale or a purchase.

FieldNotes
Item
ReasonWastage, Damage, Expiry, Theft, Correction, Opening
QuantityNegative takes stock off, positive puts it on
What happenedA note — this is what you will read in the wastage report next month

Transfers

Transfers between your own branches.
Transfers between your own branches.
Sending deducts at once; the stock belongs to neither shelf until it is received.
Sending deducts at once; the stock belongs to neither shelf until it is received.

Menu: Inventory → Transfers

Moving stock from the branch in the top bar to another.

A transfer is two-sided: sending deducts the source branch immediately (the stock is "in transit" and belongs to neither shelf), and the destination credits it when it is received. The sending branch's cost travels with the goods, so the receiving branch's average is not distorted.


Stock counts

Stock counts. The sheet keeps what was expected at the moment it was opened.
Stock counts. The sheet keeps what was expected at the moment it was opened.

Menu: Inventory → Stock counts

  1. Open a count and choose what is being counted — everything, one kind, or a few items.
  2. The sheet freezes what was expected at the moment you opened it.
  3. Count the shelf and type what you actually found.
  4. Post it.

Only the variance is posted, as one ledger row per item. The sheet keeps the expected figures, so you can always see what the difference was and when.

This is also how you fix negative stock after a day of selling with Allow negative stock switched on.