G Gaia

Switch factory

All sites — consolidated 4 factories 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). Owner is granted all; "All sites" is the consolidated owner view.

Leo Lim

leo@navi.my · Owner / Admin

Profile settings Change password

Theme

Sign out
RetailSellR&DMakeBuyStockPlanItemsGMPAdminInsights

Good morning, Leo

Owner · All factories · Tuesday 7 July 2026

527,909 MYR

Open SO value

15 open orders · 527,908.70 exact

823,000 MYR

CRM pipeline

9 deals · TSL follow-up 09 Jul

3,847 MYR

Retail — July

7 sales · consolidation open

506,649 MYR

Stock value on hand

moving-average · all sites

1

Approval waiting on YOU

below-floor price · staff locked

Needs YOU 1 live approval — approvals only the owner can clear; everything stays locked for staff until you act
Type What Ask vs limit Requested by Waiting Action
Price below floor Kedai Pak Din — Kopi Cik Abang / 2023-01 2.80 vs floor 3.00 · cost 2.40 Kevin Wong (Sales) since 06 Jul · line locked Approved ✓ — line unlocked for Kevin Rejected — sent back
Stock adj > RM 5,000 illustrative SA-540 (draft) — Angelica Sinensis Extract / CK-4548, stocktake variance −6,214.50 MYR write-down · limit 5,000 Sarah Tan (FM CYTO-11) since 05 Jul · SA not applied Approved ✓ — SA-540 applied Rejected — stays draft

The red tile counts live approvals (1 — the price request). The SA row illustrates the > RM 5,000 adjustment threshold rule. Approve/Reject are Filament Actions guarded owner-only; staff see the row as "locked — waiting owner".

Is anything on fire? — one row per site · every non-zero cell links to the screen where it gets fixed
Site MOs late Machines down Maint. overdue Rooms out of range Quarantine items
CYTO-11 — Balakong Jaya CTSB · main 1 1 3 1 0
CYTO-29 CTSB quiet 0 0 0 0 0
CYTOWELL-54 — Taming Jaya PIC/S CTWSB 0 0 1 0 2
CYTOCNGZ-602 — Guangzhou CTCNGZ quiet 0 0 0 0 0

Green row = don't call them. Counts are per-tenant aggregates over the same records the module screens show — MOs past deadline, assets out of service, programs past next-due, today's temp/RH vs room limits, return lots in quarantine.

Demand-chain risk — promises to customers vs when supply actually lands
Order Deadline Supply lands Your move
NVMSB-0309

Double Root 16,800 + JuicyPop 5,917

2026-05-08 2026-05-09

PO-556 arabica · PO-558 hologram pkg

Expedite the POs or renegotiate the deadline — supply lands 1 day late
SHP-26038

TSL Health · Penang · DHL eCom

in transit 2026-07-09 at risk Chase the carrier today, before TSL calls you

Also open: PO-552 Angelica 2,000,000 mg expected 2026-04-25 — overdue supply, already on Priya's purchasing queue.

This week's money movement — display only · QuickBooks stays the ledger
Shipped value this week 41,280 MYR SHP-26041 ETA 08 Jul + SHP-26038 at risk · value illustrative
Retail cash collected 307.20 MYR RS-26-041 cash 192.00 + RS-26-040 transfer 115.20
POs due for payment 12,830 MYR PO-459 ITS · QBO bills ×3, balance due 15 Jul · from QBO refs, illustrative
July consolidation open 1,337.40 MYR 7 retail sales → one consolidated e-invoice at month end

Plus receivable to watch: Herbs & Health PJ B2B invoice due 17 Jul. Bill amounts read from QBO refs — Gaia never posts accounting entries.

Project Gaia — static mockup in Filament v3 idiom. No backend. Role dashboard; data continuous with the other screens.

Owner dashboard — field manifest

WidgetFilament classQuery (in words)Why the owner sees it
Stat tiles ×5StatsOverviewWidgetSums across ALL tenants the user is granted (owner = all 4): open sales_orders total; CRM deals in open stages; retail_sales month-to-date; stock valuation at moving-average cost; count of approval_requests pending with approver_role=ownerOwner sees consolidated money everywhere. Every other role's dashboard is tenant-scoped and hides pipeline, margins and valuation.
Needs YOUTableWidget + Actionsapproval_requests where status=pending and approver_role=owner; kinds: price_below_floor (from Sell/Retail line lock), stock_adjustment_over_threshold (SA draft value > RM 5,000)Approve/Reject are Filament Actions guarded by an owner-only policy — they never render for other roles; approving writes the price exception / applies the SA. Staff must NOT see the buttons, only "locked — waiting owner".
Fire matrixTableWidget (one row per factory)Per-tenant aggregate counts: MOs with deadline < today and not done; assets status=Out of Service; maintenance programs next_due < today; today's temp/RH records outside room limits; return lots in Quarantine. Each count deep-links to the module screenThe "which site do I call" view — only the owner spans tenants. FMs get the same counts but for their own site only.
Demand-chain riskTableWidgetOpen SOs where the latest expected date of covering POs > the SO delivery deadline (join via MO shortages), union shipments flagged at-risk on ETACross-module join (Sell × Buy × Ship) that no single role owns end-to-end; the owner is the one who can expedite or renegotiate.
Money movementTableWidget (4 fixed rows)Shipments shipped this week joined to SO line value; retail payments this week; open QBO bill refs due ≤ 14 d (display-only strings stored on the PO); retail consolidation open balance for the monthCash direction at a glance. Read-side only — QuickBooks stays the ledger, Gaia never posts accounting entries. Accountant role gets the detailed version.

Engine notes

  • A dashboard is a to-do list, not a report: the only actions on this page are the two owner approvals; every other cell is a link into the module where the work happens.
  • Nothing here is a new table — all five widgets are derived queries over existing module records (MOs, assets, maintenance programs, temp/RH logs, returns, SOs, POs, shipments, retail sales, approval requests).
  • The factory switcher gains an "All sites — consolidated" entry for users granted every tenant; picking a single site re-scopes the same widgets to that tenant.
  • Illustrative rows are labelled: SA-540 (the > RM 5,000 adjustment threshold), shipped-value and QBO bill amounts. All other figures match the module screens exactly (527,908.70 / 823,000 / 3,846.50 / 506,649.33 / 1,337.40).
  • Approve/Reject open Filament Action modals: price approval writes a one-time price exception (Approve once — floor unchanged); SA approval applies the adjustment and posts the movement; rejects require a reason and notify the requester.