Stock Adjustments
Use stock adjustments to record stock changes that are not a sale, a refund, or Stock In. For example: items that are damaged, expired, lost, used in-house, returned to a supplier, or found again.
Each adjustment changes stock right away and is fully recorded: how much changed, the stock before and after, the reason, a note, who recorded it, and the value lost based on the cost price.
Open it from Inventory → Stock adjustments in the web Dashboard or the Dashboard mobile app.
Stock adjustments launch with this release. The page may look slightly different from the description below, but it works the same way.
Who can use it
- Plan: stock adjustments and the stock loss report are available on every plan.
- Role: Owners and Admins can view and record adjustments. Cashiers can't open this page, because it shows cost prices and loss values. See Staff roles.
Adjustment reasons
Every adjustment needs a reason. The reason sets which way the stock moves:
| Reason | Direction | Example |
|---|---|---|
| Damaged | Reduces stock | A bottle broke while unloading |
| Expired | Reduces stock | Bread past its date |
| Lost / missing | Reduces stock | An item can't be found during a check |
| Internal use | Reduces stock | Coffee used for samples or by staff |
| Returned to supplier | Reduces stock | Faulty items sent back to the supplier |
| Replacement from supplier | Adds stock | The supplier sends replacement items |
| Found | Adds stock | An item thought lost turns up in the storeroom |
| Correction | Adds or reduces | Fixing a recording mistake |
| Stock count | Adds or reduces | Created automatically when a stock count is finalized. You can't pick it by hand |
| Purchase receipt | Adds stock | Created automatically when goods from a purchase order are received. You can't pick it by hand |
| Transfer out | Reduces stock | Created automatically when a stock transfer is sent from the source branch. You can't pick it by hand |
| Transfer in | Adds stock | Created automatically when a stock transfer is received at the destination branch. You can't pick it by hand |
| Transfer canceled (returned) | Adds stock | Created automatically when an in-transit transfer is canceled. You can't pick it by hand |
A reason that reduces stock can't be used to add stock, and the other way round. If new goods arrive from a supplier, receive them on a Purchase Order (or Stock In for a restock without a PO), not an adjustment.
Recording one adjustment
- open Stock adjustments and tap Add adjustment
- search for the product, or scan its barcode
- pick the variant if the product has variants (required, because stock is kept per variant)
- pick the branch if the product's stock is kept per branch
- pick the reason
- enter the quantity; the screen shows the current stock and the stock after saving
- add a note if needed (up to 255 characters), then save
For the Correction reason, there are two ways to fill it in:
- Set to. Enter the correct stock, such as "make it 12". Etalasse works out the difference.
- Change by. Enter the difference, such as "+3" or "−2".
If your connection drops while saving and you tap save again, the adjustment is not recorded twice.
Bulk adjustments
For many items at once, such as an expired batch, use Bulk adjustment:
- pick one reason and note for all rows
- add products one by one with their quantities (up to 200 rows); any row can have its own reason or note
- save once
A bulk adjustment is all or nothing. If one row fails, for example because there isn't enough stock, no rows are saved and the problem row is highlighted. Fix that row and save again.
Stock before and after
Each adjustment records the stock before and after. Which number is used depends on how your shop counts stock:
- Stock as a number. It's the product's or variant's stock. If stock is kept per branch, it's that branch's stock.
- Stock per unit (each unit is listed on the Stocks page). A reduction marks the oldest units as written off. An addition creates new units with the Exist status. The product's stock number is updated too, just as with Stock In.
An adjustment on a variant also changes its parent product's stock by the same amount, just as sales and Stock In do.
Stock never goes negative
Stock can't go below zero. If you try to take out more than is in stock, the adjustment is refused and Etalasse shows the stock available at that moment.
Stock adjustments aren't available for Booking shops, Rental shops, and digital product shops that don't use per-unit stock, because sales in those shops don't use up stock.
Low-stock alerts
If an adjustment brings stock down to or below the reorder point, you get the same low-stock alert as after a sale: in the notification bell and as a push notification, at most once a day per item.
Adjustments can't be edited or deleted
A saved adjustment can't be edited or deleted. This keeps your stock history trustworthy. If you made a mistake, record a new adjustment with the Correction reason to fix it.
Every adjustment is also recorded in the Activity Log.
Adjustment list
The adjustment list shows the newest first. Each row shows the date, product and variant, reason, quantity (red for reductions, green for additions), stock before → after, the value at cost price, who recorded it, and the note.
You can filter by date range (default: this month), reason, product, branch, and direction (in or out). You can export the list to CSV.
Stock loss report
The stock loss report sums up adjustments by reason over a period, so you can see how much money you lost to damaged, expired, or missing items.
- Pick the period (default: this month) and a branch if your shop has several branches.
- For each reason, the report shows the number of records, items out, items in, loss value, gain value, and net value.
- A totals row sits at the bottom, and the reasons with the biggest loss are at the top.
- You can export the report to CSV.
Branch stock transfers (Transfer out, Transfer in, Transfer canceled) aren't in this report, because the goods only changed branch. A shortfall when a transfer is received is still counted under Lost / missing.
Values use the cost price at the time the adjustment was recorded. If you change a product's cost price today, older adjustments keep their value.
If the report says some adjustments have no cost price, their value isn't counted, so your real loss is higher than shown. Fill in the cost price on products and variants that are still empty.
How to use the report:
- High Expired: buy less of items that spoil quickly, or sell them faster with a flash sale
- High Damaged: check how items are stored and how the supplier ships them
- High Lost / missing or negative Stock count: count stock more often with a stock count and check the Activity Log
Automatic adjustments from recipes
When a menu item with a recipe sells, its ingredients are recorded here with the reason Recipe usage, and put back with the reason Recipe restore when the order is canceled or refunded with restock. These reasons are system-made, cannot be picked by hand, and are not part of the stock loss report. See Recipes and Ingredients.
Adjustments from the variant matrix
Opening stock of new variants and stock changes in the Variant Matrix grid are recorded as adjustments with the reason Correction, so they show in this history.