G Gaia

Switch factory

CYTO-11 — Balakong Jaya CTSB CYTO-29 CTSB CYTOWELL-54 — Taming Jaya PIC/S CTWSB CYTOCNGZ-602 — Guangzhou CTCNGZ

Only factories you are granted appear here (Filament tenant menu).

Leo Lim

leo@navi.my · Owner / Admin

Profile settings Change password

Theme

Sign out
RetailSellR&DMakeBuyStockPlanItemsGMPAdminInsights

Purchase orders

+ Draft order + Purchase order
Open 23 Draft 2 Done 521
Created date Order # Supplier Total order value Expected arrival Billing status Delivery
343,597.50 MYR Total order value (Sum summarizer, all 23 open orders)
Showing 1–18 of 23 (sample rows from Katana snapshot)

Project Gaia — static mockup in Filament v3 table idiom. No backend. Sample data: Katana tenant snapshot 2026-04-12, all locations.

Purchase orders (Open) — field manifest

FieldFilament componentTypeSourceFK target
(checkbox)Table selection + DeleteBulkActionselection— (bulk delete of selected POs)
Created dateTextColumn::date()->sortable() + Filter (date range)datestored: purchase_orders.created_date; list sorted ascending by it
Order #TextColumn::searchable(isIndividual)->url()stringstored: purchase_orders.order_no (editable; NOT unique — PK is internal id)
SupplierTextColumn::searchable(isIndividual)string (display name)stored: purchase_orders.supplier_idsuppliers.id
Total order valueTextColumn::numeric()->summarize(Sum)money MYRderived: Σ po_lines.qty × unit_price in order currency; 0 MYR rows existpo_lines
Expected arrivalTextColumn::date()->color(fn) red when overdue + Filter (date range)date, editablestored: purchase_orders.expected_arrival_date; red when past and not fully received
Billing statusTextColumn::badge() + SelectFilter (inline bill action in Katana)enum: Billed / Partially billed (n) / Not billedderived: netting attached supplier bills against order value; n = bill countsupplier_bills
DeliveryTextColumn::badge() + SelectFilter (inline receive action in Katana)enum: Not received / Partially receivedderived: received qty vs ordered qty across PO lines; fully received moves PO to Done tabpo_line_receipts
Location scopeSelectFilter (header "All locations" dropdown)FK filterstored: purchase_orders.location_idlocations.id
Draft tab— (dropped: Draft view not captured)lifecycle tabOpen/Draft/Done partition POs by lifecycle state

Engine notes

  • Totals row: Total: 343597.50 MYR under Total order value — sum across the 23 filtered Open rows (Katana pins it above the data; Filament renders it as a tfoot summarizer).
  • Row count "23 orders" updates with tab/filter scope.
  • Total order value is derived per PO; rows with 0 MYR exist (likely zero-priced or outsourcing-supplier POs, all for "NatusVincere Marketing Sdn Bhd (Supplier)").
  • Billing status nets attached bills against order value: none → Not billed, some → Partially billed (n), fully covered → Billed.
  • Delivery is computed from received vs ordered quantities: Not received / Partially received — fully received orders move to the Done tab.
  • Overdue logic: Expected arrival shown red when the date has passed and the order is still open/not fully received.
  • Status chips are interactive inline editors in Katana (receive/bill from the list) — Filament equivalent: row Actions or an editable badge dropdown.