Inventory Settings

How product costs are kept (manual or automatic moving average), where a dish's cost of sales comes from (its own cost or its recipe), and the limits that send stock counts, short deliveries and purchase-order changes for approval.

7 min read · Updated 28 Sep 2026

On this page

Settings → Inventory Settings holds the rules that decide how Kassly keeps your product costs, and when a stock count, a delivery or a change to a purchase order has to wait for someone to approve it.

Owners and Managers can open the page. Only people with the Edit Store, Receipt & Inventory Settings permission can save it, which by default means the Owner. Everyone else sees the settings read-only.

Change what you need and click Save Changes. Only the settings you changed are saved.

Product cost

How should product costs be kept? There are two answers.

Option What happens when stock arrives
Manual (the default) Nothing changes. Your cost prices stay exactly as you typed them.
Automatic (moving average) Each delivery's price blends into the product's cost, weighted by how much you already have.

Every business starts on Manual, including businesses that were on Kassly before this setting existed. Nothing switches to automatic unless you choose it.

Automatic costing needs the Inventory Pro add-on (₱400 per branch each month). Without it the Product cost section is locked and costs stay manual. The approval limits further down still work on every plan.

Manual

You set costs yourself on each product. Kassly still keeps a note of every delivery's price, and it helps you when a supplier's price changes:

  • The Receive Items dialog shows each line's catalog cost next to its PO cost before you receive.
  • After receiving, a purchase order whose prices differ from your catalog costs offers Update catalog costs, which sets them to the PO prices in one step. See Receiving purchase orders.

Automatic (moving average)

Every costed delivery moves the cost. The new cost is:

(units on hand × current cost + units received × price paid) ÷ (units on hand + units received)

For example, 10 kg on hand at ₱50 plus 10 kg received at ₱60 makes the cost ₱55.

What counts as a delivery:

  • receiving a purchase order, at a branch or into a warehouse;
  • a stock-in or bulk stock-in with a cost filled in. A stock-in with no cost leaves the cost alone.

Some details that matter:

  • Units on hand are counted across the whole business, every branch and warehouse together. There is one cost per product, not one per branch.
  • Each variant has its own cost. Receiving the 1-inch pipe moves the 1-inch pipe's cost, not the 2-inch pipe's or the parent product's.
  • Stock below zero. If an item has sold more than was ever recorded as received, there is nothing to average against, so its cost becomes the new delivery's price. The same happens when an item has no cost yet. Averaging starts again once its stock is back above zero, so recount it (see Stock counts) to get there sooner.
  • Items that do not track stock take the latest delivery's price.
  • Freight and price corrections added later with a landed-cost voucher move the cost of the units still in stock. On-hand counts only stock above zero, and with nothing on hand the whole amount goes to cost of goods sold instead.
  • Costs are kept to four decimal places.

You can still type a cost on the product. That sets a new starting point, and the next delivery averages from there. The product form reminds you: Updated automatically from receipts; editing sets a new starting cost.

Production runs at a commissary always average the finished item's cost this way, whichever option you pick. See Commissary.

Switching between them

Switching asks you to confirm first:

Switch What the confirmation says
Manual → Automatic Receiving stock will update costs from now on. Your current costs become the starting average. Past sales and reports are not changed.
Automatic → Manual Costs stop updating from receipts; current values are kept.

Nothing is recalculated backwards. Sales already made keep the cost they were sold at. Every switch is written to the audit log with who made it.

If your Inventory Pro add-on lapses, Kassly goes back to manual costing but remembers your choice. It picks up again if you renew.

Dish cost

What should a dish with a recipe cost when it is sold? This decides the cost of sales each sale records for a dish, which is what your profit reports, product margins and the books use.

Option What a sale of the dish records
Use the dish's own cost (the default) The Cost Price on the dish itself.
Work it out from the recipe The current cost of the recipe's ingredients, with waste and unit conversion. A dish without a usable recipe keeps its own cost.

Every business starts on Use the dish's own cost, including businesses that were on Kassly before this setting existed.

Turning recipe cost on changes the cost of sales for dishes from that day on. Sales made before the switch keep the cost they were recorded with and are never restated, so a report that spans the switch mixes the two. Switching back is forward-only too. Kassly asks you to confirm either way. How the recipe figure is worked out is in Ingredients and recipes.

Recipe cost needs the Recipe Costing add-on. Without it the Dish cost section is locked and dishes use their own cost.

Stock count approvals

A counted item that differs from the expected stock by more than either limit goes to the approvals queue instead of being applied straight away.

Setting Default
Difference in units 5 units
Difference in percent 10%

See Stock counts for how the difference is worked out.

Receiving approvals

A delivery that is short of what was outstanding by more than either limit raises a receiving variance for a manager to review.

Setting Default
Difference in units 5 units
Difference in percent 10%

See Receiving purchase orders.

Purchase order changes

A change to a purchase order that was already sent waits for the Owner's approval when it goes over either limit.

Setting Default Meaning
Price increase on an item 0% Any raise in a line's unit cost above this needs approval. At 0%, even one centavo does.
Increase in the order total 10% A new total more than this above the current one needs approval. Adding a line counts.

Lowering quantities or prices never needs approval, and the Owner's own changes always apply straight away. See Purchase orders.

All the percent limits accept decimals. Count and receiving percentages go up to 100%; the purchase order limits up to 1,000%.

Purchasing

Setting Default Meaning
Default payment terms None The terms every new purchase order starts with, such as Net 30. Each PO can still change or clear them. Leave it blank for no default.
Supplier credit write-off approval ₱1,000 A write-off of more than this, by anyone but the Owner, waits for the Owner's approval. ₱0 sends every write-off for approval.

The write-off limit starts at ₱1,000 so that small leftovers (rounding, a few pesos in dispute) still clear straight away, while writing off real money gets a second look: unlike a return, a write-off leaves nothing physical to check. See Purchase orders and Supplier credits.

Where to go next