資料中心:預先建好的資料底座

AI GO 最大的價值不在於它的介面,而在於它已經幫您建好了什麼。這一章盤點平台預建的資料模型——有哪些表、表與表之間怎麼關聯、以及哪些業務引擎已經接在上面。

這些是您的 Custom App 與 API 一開始就能用的東西。


為什麼這件事重要

自己從零開始建一套企業資料模型,最花時間的不是建表,而是把表接起來:訂單要連到客戶、連到產品、連到出貨單、連到發票、連到收款、連到會計傳票。任何一段沒接好,帳就對不起來。

AI GO 把這一整套關聯與連動預先建好了。您的應用程式要做的,是決定要用哪一段,而不是重建它。


八大模組

CRM 客戶關係

用途
customers客戶主檔(含客戶等級、業務負責人、付款條件、信用額度)
customer_levels客戶等級與基礎折扣率
customer_tags / customer_tag_rel客戶標籤與綁定關係
customer_tag_prices標籤專屬協議價
商機、銷售團隊、活動排程銷售管線管理
銷售階段、遺失原因、定期營收管線設定
行銷活動 / 來源 / 媒介UTM 歸因

銷售管理

銷售訂單、報價範本、產品列表、產品分類。訂單明細關聯到產品,產品關聯到分類,分類決定預設的收入科目與稅率。

採購管理

採購訂單、採購請求、供應商主檔、供應商價格。訂單同時追蹤「已收貨數量」與「已開帳數量」,讓進項帳單只針對差額產生。

庫存 / 倉儲

分區
作業調撥/揀貨單、庫存移動、報廢單、出貨批次
庫存管理盤點紀錄、規格轉化
庫存報告即時庫存量、批號/序號
成本到岸成本
設定倉庫、補貨規則、路線、包裝、儲存分類、運費群組

製造 MRP

生產訂單、工序工單、拆解單、BOM 物料清單、工序步驟、工作中心。

會計財務

分區
憑證銷項發票、進項帳單、傳票管理
收付款客戶收款、供應商付款、暫收付款
折讓與調整銷項折讓、進項折讓
帳務處理日記帳分錄、常用傳票範本、固定資產、存貨估價、總分類帳、銀行對帳、對帳工作區、鎖帳管理

專案管理

所有專案、專案更新、專案階段、專案標籤。

人力資源

員工、部門、職位、假別、薪資結算等,含 HR 設定與進階設定。


已經接好的業務引擎

這是預建資料底座的第二層價值:表之間不是靜態關聯,而是有邏輯在跑

引擎觸發時機自動發生什麼
銷售開票連動已確認訂單建立發票抓明細與待開票數量、帶入產品分類的收入科目與稅率,產生銷項發票草稿
採購進項連動採購訂單建立帳單只針對「已收貨未開帳」的差額產生進項帳單草稿,借方帶入費用科目
存貨即時計價庫存移動完成依「數量 × 單位成本」直接產生已過帳的存貨計價傳票
薪資結算連動確認/撤銷薪資批次產生應付薪資傳票;撤銷時自動產生沖銷分錄
收付款沖銷收付款單過帳以先進先出自動核銷未結清發票,並推導付款狀態

完整說明見第 14 章。重點是:這些連動對所有入口一視同仁——不論資料是從 Custom App、API 還是 AI 助理寫進來的,引擎都會照樣運作。


每張表都有的四個系統欄位

欄位型別說明
idUUID主鍵,自動生成
created_attimestamptz建立時間,自動設定
updated_attimestamptz更新時間,自動更新
tenant_idUUID組織識別,自動注入,構成列級隔離

寫入時不需要(也不應該)自行提供這四個欄位,系統會自動處理。


custom_data:不改結構就能存業態專屬資料

所有功能性資料表都帶有一個 custom_data JSONB 欄位,專門讓應用程式存放平台沒有預設的欄位。

{
  "name": "新客戶",
  "email": "[email protected]",
  "custom_data": {
    "passport_no": "A123456789",
    "travel_pref": ["eco", "window_seat"]
  }
}

它接受任意 JSON 結構(物件、陣列、巢狀皆可),並遵循與其他欄位相同的租戶隔離與授權規則。

注意custom_data 也是一個需要授權的欄位。若應用程式的引用清單中沒有包含它,讀取時看不到、寫入時會被忽略。

若您需要的是可查詢、可索引、有型別約束的欄位,custom_data 不是正確工具——請改用延伸欄位或自建表(第 5 章)。


存取這些表的三種方式

方式用於授權模型
主控台表格檢視查核、稽核、少量修正使用者的角色權限
Custom App SDK(ctx.db / src/db.ts應用程式執行期引用宣告 + Scope 核可
REST Proxy API第三方系統引用宣告(已發布快照)+ API Key

三者共用同一套查詢引擎與同一套護欄。差別只在認證方式與引用版本。


引用:欄位級的存取授權

不論是 Custom App 還是第三方系統,都不能直接存取 ERP 表——必須先建立引用(Reference),明確宣告:

  • 要存取哪一張表
  • 表裡的哪些欄位
  • 允許哪些操作read / create / update / delete

沒有宣告的表、沒有宣告的欄位,一律存取不到。系統核心表(身分驗證、租戶管理、權限設定、稽核紀錄)永遠不可引用

可引用的表清單可以用 API 查詢:

GET /api/v1/refs/available-tables
GET /api/v1/refs/tables/{table_name}/columns

欄位查詢的回應會標示型別、是否可為空、是否為外鍵及其指向——這是您規劃資料流時的權威來源,比任何文件清單都準確。


資料模型的擴充路徑

當預建的表不夠用時,您有三條路,由輕到重:

  1. custom_data——最輕,不改結構,適合非結構化的附加資料
  2. 延伸欄位——在既有 ERP 表上加真正的欄位,可查詢、有型別
  3. 自建表——建全新的表,租戶層級,支援關聯

三者的取捨見第 5 章。