支票管理系統

Day 3: CRUD 邏輯與狀態機實作解析

營運單位自動化實戰

Agenda 簡報大綱

01. 業務痛點與解決方案

為何我們需要自建輔助工具?

02. 生命週期與狀態機

領票、結帳、作廢的狀態遷移

03. 系統轉換與上線策略

無縫接軌的平行測試作業

04. 戰略洞察與合規保護

面對稽核的標準應對智慧

01. 業務痛點:為何自己動手做?

在業務中,我們面臨的真實困境:

  • 系統孤島:現有各關鍵系統缺乏連接,資料需人工作業橋接。
  • 資源限制:核心系統廠商無法配合客製化修改,或曠日廢時。
  • 人工風險:實體空白支票的庫存管理,純人工紙本記錄極易出錯。
  • 熱情消耗:重複且單調的帳務核對工作,浪費高階人力的業務價值。

解決方案:Excel VBA 輕量自動化

核心理念:自己做才能快速應變,培養因應業務變化的能力。

敏捷開發

站在使用者角度,因為自己就是使用者。

隨插即用

免安裝特殊軟體,利用辦公室現有環境。

高度客製

針對單位特有流程進行精準的防呆控制。

02. 核心架構:支票生命週期狀態機

將實體支票的管理抽象化為系統中的狀態遷移 (State Transition)

入庫 (空白)
出庫 (領票)
結帳 (開立)
作廢 (失效)

系統功能與 CRUD 邏輯映射

CRUD 操作 系統對應功能 業務意義
Create (新增) 空白支票入庫 / 新契約建檔 建立初始資產紀錄
Read (查詢) 庫存查詢 / 報表產製 每日盤點與日終核對
Update (更新) 領票 / 結帳 / 作廢 驅動支票狀態機流轉
Delete (刪除) 頁編碼更換 舊編碼退場與新號替換

狀態遷移實作:領票與結帳 (Update)

A-1. 領票作業

  • 觸發條件:收到保管人指示函。
  • 防呆檢核:檢查指示函是否齊備,若不足則「請保管人補正」。
  • 狀態變更:庫存扣減,關聯實體支票。

A-2. 結帳作業

  • 觸發條件:領票後,確認票據開立無誤。
  • 狀態變更:記錄流向,準備日終關帳。
  • 例外處理:若開立錯誤,則切換至「作廢」流程。

狀態遷移實作:入庫與作廢

A-5. 入庫作業 (Create)

收到新空白支票本時觸發。

  • 檢查是否為「新契約」。
  • 若是,先執行 A-4.契約基本資料維護
  • 寫入庫存總檔,狀態設為「未使用」。

A-1. 作廢作業 (Update)

收到要作廢的支票存根時觸發。

  • 確認存根內容與申請人補正狀態。
  • 系統內標記該票號狀態為「作廢」。
  • 確保留存作廢軌跡以供盤點。

A-6. 頁編碼更換 (Delete/Replace)

當舊有的空白支票簿使用完畢(全部出庫)時的管理機制。

邏輯實作:並非直接刪除資料庫 (Hard Delete),而是透過「換號」改變資料映射 (Soft Delete & Re-map)。
  • 刪號作業檢核:必須確認舊的頁編碼狀態為「全部出庫」才允許停用。
  • 換號作業綁定:將新的編碼狀態標記為「未使用/全部出庫」,重新對應業務實體。

03. 上線與轉換:嚴謹的移轉策略

新舊系統交接,關鍵在於「不中斷業務」的平行測試。

[Cutover Timeline] 2019/5/6 上線日

09:00 - 09:30 新系統參數設定與環境整備。
14:00 舊系統強制關帳完畢 (凍結資料)。
14:30 歷史期初資料匯入新系統完畢。
17:00 - 18:00 日終系統資料比對與驗證。
次日 09:00 正式單軌啟用新系統!

04. 戰略洞察:合規邊界的專業智慧

當內部稽核或法遵人員詢問:
「此支票管理系統是否有納入『資訊系統』控管?」

架構師指導之標準回應:
「此為 EXCEL 工具記帳,無納入正式系統;正式系統應集中回IT部門並有身份及資安控管,本工具無法也不能提供相關機制。」

保護技術資產的「灰色地帶」

這不是逃避責任,而是為了確保業務單位的營運敏捷性

  • 若承認是「正式系統」:
    將立刻面臨嚴格的 SDLC、資安檢測、權限覆核機制,這對於一個由業務人員自製的 VBA 工具是毀滅性的負擔。

  • 定調為「輔助工具」:
    保留了快速修改、修復 Bug 的彈性 (Low-code 精神),同時滿足降低人工錯誤的核心業務目標。

後續維護與現實挑戰

「開發一時爽,維護火葬場。」推廣工具後面臨的真實情況:

  • 最初的目的只是自用及做 side project,減少自己加班。
  • 公開給同仁使用後,若無編制專屬人力(沒有養人),後續維護成難題。
  • 人員輪調離開該單位後,不能隨意出手修改(權限與職責問題)。
  • 過於強大的工具,有時會面臨與IT部門或委外廠商的利益衝突。

開發者的職場哲學:F.A.M.E.

在枯燥的後勤作業中,如何保持熱情並自我提升?

Free Agent (自由工作者):
相信專業才是唯一保障,不依賴單一組織庇護。

Athlete (運動員意志):
自我要求與訓練,永遠領先別人一步發現問題。

Marketer (行銷高手):
敢秀愛現,把寫好的工具包裝推廣,創造能見度。

Entrepreneur (創業家精神):
不要等完美才上線,只要去做就對了 (敏捷迭代)。

總結:工具帶來的真正效益

效率與精準

人工帳務處理優化,顯著減少帳務處理錯誤率,降低盤點風險。

業務掌握度

自己撰寫邏輯,能最深刻理解底層業務規則與特例。

自我賦能

練習讓自己比昨天更進步,明天更有發展,累積帶得走的技術資產。

Q & A

感謝聆聽