Inventory and stock
Check levels, record adjustments and transfers, and review the full kardex of each product.
Inventory in Mosce ERP is the real-time picture of how much you have of each product and where it is. Every mutation - inflow, outflow, adjustment, transfer - is recorded in an immutable ledger you can audit at any time.
Reading time: ~5 min
When to use this
Use the inventory screen to:
- Check availability before promising a sale.
- Adjust differences after a physical count.
- Transfer merchandise between warehouses or sections.
- Investigate why a product's stock dropped (kardex).
- Detect products with low or negative stock.
Before you start
- You need at least one warehouse with an active section. See Warehouses.
- The product must be marked as "tracks stock" in its record (services do not carry inventory).
- Permissions required by action:
inventory:read,inventory:adjust,inventory:transfer. Editing the minimum and maximum thresholds requiresinventory:manage-thresholds.
Step by step
1. View stock levels
Go to Inventory in the side menu. The main table shows one row per product + section combination with:
- Product (name and SKU).
- Warehouse and Section.
- Quantity - current physical stock; the indicator turns red if it is below the minimum, amber otherwise.
- Reserved - quantity already committed to pending (unpaid) orders and therefore not available.
- Available -
Quantity − Reserved. If negative it appears in red: you sold more than you had. - Min. / Max. - thresholds for low-stock alerts (configurable per item).
- Last movement - when stock was last modified.
Filter by warehouse, section, product, low stock or negative stock from the top bar. Filters are reflected in the URL so you can save or share it.
2. Adjust stock (increase or decrease)
An adjustment sets stock to the value you indicate (it is not a delta). It is useful for physical counts, shrinkage, expired products, etc.
- On the product row, click the Adjust icon (knob). You can also go to Inventory → Adjustments → New.
- The form asks you for:
- Product, Warehouse, Section - Mosce ERP shows you the current stock below once all three are selected.
- Target quantity - the number that should remain after the adjustment.
- Reason (minimum 5 characters) - saved on the movement.
- Save. The adjustment is processed asynchronously in a queue: you will see the item updated within seconds.
If the target quantity is negative, Mosce ERP shows a warning to confirm your intent. The system allows negative stock (oversell) so it does not block sales, but it is worth reviewing and replenishing.
Do you need to reconcile many products at once (for example after a full physical count) and have accounting record the loss or overage? Use the batch adjustment: a single document with several lines, one reason why and a confirmation. See Batch inventory adjustments.
3. Transfer between warehouses or sections
- Go to Inventory → Transfer → New or from the Transfer icon on the product row.
- Select the product, source warehouse/section and destination warehouse/section. Source and destination cannot be the same.
- Enter the quantity (must be greater than 0) and an optional reason.
- Save. Mosce ERP generates two atomic movements: an outflow (
TRANSFER_OUT) at the source and an inflow (TRANSFER_IN) at the destination.
4. View the kardex (movements)
The kardex is the complete, append-only history of every stock change. It is never edited or deleted.
- Go to Inventory → Movements.
- Filter by warehouse, section, product, movement type or date range.
Types you will see:
| Type | Meaning |
|---|---|
Inflow | Purchase receipt. |
Outflow | Confirmed sale. |
Adjustment | Physical count or other manual adjustment. |
Transfer in/out | The two legs of a transfer. |
Reservation | Quantity blocked by a pending order. |
Release | Reservation returned to available (order cancelled or paid). |
Each row shows date, type, product, section, quantity (signed), balance after the movement, the user who caused it and the reason.
5. Low stock and negative stock
- Low stock: define a
minper item. Mosce ERP marks the cell and you can filter byLow stockfrom the main table. - Negative stock: go to Inventory → Negative stock to see all products in oversell. Each row includes the suggestion to generate a purchase order to replenish.
6. Inventory valuation
Mosce ERP computes unit cost with the weighted-average method. Each time you receive a purchase, the item's lastCost is recomputed as:
new_cost = (prev_stock * prev_cost + received_qty * purchase_cost) / total_stockSales and adjustments do not alter cost. Only purchase receipts move the average. Mosce ERP does not currently support FIFO or specific cost.
7. Edit the minimum and maximum thresholds
Each product can have a minimum and a maximum stock level. The minimum feeds the low-stock alerts (the cell is marked and you can filter by Low stock); the maximum serves as a reference so you do not over-buy.
- Open the product record or the inventory row and edit the Min. and Max. fields.
- Save. The new thresholds apply immediately to the alerts.
Editing these thresholds is protected by the inventory:manage-thresholds permission, separate from the permission to adjust stock. This way you can let a user count and adjust inventory without granting them the power to change the alert levels.
Expected result
- You know exactly how much there is of each product in each section.
- Any difference against the physical count is explained by an adjustment with a reason.
- The kardex lets you reconstruct how the current balance was reached from zero.
- Products with low or negative stock are visible before they turn into lost sales.
Common errors
No inventory record exists for this product/section combination- the product has never had stock in that section. Receive a purchase or make a transfer first, or create the item with an adjustment.The source and destination sections cannot be the same- choose a different section for the destination.- The adjustment is not reflected instantly - adjustments go through a queue; wait a few seconds and refresh. If it takes more than a minute, contact support.
Insufficient stockwhen selling - check whether the quantity is reserved by another pending order.