Stock, deliveries and losses
You never type a stock level over the old one. Stock is a ledger: every delivery adds a signed entry, every loss subtracts one, and today’s level is the running total. That design is what lets BatchDash tell you what your stock is worth and prove where the number came from.

Log a delivery
Section titled “Log a delivery”On the ingredient page, click Log delivery:
- Enter the Quantity Received and the Date.
- Pick a Link to Vendor Offer if one matches. The offer’s pack price gives the delivery its cost.
- Add a Lot code and Expiry date if you track lots, and a note (“Invoice #123”).
A delivery without a cost still raises the level, but the ingredient then shows an “Uncosted stock” warning: that quantity cannot be valued. Deliveries created by receiving a purchase order carry the exact amount you paid, delivery fees included, so prefer them for real purchases.
Log a loss
Section titled “Log a loss”Click Log loss / adjustment and keep the type on Loss / Waste / Spoilage. Enter the quantity, the date, and pick a Reason: Spoilage, Breakage, Expiry, Theft, Sampling, Count variance, or Correction. Reasons cost two seconds to record and pay off later, when you want to know how much habanero went to mold versus the floor.
Adjustments
Section titled “Adjustments”The same dialog, with the type set to Manual Correction, records a signed correction: choose Subtract from stock or Add to stock, then the quantity. Use it when a physical count disagrees with the ledger and you want the ledger to match the shelf.
The movements ledger
Section titled “The movements ledger”The Stock movements table lists every entry with its Date, Type, signed Quantity, running Balance, and Source. Five types exist: Delivery, Loss, Adjustment, Used in production (a run consumed it), and Made in-house (a run produced it). Each row’s balance is the previous balance plus its quantity, so when a number looks wrong, the ledger shows exactly which entry to blame.
How movements set the cost
Section titled “How movements set the cost”Level and cost move separately. Costed deliveries feed the weighted average cost: each arrival blends its price into the average. Losses, consumption, and adjustments change the level but leave the unit cost alone, which is why an ingredient can lose half its stock and keep the same WAC. Vendor offers never touch it either; see Vendor offers and price history for what offers are for.