Octibiz
Demo

Durchsucht Website und Dokumentation gemeinsam. Enter zeigt alle Treffer, Esc schließt.

Stock

Stock screen in Octibiz

Overview

This page shows the inventory of all stock-managed items. Three figures sit side by side, and telling them apart avoids most misunderstandings:

FigureMeaning
On handwhat is physically there
Reservedwhat is already promised through orders
Availableon hand minus reserved — the only figure that promises anything

Planning on on hand rather than available means selling goods that belong to another order.

Alongside sit the reorder point and reorder quantity, plus average cost and stock value; items without a value appear as unvalued.

Keep B-stock separate. Even without multi-warehouse, every item condition — new, used/B-stock, refurbished, damaged — has its own stock. A return as B-stock never lands in new stock; only new goods can be sold on orders. A channel listing with a condition (e.g. used) is served from exactly that stock. Checked B-stock becomes new goods again via change condition — a movement type of its own, logged; the cost value stays unchanged.

Core tasks

Find shortfalls. The below reorder point only filter shows where reordering is due — the row marks it as well. The comparison uses the available stock, not the physical figure.

Adjust stock. Stock adjustment books a difference — positive in, negative out — with a reason/note. The reason is not a formality: a correction without a justification cannot later be told apart from a mistake.

Open stock settings. Reorder point and reorder quantity are maintained per item.

See and change B-stock. If an item also lies in a condition other than new, a tag per condition with the quantity appears below its name (e.g. Used/B-stock: 3). The columns on hand, reserved and available count new goods only. The Change condition button in the row books goods from one condition into another — prefilled with the usual case "checked B-stock becomes new"; the form shows the free stock of the source condition. Only users with the permission to change conditions see the button.

Fields in detail

The list itself is a display — writing happens through two masks per article row: stock adjustment and stock settings. Both work on ProductStockResource, addressed by the article ULID (productUlid).

Stock adjustment

FieldRequiredValues / formatWhat it does
Adjustment (±) deltayessigned whole number, not 0The quantity booked — positive values book in, negative values book out. Nothing is overwritten: the correction becomes its own line in the stock journal (origin manual). If it is missing or 0, the server rejects the booking.
Reason/Note notenotextWhy the correction was made. Formally optional, practically half the value: a correction without a reason cannot later be told apart from a mistake.

If a booking would take stock below 0 it is rejected — unless allow negative stock is set for the article.

Stock settings

FieldRequiredValues / formatWhat it does
Reorder point reorderPointnowhole number, 0 or more in the mask; empty = no monitoringFrom which available stock level reordering is due. Falling below marks the row and is the basis of the reorder suggestions. The comparison uses available, not onHand.
Reorder quantity reorderQtynowhole number, 0 or more in the maskHow much is suggested when the level is undercut.
Allow negative stock allowNegativenoyes/no (default: no)Off: a booking that would take stock below 0 is rejected. On: bookings below 0 are permitted — meant for backorders, not as a permanent state.

Change condition

FieldRequiredValues / formatWhat it does
Article productIdyesstock-managed articleWhich article is rebooked. A sales set cannot be rebooked — its stock lives on the components.
From condition fromConditionyesnew, used/B-stock, refurbished, damagedWhich stock the goods come from. Only the free stock of this condition can be rebooked; more is rejected with a message.
To condition toConditionyesas From condition, but a different oneWhich stock the goods go to — e.g. checked B-stock becomes new and can be sold on orders again.
Quantity qtyyeswhole number greater than 0How many units change condition.
Warehouse warehouseIdnowarehouse (multi-warehouse only)In which warehouse the rebooking happens. With multi-warehouse the form offers the warehouse, prefilled with the default warehouse; the quantity hint then shows the free stock of that warehouse. Via the interface, empty means the default warehouse.
Bin binIdnobin (multi-warehouse only)Where the goods lie. Outgoing and incoming stay on the same bin; the distribution across bins stays correct per condition. The form offers the bins of the chosen warehouse that hold goods in the source condition; without a bin the booking takes what is free in the warehouse. A bin without a warehouse is rejected.
Reason notenotext, max. 1000 charactersWhy the goods are rebooked, e.g. the inspection result. Appears in the log and in the stock journal.

Every rebooking is logged with who and when, and appears as two lines of the type condition change in the stock journal. The cost value does not change — writing down B-stock is a deliberate booking by accounting.

Displayed values

These figures are not entered but calculated. They change through bookings: goods receipt, delivery, stock take or transfer.

ElementFieldWhat it means
SKU / articlesku, nameWhich article it is about.
On handonHandWhat is physically there — the sum of all journal lines.
ReservedreservedWhat is lying there but already belongs to someone through orders.
AvailableavailableonHand minus reserved. The only figure that promises anything.
Avg. costavgCostAmountMoving average cost price per unit, in cents. Empty means unknown, not "zero euro".
Stock valuestockValueAmountavgCostAmount × onHand, in cents; not valued without a known cost price.
Last valuedvaluedAtWhen the average was last carried forward.
MovementsmovementsThe last 50 journal lines (single fetch through the interface only).
Item idproductIdThe internal number of the item — Change condition addresses the item through it.
B-stock per conditionconditionStockPer condition other than new: on hand, reserved and free (condition, onHand, reserved, available). Only conditions with stock or reservations; shown as tags below the item name.

Above the list sit two totals that deliberately do not follow the list filters: the total stock value and the number of articles without a cost price. As long as the second figure is above 0, the stock value shown is a lower bound — the page says so explicitly.

Negative stock. If an article is below zero (only possible when negative stock is allowed), it counts as 0 in the total stock value — not as a deduction. The page names such lines and their quantity in a separate notice; through the interface they are in negativeStockLines and negativeStockOnHand.

B-stock in the stock value. B-stock is valued at the average cost of new goods of the same item and is included in the total stock value; a tile Of which B-stock shows its share and the quantity. There is no automatic write-down — that is a deliberate booking by accounting. If the average cost of new goods is missing, the B-stock stays unvalued and the page reports the quantity as a gap. Through the interface, the stock value report (/v1/product-stock-value) returns one line per item and condition (condition) and the totals conditionOnHand, conditionValueAmount and conditionUnvaluedOnHand.

Settings & permissions

  • Module module.products.
  • products.stock.view to see, products.stock.manage for adjustments.
  • products.stock.change_condition to change the item condition — a permission of its own,

because it makes B-stock sellable (role Umsetzung).

  • Only stock-managed items appear. The marker is set on the item, see

Products.

  • For regular counting, a stock take is the right route — not a

series of individual adjustments.

FAQ & troubleshooting

An item is missing from the list. It is not marked stock-managed.

Available is lower than on hand although nothing was sold. Then goods are reserved — through open orders. That is normal, not a fault.

**The stock value reads unvalued.** Then no cost value exists. It arises from receipts carrying a price.

We corrected many differences by hand. Use a stock take. It freezes the target figure, records the count and is therefore evidenced — individual adjustments are not.

products.stock · Available from version 0.5.0