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

Factories & locations

4 entities · each is a Filament tenant with its own stock ledger, document series and QuickBooks file
Code Legal entity Type Compliance Locations / bins Currency QBO file Users Status
NVMSB NatusVincere Marketing Sdn Bhd (NaVi) Sales & purchasing VO5-05-08 Sunway Velocity, KL (office) — real Katana location MYR NVMSB (separate file) 4 Active
CTSB Cyto Tech Sdn Bhd (CT1) Factory ISO 22000HACCPHalal CYTO-11 — 11, Jln Perindustrian Balakong Jaya 2/3 · CYTO-29 — 29, Jln Balakong Jaya 8, Seri Kembangan · RM Rooms 1-2, Packaging, FG Store · CYTO-33 — FG Overflow Warehouse (new) MYR CTSB (separate file) 5 Active
CTWSB Cyto Tech Wellness Sdn Bhd (CTW) Factory PIC/S GMP (NPRA)Halal CYTOWELL-54 — 54, Jln Taming 8, Balakong 43300 · 6 bins MYR CTWSB (separate file) 4 Active
CTCNGZ Cyto Tech China (Guangzhou) Factory local licences CYTOCNGZ-602 — Guangzhou · 3 bins (not in Katana — new in Gaia) CNY CTCNGZ (separate file) 2 Active

Project Gaia — static mockup in Filament v3 idiom. No backend. Locations under CTSB are the real ones from the Katana snapshot; bins/user counts illustrative. Other NaVi entities (NaVi Consultancy, NaVi Tech, Pet Dayz, Skin Lovers) can be added as tenants later if they touch operations.

Factories & locations

New location

Not saved

A location always belongs to exactly one entity — the stock-ledger boundary.

House convention: SITE-streetnumber (CYTO-11, CYTO-29, CYTOWELL-54, CYTOCNGZ-602).

QUARANTINE bin auto-added — returned and on-hold stock lands there first, never sellable stock (GMP quarantine-first).

Factories — field manifest

FieldFilament componentTypeSourceFK target
Code / Legal entityTextColumnstringstored: factories.code / .legal_name
TypeTextColumn badgeenum factory/salesstored: factories.type
ComplianceTextColumn badges (RepeatableEntry on detail)liststored: factory_certifications (type, cert no, expiry)factories.id
Locations / binsTextColumn::counts() → relation managerrelationstored: locations (factory_id) → storage_bins (location_id)locations / storage_bins
CurrencyTextColumnISO codestored: factories.base_currency
QBO fileTextColumnstringstored: factories.qbo_realm — QuickBooks stays the ledger; Gaia is operations only
UsersTextColumn::counts(users)intderived: user_factories pivot countuser_factories

Engine notes

  • Factory = tenant = stock ledger boundary. Moving-average cost is per factory+location, matching the Katana evidence that paired transfer adjustments don't net to zero across locations.
  • Inter-company stays manual by design (NaVi salespeople create SOs directly in factory tenants) — no automated PO→SO bridge in v1.
  • Document numbering is per entity (see Settings) — the Katana snapshot already shows per-entity SO series (NVMSB-, YGMSB-, ROYKL-, TSLSB-).
  • Zero invoices in Gaia: each entity keeps its own QuickBooks file for all accounting.
  • + Location writes locations (factory_id, code, name, address, type, is_default) → storage_bins (location_id, code). Because moving-average cost is per factory+location, a new location opens its own ledger at zero; it appears in transfer/adjustment location pickers immediately.