商業規則引擎與倉儲物流
除了會計連動,平台還預建了一組商業規則引擎——定價、庫存校正、運費計算。
這些規則設定一次,就會在所有入口自動生效:不論訂單是從 Custom App 建立、從 API 送進來、還是由 AI 助理產生,套用的都是同一套規則。您的應用程式不需要自己實作折扣邏輯。
1. 定價規則
平台提供三層定價機制,優先序由具體到通用。
客戶等級折扣
設定:資料中心「CRM 客戶關係 › 等級管理」
為客戶群組設定基礎折扣率(例如 VIP 客戶折扣率 0.85 代表 85 折)。開單時系統自動以該折扣率重算單價。
標籤專屬協議價
設定:資料中心「CRM 客戶關係 › 客戶標籤」
比折扣率更具體的一層——針對特定標籤設定特定商品的固定價格。
例如「長期合約夥伴」標籤下,商品 A 一律 1,000 元,不論市場原價多少。開單時若該客戶帶有此標籤,系統自動套用協議價。
標籤支援批次綁定,可一次把多個客戶掛上同一個標籤。
商品階梯定價
設定:資料中心「銷售管理 › 產品列表」,進入商品詳情的階梯定價分頁
依採購數量設定價格區間:
| 數量 | 單價 |
|---|---|
| 1 – 9 | 500 |
| 10 – 99 | 450 |
| 100 以上 | 400 |
建立訂單時,系統依輸入數量自動帶入對應級距的單價,實現大宗批發與零售的自動化判定。
2. 庫存校正
倉庫營運中最容易產生帳物不符的兩個環節,平台都提供自動校正。
實體盤點
設定:資料中心「庫存/倉儲 › 盤點紀錄」
- 建立盤點批次時,系統自動帶出指定庫位的系統庫存量
- 盤點人員輸入實際盤點量,系統自動算出差異
- 主管確認批次後,自動觸發庫存調整——差異量寫入庫存表,即時校正
不需要人工計算增減,也不需要另外開調整單。
規格轉化
設定:資料中心「庫存/倉儲 › 規格轉化」
處理包裝規格的轉換——1 箱拆成 12 包零售裝,或散裝合併為整箱。
建立轉化紀錄並經主管確認後,系統自動從來源規格扣減庫存、等比增加目標規格庫存。兩邊同時發生,不會出現中間狀態。
3. 物流與運費
出貨批次
設定:資料中心「庫存/倉儲 › 出貨批次」
把多張待出貨單整合成同一個出貨批次,讓倉庫人員一次列印揀貨單與包裝標籤,提升揀貨與派車效率。
運費群組
設定:資料中心「庫存/倉儲 › 運費群組」
支援三種計費模式,可組合使用:
| 模式 | 說明 |
|---|---|
| 固定運費 | 每筆訂單固定金額 |
| 滿額免運 | 超過設定門檻自動免運 |
| 階梯式級距 | 依訂單金額級距動態計費 |
範例:未滿 1,000 元收 150 元;1,000–3,000 元收 80 元;3,000 元以上免運。
訂單確認時,符合條件的運費會自動計入會計應收,達成財務與物流的一體化。
4. 其他預建設定
| 設定 | 位置 | 作用 |
|---|---|---|
| 補貨規則 | 庫存/倉儲 › 補貨規則 | 低於安全庫存時觸發補貨建議 |
| 付款條件 | 客戶/供應商主檔 | 自動計算到期日 |
| 序號規則 | 系統與維運管理 › 核心字典 | 單據編號的自動編碼規則 |
| 到岸成本 | 庫存/倉儲 › 到岸成本 | 把運費、關稅分攤進商品成本 |
| 鎖帳管理 | 會計財務 › 鎖帳管理 | 鎖定已結帳期間,防止追溯修改 |
5. 從應用程式的角度
這些規則的價值在於:您的應用程式不需要知道它們存在。
def execute(ctx):
# 只需要送出「誰、買什麼、買多少」
ctx.db.insert('sale_orders', {
'customer_id': ctx.params['customer_id'],
'order_line': [
{'product_id': ctx.params['product_id'],
'product_uom_qty': ctx.params['qty']}
],
})
# 客戶等級折扣、標籤協議價、階梯定價、運費 —— 全部由引擎套用
應用程式送出的是業務意圖,價格的計算交給引擎。這樣做的好處是:定價政策調整時,您改的是主控台的設定,不是散落在各個應用程式裡的程式碼。
6. 設定的權責
這些規則多數需要對應模組的寫入權限(crm.write、sale.write、stock.write 等),部分需要 system.admin。
建議由熟悉業務政策的人員維護,而非開發者——這正是把規則放在設定而不是程式碼裡的目的。