Stock in & out
Sometimes the shelf changes without an order: a delivery arrives off-system, something spoils, a count is corrected. Stock In and Stock Out record it, and each leaves a row in the stock history.
Who uses it
- Supplier staff with full access to products.
How it works
Open a product and choose Manage Stock, then Stock In, Stock Out or View Stock History.
| Field | Stock In | Stock Out |
|---|---|---|
| Quantity | Required, above 0 | Required, above 0 |
| Weight (catch-weight products) | Required, above 0 | Required, above 0 |
| Purchase Price / Sale Price | Purchase Price | Sale Price |
| Purchase Date / Sale Date | Purchase Date | Sale Date |
| Notes | Optional | Optional |
A catch-weight product is priced per unit of weight, so the price is per LB (or its secondary unit), not per case. See catch-weight.
Calculations
Cost is a weighted average
Each Stock In re-averages the product's Cost. Stock Out and sales do not change it.
new cost = (stock on hand × current cost + stock in quantity × purchase price) ÷ new stock on hand
| Step | Stock on hand | Cost |
|---|---|---|
| Before | 10 | $4.00 |
| Stock In 10 at $6.00 | 20 | $5.00 |
| Stock Out 5 | 15 | $5.00 |
(10 × $4.00 + 10 × $6.00) ÷ 20 = $5.00. The cost never goes below $0, and shows two decimals; the unrounded value is kept behind it so repeated reversals do not drift. See Money & rounding.
Where it shows up
The product's Stock and Cost in the Product list, and a Stock In or Stock Out row in the stock history.
Permissions
Products: full access.
Decisions
- The stock figure is read-only everywhere else. One record per movement means the count can always be explained.
Known limitations
- A catch-weight Stock In averages cost using the purchase price per unit of count, not per unit of weight. (verify with the cost shown after a weighed Stock In)
FAQ
I entered Stock Out by mistake. Record a matching Stock In. Rows in the history are not edited.
Why did Cost change when I received more stock? Cost is the average of what is on the shelf, so a Stock In at a different price moves it.