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

Services

+ New service

Things you charge for that aren't physical stock — no inventory, no recipe.

services · sold as lines on OEM quotes & SOs
Service Code Type Default price (MYR) Tax scope Used on
Showing of services — the full list filtered to items.type = service.

Project Gaia — static mockup in Filament v3 table idiom. No backend. Services are sell-only items: a price with no stock, no BOM and no FEFO — every service line books revenue at zero COGS.

Services — field manifest

FieldFilament componentTypeSourceFK target
ServiceTextColumn::searchable()->url()->sortable()string (item)stored: items.name — one row per service item; no variant fan-out (a service carries a single thin variant)variants.id
CodeTextColumn::searchable()stringstored: variants.sku (SVC-TOLL, SVC-RND) — house prefix SVC- for service items
TypeTextColumn::badge()->color('indigo') + SelectFilterenumstored: items.type = service (vs product | material) — this list is the master filtered to type = service
Default priceTextColumn::money('MYR')->placeholder('quoted')money MYR, nullablestored per variant list price; left unset ("quoted per job / project") for these two — priced live on the quote line
Default cost— (not a column here)money MYR, nullablestored: variants.default_cost — services never touch the stock ledger, so there is no moving-average to derive; default_cost stands in (usually 0 → revenue at zero COGS)
Tax scopeTextColumn::badge()enum / FKstored: items.tax_code — services fall under SST (services), separate from goods SSTtax_codes.id
Used onTextColumn (informational)derivedderived: where the service is referenced — service lines on OEM quotes & sales ordersquote_lines / so_lines

Engine notes

  • A service is items.type = service — the same items/variants tables as products and materials, this screen just filters to type = service.
  • No stock, no BOM, no FEFO. Service items never create stock_movements, never carry a recipe, and never expire — nothing to net, batch or count.
  • With no movements there is no moving-average cost to roll up, so variants.default_cost stands in for the missing derived cost (typically 0).
  • On the item detail the card collapses to a thin variant — name, code, price / default cost, notes — with no Recipe / Operations / Variants / Stock tabs (see the item-detail engine note).
  • Service lines on quotes / SOs book revenue with zero COGS — price flows to the top line, cost is default_cost (0), so the whole line is margin.
  • Two seeded services (founder-confirmed): Manufacturing / tolling fee (SVC-TOLL) and R&D / formulation development (SVC-RND) — both priced live on the quote, not from a fixed list price.
  • Tax: services sit under SST (services) — a distinct tax scope from the goods SST applied to product lines.