Purchasing
The restock chain from order to shelf: a Purchase Order to a supplier, a Goods Received Note when it arrives (which can create batches and serial numbers), and returns/invoices/advances against that supplier. Staff authentication required.
Purchase Orders
GET /api/v1/purchase-orders/9/ — response data
{
"id": 9,
"po_number": "PO-0009",
"supplier": 3,
"supplier_name": "Nairobi Beads Co.",
"branch": 1,
"branch_name": "Nairobi CBD",
"status": "approved",
"order_date": "2026-07-10",
"expected_delivery_date": "2026-07-20",
"notes": "",
"created_by": 7,
"created_by_name": "jane",
"approved_by": 4,
"approved_by_name": "peter",
"approved_at": "2026-07-10T14:00:00Z",
"total_ordered_cost": "45000.00",
"total_received_cost": "0.00",
"is_fully_received": false,
"lines": [
{ "id": 21, "product": 201, "product_name": "Yellow African Necklace", "ordered_quantity": 50, "unit_cost": "900.00" }
],
"created_at": "2026-07-10T09:00:00Z",
"updated_at": "2026-07-10T14:00:00Z"
}Goods received, batches & returns
/api/v1/goods-received-notes/Records what actually arrived against a PO (or an unplanned receipt)./api/v1/batches/Batch/lot tracking with expiry dates, tied to a GRN line./api/v1/serial-numbers/Per-unit serial tracking for serialized stock./api/v1/grn-attachments/Files (delivery notes, photos) attached to a GRN./api/v1/supplier-returns/Returns to supplier (RTS) against a GRN./api/v1/supplier-invoices/Supplier invoices and their payment status./api/v1/supplier-advances/Advance payments made to a supplier, applied against future invoices.