Training guide · Inventory & Purchasing

From what you sell to what you owe the supplier for it

Products and Categories are the catalogue. Suppliers is who you buy from. Purchasing is the ordering and receiving paper trail — including a real 3-way match against the supplier's actual invoice before anything posts to Accounts Payable. Inventory is the live stock view sitting on top of all of it, with its own adjustment and stock-count tools. This guide follows one product from its reorder point, through a Purchase Order, a goods receipt, and a matched supplier bill.

Modules Products, Categories, Suppliers, Purchasing, Inventory Access needed Products module (catalogue/inventory) or Purchasing module (POs) Time ~18 minutes

Inventory → Products & Categories

Products & Categories

The catalogue every other module reads from — Sales, eCommerce, Purchasing, and Inventory all point back to the same product record rather than keeping their own copy.

1

One product record, several purpose-built sections

+ Add Product opens a form organised into cards rather than one long list: core details up top, then Stock & Fulfilment (low stock alert, batch/lot or serial tracking, weighted-by-weight), Storage & Shelf Life (a storage zone and minimum shelf life used by receiving and putaway), Visibility & POS (Show on POS, Show on eCommerce), Barcodes, Packaging (inner/outer pack sizes with bulk-buy discounts), and Supplier & Reorder.

+ Add Product
AMX-500-100
Amoxicillin 500mg (Box of 100)
$38.50
$24.00

Stock & Fulfilment

20
On
Off

Supplier & Reorder

City Pharma Wholesale
50
Cancel+ Add Product
No variants or bundles here — each product record is standalone; there's no size/colour variant grouping or product-kit structure. A "bundle" in NiyuSuite is a Promotion type (N items for a fixed price), not a change to the product catalogue itself.
Reorder is automatic once both fields are set — when stock drops below Low Stock Alert and a Preferred Supplier is on file, a draft Purchase Order gets created for you — see Reorder Assistant below.
2

Categories: a flat, renameable list

A category is nothing more than a name — there's no parent/child nesting. Renaming one cascades everywhere it's referenced (every product tagged with it, supplier category tags, POS/eCommerce filters, margin reports) rather than leaving old labels stranded. Deleting a category that still has products on it offers to reassign them to "Uncategorised" instead of an unexplained failure.

Categories
CategoryProductsActions
💊 Pharmacy142Edit · Delete
🧴 Supplements58Edit · Delete
+ Add Category

Inventory → Suppliers

Suppliers

Who you buy from — contact details, payment terms, and the categories they supply — with a direct shortcut into raising a Purchase Order against them.

1

The supplier record

Fields cover the essentials — name, contact, ABN, GST number, postal and delivery addresses, and payment terms as quick-pick "Net N days" buttons (COD, 7, 14, 21, 30, 45, 60, 90). There's no performance scorecard (on-time %, quality rating) built in — this is a contact and terms record, not a vendor-rating system.

Suppliers
NameContactTermsCategoriesStatusActions
City Pharma Wholesaleorders@citypharma.com.auNet 30Pharmacy, SupplementsActiveEdit · Message · + PO · Del
+ PO — opens a new Purchase Order with this supplier pre-selected, so raising an order doesn't mean re-typing who it's for.
Deleting a supplier with history — if a supplier has linked products, Purchase Orders, or warehouse receipts on file, the system blocks a hard delete and offers to archive it instead — so past orders don't lose their supplier reference.

Inventory → Purchasing

Purchasing

Purchase Orders, from draft to a fully matched supplier bill. The lifecycle is built around one deliberate rule: receiving goods updates stock immediately, but the actual Accounts Payable liability only posts once a real supplier invoice is matched against what was ordered and received.

1

Draft → Ordered → Received

+ Create PO builds a draft; Save Draft keeps it editable. Send moves it to Ordered and stamps the send date. From there it becomes Partially Received or Received as goods come in — a partially-received order can be explicitly Closed to write off whatever's still outstanding rather than leaving it open forever.

Purchasing · All Orders
Total POs
22
Draft
3
Ordered
6
Partial
2
Received
11
All OrdersDraft📤 Ordered✅ Received
PO #SupplierTotalStatus
PO-0142City Pharma Wholesale$1,200.00Partially ReceivedReceive More · Close PO
🔄 Reorder Assistant+ Create PO
Supplier locks once receiving starts — a PO's lines stay editable until the first receipt comes in; after that the supplier field is locked and already-received quantities can't be reduced, so the order can't quietly drift from what actually arrived.
2

Receiving goods: condition decides what happens to stock

Receive opens a per-line entry: quantity received, batch number and expiry date (if batch-managed), serials (if serial-tracked), and a ConditionGood, Short, Damaged, or Rejected. Only Good stock adds to available inventory; Damaged and Rejected route to a quarantine location instead and never increase stock on hand.

📦 Receive Goods — PO-0142
ItemExpectedReceivedBatch #ExpiryCondition
Amoxicillin 500mg5048B2407105/2028Good
Amoxicillin 500mg2Damaged
✅ Confirm Receipt
Shelf life is enforced, not just recorded — if a batch's expiry date leaves less than the product's own "Min Shelf Life on Receipt" days remaining, that line is rejected at the door rather than accepted into stock and discovered later.
What actually posts — a Good receipt adds a cost layer (feeding whichever costing method — Weighted Average or FIFO — is set in Settings → ERP Controls) and posts Dr Inventory (1200) / Cr GRNI — Goods Received Not Invoiced (2050). Accounts Payable is deliberately not touched yet.
3

Supplier Bill & 3-way match: where AP actually gets created

Bill / 3-way Match is where the supplier's real invoice gets entered and checked against both the PO and what was actually received. The system flags Price Variance (billed more than ordered, beyond tolerance), Over-billed (billed more than received), or Not Received (a bill arrived before any goods did) — otherwise it's Matched or an acceptable Variance OK within the configured tolerance.

Supplier Bill / 3-way Match — PO-0142
$1,152.00
$115.20

Ordered $1,200.00 · Received $1,152.00 · Billed $1,267.20 → Matched

CancelSave Bill Match
This is what clears GRNI — saving the matched bill posts Dr GRNI (2050) / Cr Accounts Payable (2000) — this is the moment a real liability appears on the Balance Sheet, tied to the supplier's payment terms for the due date. Paying it later posts Dr Accounts Payable / Cr Bank, same as any other AP payment.

Inventory → Inventory

Inventory

A stock-focused view over the same products — not a second catalogue — with the numbers that matter for "can I sell this right now": what's on hand, what's already spoken for, and what's actually available.

1

On Hand, Allocated, and Available are three different numbers

On Hand is physical stock. Allocated is how much of that is already reserved by open Sales Orders/eCommerce orders that haven't dispatched yet (click it to see exactly which orders). Available is what's actually left to sell — On Hand minus Allocated — and it's what a Sales Order checks against, not the raw on-hand count.

Inventory
Stock SKUs
318
Inventory Value
$48,210.00
Low Stock
14
Out of Stock
3
All Products⚠️ Low Stock❌ Out of Stock⚖ Weighted
SKUProductOn HandAllocatedAvailableActions
AMX-500-100Amoxicillin 500mg Batch48642Adjust · ↔ WMS
VITC-1000Vitamin C 1000mg000Adjust · Reorder
📋 Adjust Stock⭐ Stock Count
2

Stock Adjustment vs. Stock Count — they're not the same tool

Adjust Stock is a deliberate, reasoned change — Add Stock (Receive), Remove Stock (Write-off), or Set Exact Count, each with a required reason — and it posts a proper GL entry, subject to the same period-lock and approval-threshold rules as any other accounting transaction. Stock Count is a quick, bulk "enter what you counted" sheet for a walkthrough tally.

Adjust Stock
Amoxicillin 500mg
➖ Remove Stock (Write-off)
3
Damaged in storage
Apply Adjustment
Worth knowing — Stock Count updates quantities directly and does not appear to route through the same GL-posting/approval path Stock Adjustment does. For anything that needs an audit trail or crosses an approval threshold, use Adjust Stock rather than the quick count sheet.
3

Reorder Assistant: drafts a PO before you run out

Once a product's Low Stock Alert threshold and Preferred Supplier are both set, falling below that level triggers a draft Purchase Order automatically — visible in Purchasing tagged "Auto-drafted by Reorder Assistant from reorder-point levels," ready to review and send rather than build from scratch. An out-of-stock row's Reorder button jumps straight into that same flow.