In stock and arrivals
The In Stock screen tracks stock arrivals from suppliers. It is split into three tabs at the top so you can switch between purchase orders awaiting delivery, arrivals awaiting approval, and the full arrival history.
Open the screen
- Open Inventory in the sidebar.
- Click In Stock. The page heading reads In Stock.
The three top tabs
- Pending Arrivals — purchase orders that have been sent but not yet received. Each row shows the PO number, supplier, contact person, the products with remaining quantity, and when the PO was sent. When a PO lists the same product code on more than one line (for example two different makes), each line is shown separately and its remaining quantity is tracked on its own. View opens the PO detail; from there you can record the arrival if you have the Upload Stock Arrival From PO permission.
- Pending Approvals — arrivals that have been logged but are still waiting on a second user to approve them.
- Arrival History — every recorded arrival, with sub-tabs for All, Approved, and (when present) Rejected. The Pending sub-count is shown when there are pending entries. Each row carries the Invoice No. and Invoice Date from the arrival, the Upload Date (when the arrival was logged in the system), and its status. All dates are shown as dd/mm/yy.
Which tabs you see depends on your permissions:
- Pending Arrivals requires View Pending Arrival POs or Upload Stock Arrival From PO
- Pending Approvals requires Approve Stock Arrival
- Arrival History is visible to anyone with Open Inventory Pages
Filter the list
The Arrival History and Pending Approvals tabs share a row of filters above the list:
- Supplier
- Contact Person (enabled once a supplier is picked)
- Product Category
- Product Code (enabled once a category is picked)
The Pending Arrivals tab uses the same four filters, applied to the pending POs.
Advanced filters (Arrival History and Pending Approvals)
Open the top-right ⋮ menu and choose Advanced Filters (the count beside it shows how many are active; Clear Advanced Filters appears there too). The modal adds filters the inline row can't express:
- PO Number contains — keep only arrivals whose linked purchase order number contains the text you type (case-insensitive).
- Invoice Number contains — keep only arrivals whose supplier invoice number contains the text you type (case-insensitive).
- Date Ranges — three independent ranges: PO Date (the linked PO's date), Arrival (Invoice) Date, and Upload Date (when the entry was logged). Each is a from–to picker.
- Sort By + Direction — order the list by Upload Date, Arrival (Invoice) Date, or PO Date, ascending or descending. The default is newest upload first.
A PO Date range (or sorting by PO Date) only matches arrivals linked to a purchase order — direct (non-PO) entries are excluded while it is set.
Open a row
Click View on any row to open its detail modal. From there you can confirm what was received and where it has been placed.
The detail modal lists each product with its Price/Unit, Disc %, Tax % and storage location, and the Invoice Info card on the right rolls them up into Subtotal (excl. tax), Discount and Total (incl. tax). For an arrival raised against a purchase order, the tax slab is the one quoted on the PO at the time of upload, and the discount is read live from the linked PO — change the PO's discount and the next time you open the arrival the figures move with it. For direct arrivals (added with Add Entry and no PO), the discount is always zero and the tax slab is whichever rate you picked on the entry form.
When the arrival was raised against a purchase order, a Purchase Order card appears beneath Uploaded By showing that PO's number and date, so you can see at a glance which order the stock came in against. Direct (non-PO) arrivals do not show this card.
Show, hide or reorder columns
The menu icon at the top right of the page opens Toggle Columns. Tick or untick a column name to show or hide it, and drag the grip handle next to a name to change its order in the table. The choice is saved per device and applies independently to whichever tab you are on — Pending Arrivals and the other two tabs each remember their own column setup.
Add a fresh arrival
Use the Add Entry button at the top right. For details, see Add a stock arrival.
Reverse an entry (return to supplier)
Sometimes goods that already arrived have to go back to the supplier — wrong item, damaged stock, or an over-supply. A reverse entry records that return. It is the inbound mirror of a sales return: where a normal arrival adds stock, a reverse entry removes it and sends it back to the supplier.
To create one, open the Purchase Order and choose Reverse Entry from the top-right menu (the same menu that holds Additional Charges, Universal Notes and the Stock Arrival Ledger). It opens the same form as recording an arrival — pick the product line, the quantity to send back, and the Godown → Room → Rack the stock is leaving from. You enter a normal positive quantity (e.g. 10); the system records it internally as a negative movement, so every stock figure nets out automatically. You can't return more than the net quantity received on that line. Like a normal arrival, the reverse starts as pending and a second user with the Approve Reverse Arrival permission must approve it before stock actually moves.
What the reverse affects once approved:
- On-hand stock falls by the returned quantity at the location it left from. You can never return more than is physically on hand there.
- The purchase order status is recomputed on the net received — that is, everything that arrived minus everything reversed. If you reverse the last of what arrived so the net falls to zero, the PO drops back to Sent, exactly as if nothing had arrived. A PO in Sent status can then be deleted again.
Reverse entries show a Return badge in the Arrival History list and a Return to Supplier badge inside the detail modal (where they appear under the heading Reverse Arrival), and they appear as a downward movement in the Stock Ledger. They are deliberately left out of purchase-rate reports and supplier receipts, because a return is not a purchase. Pending reverse entries are approved from the same Pending Approvals tab as normal arrivals.
Two permissions gate the feature:
- Create Reverse Arrival (Return to Supplier) — to raise a reverse entry from a PO.
- Approve Reverse Arrival — to approve one and commit the stock movement.
Recording and editing arrivals from the Purchase Order
The Purchase Order's top-right menu has an Arrival group with everything for that PO in one place:
- Upload Arrival — record stock that arrived against this PO without leaving the page (same form as the In-Stock Add Entry flow, pre-scoped to the PO's pending lines). Needs Upload Stock Arrival From PO.
- Stock Arrival Ledger — every arrival recorded against the PO.
- Reverse Entry — return received goods to the supplier (see above).
When you pick a product line, the Godown / Room / Rack pickers show a live stock hint — each location displays how much of that product it currently holds, with a hover breakdown down to the rack. This makes it obvious where stock already sits (and, for a reverse, where to pull it from). Editing a pending/rejected arrival that belongs to a PO now opens this same modal pre-filled, rather than a separate page.
Deleting a manual (non-PO) arrival
A reverse entry only exists for PO-linked arrivals. An arrival added directly (no purchase order) can't be reversed, so to undo an approved one you delete it. Firm admins can always do this; other users need the Delete Manual Arrival Entry permission, which is limited to non-PO entries — PO-linked approved arrivals must still be undone with a reverse entry (or by an admin).
Deleted arrival logs
Nothing is ever truly lost. The moment any arrival is deleted — pending, rejected or approved — a full snapshot of it is copied to a permanent audit log before it is removed. The snapshot records exactly what the arrival was (supplier, products, quantities, prices, locations) plus who deleted it and when. Because it is a separate, frozen copy, deleted entries vanish cleanly from your stock figures and ledger while the record survives for accountability.
To review them, open the ⋮ menu on the Arrival History tab and choose Deleted Arrival Logs. The read-only window has four search boxes across the top — Supplier, Contact Person, Product Head and Product Code — and lists every deleted arrival with its deletion time, who deleted it, and why (a manual delete, or a cascade from an order). View opens the full deleted arrival exactly as it looked, marked with a banner showing who removed it. There are no actions here — it is purely a record.
Common questions
Why does an arrival need approval?
Where your firm uses the approval permission, arrivals logged by one user are confirmed by another before stock is added to the snapshot. The Pending Approvals tab is where the approver works.
What if a supplier delivered less than the PO promised?
Record the arrival with the actual quantity received. The remaining quantity stays open against the PO and continues to appear in Pending Arrivals until it is fulfilled or the PO is closed. See Purchase order follow-up.