Lin.Log|Studio
// 01 · crm-rebuild-modular$ cat crm-rebuild-modular.md

老樹的根還在 新葉長出來了

北部某傳統批發商貿企業2025.06 – 2025.12
Enterprise CRMPHP 8.xMicrosoft SQL ServerBootstrap 5原生 JavaScriptChart.jsSVG sprite iconsRESTful designMobile-first responsive
老樹的根還在 新葉長出來了
// 02 · Client Background$ cat client_background.md

Client Background

同案例 A 客戶。業務團隊原本就有舊版 CRM — 由 WebERP 字母架構下的 AA(客戶表單)、AB(業務日報)、AC(客戶資料)三支老舊 PHP 加上對應 db table 拼湊而成。

但功能陽春、介面不友善、手機體驗差、無法有效追蹤成效。業務量上升後,實際的客戶資訊只能再次散落到業務的個人筆記與 LINE 群組訊息,跨管道歸因 / 客戶溫度標記 / 即時 dashboard 全缺。

// 03 · Challenges$ cat challenges.md

Challenges

  1. [01]

    既有 AA/AB/AC 三支老舊 PHP 介面陽春,撐不住日漸複雜的業務

  2. [02]

    業務外勤要手機 UI,在客戶現場填日報

  3. [03]

    客服在公司要桌面 UI,看歷史 + 標客戶溫度

  4. [04]

    CRM 客戶要與 ERP 既有客戶(COPMA)綁定,避免重複建檔

  5. [05]

    業務日報沒結構化,只是文字海,主管難以摘要

  6. [06]

    跨管道歸因(網路 / 介紹 / 展會)沒紀錄,行銷預算分配靠經驗

  7. [07]

    主管沒即時 dashboard,只能等月底匯整 Excel

// 04 · Solution$ cat solutions.md

Solution

  1. [01]

    模組化 MVC

    api / models / views / components / utils 分層,跟既有 4000 檔 legacy 完全隔離,新功能不污染舊系統。延用 AA/AB/AC 等舊 db table 結構,降低資料遷移成本與既有報表相容性

  2. [02]

    RESTful API

    7 個端點:customers / reports / tracking / analytics / attribution / erp-sync / permissions,前後端分離,移動 / 桌面共用同套 API

  3. [03]

    桌面 + 手機雙 UI

    同套 API 不同 view layer,desktop 用 sidebar + 寬表格,mobile 用 bottom nav + 卡片式列表;觀察 viewport 自動切換或 /m/ 前綴指定

  4. [04]

    權限分級

    客戶表單 (101) / 業務日報 (102) / 客戶管理 (103) / 追蹤管理 (104) / 標籤管理 (105) / 歸因分析 (106) / 系統管理 (199),業務只看自己客戶,主管看全組

  5. [05]

    ERP 雙向綁定

    /api/erp/match/{customerId} 比對既有 COPMA、/api/erp/link/{customerId} 綁定;新建客戶可選擇從 COPMA 帶入或獨立建檔

  6. [06]

    Dashboard 視覺化

    KPI 卡片(今日名單數 / 轉換率 / 待追蹤)+ 漏斗分析(訪客 → 名單 → 商機 → 成交)+ 管道歸因圓餅 + 24 小時流量趨勢線

// 05 · Results$ cat outcomes.md

Results

  • [01]

    從「AA/AB/AC 三支老舊 PHP + 散落 Excel」升級為「模組化 MVC + RESTful + 雙端 UI」

  • [02]

    業務外勤手機完成日報 + 追蹤,不必回公司打電腦

  • [03]

    客戶熱度自動標籤(冷 / 溫 / 熱)、自動分流待追蹤 / 已聯繫 / 已成交

  • [04]

    主管 dashboard 即時看當日 KPI,不用等月底匯整

  • [05]

    CRM ↔ ERP 雙向綁定,沒有重複建檔、客戶資料一致

  • [06]

    權限分級確保業務只看自己客戶,主管看全組;敏感操作有 audit_logs

// 06 · Use Cases$ cat scenarios.md

Use Cases

  • 業務外勤

    拜訪客戶後,90 秒填完日報

    業務在客戶端拜訪結束、回車上 → 打開手機 LINE / Bookmark 進 mobile CRM → 點底部「快速日報」→ 自動帶入剛拜訪的客戶 → 拍照、語音轉文字內容 → 點下次追蹤日期 → 提交。整段 90 秒。同時系統自動建追蹤事件,業務不會忘記下週聯絡。

  • 客服

    電話進來,30 秒內看到客戶完整脈絡

    客服在公司接到電話 → 桌面 CRM 搜客戶名 / 電話 / 統編 → 點進客戶詳情 → 看歷史追蹤、業務日報、ERP 訂單紀錄(透過 erp-sync API)→ 一頁知道客戶是誰、最近發生什麼事 → 標溫度、建追蹤事件給對應業務。

  • 主管

    看 dashboard,點漏斗某段鑽研個案

    主管打開 desktop dashboard → 看到本月漏斗:訪客 1200 → 名單 320 → 商機 80 → 成交 24。點「商機 80」→ 列出 80 筆未成交商機 → 看哪幾筆停留超過 14 天無進展 → 直接派工給業務或 reassign。

// 07 · Data Model$ cat data_model.md

Data Model

crm-rebuild-modular/data_model.sql

customers (AA) // 客戶表單 — 從舊版 AA 表延用,新增 temp / status / source_channel 欄位

reports (AB) // 業務日報 — 從舊版 AB 延用,新增 location_lat/lng、attached_customer_id

tracking (AD) // 追蹤記錄 — 客戶 / 業務 / 日期 / 動作類型 / 結果 / 下次追蹤日

tags (AE) // 客戶標籤 — 標籤名 / 顏色 / 適用對象 (customer / report / tracking)

attribution (AF) // 管道歸因 — 客戶 / 來源管道 / 歸因模型(first-touch / last-touch / multi-touch)/ 分配比重

linlog@studio $ exit

Got something you want to build together?

[Contact me]
email dannylaii@linlogstudio.com
hours Mon – Fri · After 7PM
base Taiwan · Remote-first
Connection to lin.log closed. © 2026 Lin.Log|Studio