軟體外包

先分清楚檔案協作與工作流問題

直接回答:不一定。

如果現在的痛點只是大家各存一份 Excel、檔名出現「最終版 7」或不知道誰改過哪個儲存格,先把同一份活頁簿放到支援共同編輯的雲端環境,配合權限、變更檢視與版本歷史,可能就能改善大部分問題。

但如果真正的困擾是「誰可以改價格」「訂單已出貨還能不能回頭修改」「兩個人同時扣同一批庫存怎麼辦」「誰核准退款」「跨表資料怎麼維持一致」,那就不是把 Excel 檔案換成資料庫便會自動解決。你需要的是一套把資料、流程、權限與操作介面放在一起的系統。

先判斷:你遇到的是檔案問題,還是工作流問題?

Microsoft 官方文件說明,支援版本的 Excel 可以共同編輯同一份活頁簿,也能查看變更與版本歷史。這表示「多人要看到同一份資料」不一定需要先做客製系統。

先試著回答以下兩組問題。

比較像檔案協作問題

  • 大家只是各自下載、寄信、複製出不同版本;
  • 修改內容單純,沒有複雜核准或狀態限制;
  • 所有人能看的資料範圍大致相同;
  • 發生錯誤時,回到前一版就能處理;
  • 資料量與查詢方式仍在團隊可管理範圍內。

這種情況可先整理單一檔案入口、共同編輯版本、編輯權限、欄位說明與備份方式。不要因為「多人使用」四個字,就直接把整套流程重做。

比較像工作流問題

  • 同一筆資料會經過建立、審核、執行、完成、取消等狀態;
  • 不同角色只能看或修改不同欄位、部門或客戶資料;
  • 同時操作會影響庫存、名額、付款、額度或排程;
  • 一筆修改必須連動其他資料,失敗時不能只完成一半;
  • 需要知道誰在何時基於什麼原因做了哪個動作;
  • 報表、通知或外部系統要依同一份資料自動運作。

這些需求的重點已經不是「哪一格被改」,而是「哪些動作在什麼條件下才成立」。

資料庫能處理什麼?又不能替你決定什麼?

資料庫的價值很具體。以 PostgreSQL 官方文件描述的機制為例:transaction 可以把多個操作包成一個完整單位,constraint 可以限制資料必須符合的條件,concurrency control 則協助處理多個工作階段同時存取資料時的一致性。

例如一筆訂單完成時,要同時新增付款紀錄、扣除庫存並更新訂單狀態。若其中一步失敗,transaction 可以讓整組操作不要只成功一半。唯一編號、必填欄位與關聯規則,也可以由 constraint 協助守住。

但資料庫不會自己知道:

  • 業務能不能改已核准價格;
  • 客服能不能查看全部客戶資料;
  • 取消訂單後庫存何時回補;
  • 哪些修改需要主管覆核;
  • 同時搶最後一個名額時,哪個操作應成功;
  • 錯誤資料由誰修正、如何留下原因。

這些都是業務規則。規則沒有先說清楚,資料庫只會把混亂存得更集中。

從 Excel 升級時,要一起設計四層

一、資料:什麼才是一筆正確資料?

先定義識別方式、必填欄位、欄位格式與關聯。例如客戶不能只靠姓名辨識;訂單、明細、付款與出貨也不應全擠在同一列裡。重複客戶、空白編號、日期格式混用與自由填寫狀態,應在搬移前盤點。

二、流程:資料可以怎麼走?

把一筆工作從建立到結束的狀態畫出來。誰可以把「草稿」送審?核准後還能改哪些欄位?取消時要不要回補庫存?失敗或資料不完整時停在哪裡?

沒有流程狀態,使用者仍會繞到 LINE 問「這筆現在能不能改」。

三、權限:誰可以看、改、核准與匯出?

權限不只是登入。至少要區分資料範圍與動作範圍:誰能看全部資料、誰只能看自己負責的區域、誰能改價格、誰能核准、誰能匯出,以及離職或調職後如何撤銷。

四、介面與操作:使用者怎麼安全地完成工作?

多數人不會直接操作資料庫。仍需要表單、搜尋、清單、狀態提示、錯誤訊息、批次操作與必要的確認流程。若介面比原本 Excel 更難用,團隊很可能另外再建一份 Excel,資料又會分裂。

明示虛構教學例:兩個人同時修改最後一筆庫存

以下是虛構教學情境,不是客戶案例。

某團隊用 Excel 管商品訂單。客服 A 與客服 B 幾乎同時看到庫存剩 1,各自在自己的畫面把不同訂單標成「已保留」。共同編輯雖能快速同步,但無法替團隊決定哪一張訂單應成功,也不能自動補上「保留期限」「付款逾時釋放」與「主管例外核准」規則。

若改成系統,需求不能只寫「資料放進資料庫」。至少要寫清楚:建立保留時檢查可用量、同時競爭時只允許一筆成功、失敗者收到明確訊息、逾時如何釋放,以及每次人工調整由誰核准並留下紀錄。

真正被解決的是一套可驗收的規則,不是 Excel 這個檔案格式本身。

五個訊號:值得進一步評估系統化

  1. 同一筆資料有明確生命週期。 已核准、已出貨或已結案後,修改規則不同。
  2. 不同角色的資料與動作邊界不同。 不再只是整份檔案能不能編輯。
  3. 同時操作會造成真實損失。 例如超賣、重複付款、重複排程或額度超用。
  4. 資料要連動多個流程或系統。 表單、通知、庫存、付款與報表需要共用一致狀態。
  5. 查錯與追責已成日常成本。 團隊常花時間問誰改了什麼、哪一份才算數、如何回復。

出現一項不代表一定要客製開發;但若多項同時出現,而且已持續影響營運,就值得把需求整理成可評估的系統範圍。

反例:小團隊、低風險流程,不必急著換

如果只有少數人使用、資料量不大、角色權限相同、沒有庫存或付款等同時操作風險,而且版本歷史足以復原錯誤,先把 Excel 放到合適的共同編輯環境,整理欄位、負責人與操作規則,通常更務實。

也可以先用現成的表單、清單或自動化工具補上資料輸入與通知,不必直接做完整客製系統。系統化應該解決已確認的成本與風險,不是為了把 Excel 換成看起來比較新的技術。

可直接照做的兩週盤點

先不要搬資料。連續兩週記錄下列事項:

  1. 哪些人讀取、修改、核准或匯出哪些資料;
  2. 每一筆工作會經過哪些狀態;
  3. 發生過哪些重複輸入、覆蓋、漏改或版本衝突;
  4. 哪些欄位需要限制格式、唯一性或必填;
  5. 哪些動作需要通知、留下紀錄或與其他系統連動;
  6. 一旦出錯,影響只是多花幾分鐘,還是會造成金額、庫存、客戶或法遵風險。

盤點後再決定:改善 Excel、導入現成工具,或規劃資料庫加後台系統。這三個答案都可能正確。

如果你的團隊正卡在多人改表、資料衝突與權限不清,可以帶著目前的 Excel 欄位、兩週問題紀錄與一條完整流程,和奧微討論哪些問題靠整理即可改善,哪些才需要進一步規劃資料庫與後台。實際範圍、時程與費用仍須依資料、流程、權限與整合需求另行評估。

資料來源與核對日期

作者:奧微軟體內容團隊。本文為一般軟體流程與系統評估方法;奧微軟體開發企業社與軟體開發服務有商業關係。本文不構成特定專案的技術選型、資安、法規遵循、工期、費用或成果承諾。

回文章列表