DIY GUIDE / 05

用 Gemini 做客戶匯款核對工具

這是用 Gemini 協助寫程式碼,做一個核對網路銀行明細的工具。工具只在瀏覽器本機執行,可取代原本逐筆人工核對的方式;無法判定的資料仍須人工複核。

更新日期:2026 年 9 月 18 日 / 作者:糖熊文創企業社

01 / 痛點情境

請款後,還得逐筆找誰匯了款

客戶回覆「已匯款」後,事務所仍要開啟網銀明細、對照請款金額、註記客戶,並把不確定的款項留待查證。這份教學把重複的初步比對整理為一個本機工具;不清楚的資料仍要由人員判斷。

02 / 成品介紹

這個小工具做什麼、不做什麼

工具讀取客戶請款資料與網銀入帳明細後,讓使用者指定欄位與資料起始列,再依帳號末五碼與備註中的客戶名稱核對。相符的多筆入帳會先加總後再比較應收金額,並產生「已核對」、「人工複核」、「未匯款」三種結果及兩份 XLSX 工作表。

資料界線:Gemini 在此只協助產生程式碼。請勿將真實客戶、帳號、網銀或其他敏感資料貼進 AI、網站或第三方服務;工具執行時也不應傳輸任何檔案。
03 / 資料準備

準備兩份資料

  • 支援格式:CSV、XLSX 或 XLSM,每個檔案上限 10 MB。
  • 客戶請款資料:自行指定客戶名稱、匯款帳號與應收金額所在欄位。
  • 網銀入帳明細:自行指定轉入帳號、入帳金額、交易日期與備註所在欄位。
  • 資料起始列:工具會掃描前 10 列提出建議,仍可手動調整。

客戶資料與網銀明細應只在產生完成的工具中開啟,不要貼進 Gemini 對話。

04 / 完整提示詞

貼給 Gemini 的完整提示詞

開啟 Gemini 網頁版,貼上以下內容。它將安全邊界與判定規則一起寫進需求,避免把「自動化」誤當成「自動收款確認」。

可複製提示詞
請幫我建立一個單一 HTML 檔案的「銀行入帳自動核對工具」純前端靜態網站。
介面與所有提示訊息必須使用「繁體中文」,整體 UI 需簡潔專業、響應式且具備高質感(包含統計摘要卡片、狀態標籤 Badge、頁籤與表格)。

【資料安全與技術限制(不可省略)】

1. 純前端架構:只可使用 HTML5、CSS3、Vanilla JavaScript 與本機隨附的 SheetJS(版本 0.18.5,來源:https://cdn.jsdelivr.net/npm/xlsx@0.18.5/dist/xlsx.full.min.js)。不得使用任何後端、會員系統、資料庫或雲端儲存。
2. 零資料上傳:所有選取的 Excel / CSV 檔案只在瀏覽器記憶體(ArrayBuffer/Matrix)中讀取與處理。不得呼叫 fetch、XMLHttpRequest、WebSocket、Beacon、Service Worker、Storage API 或任何外部 API。
3. 檔案限制:支援 .csv、.xlsx、.xlsm 格式,僅讀取第一張工作表。每個檔案上限 10 MB,超過時需在解析前停止並提示繁體中文錯誤。

【欄位對應與資料起始列設計】

1. 不限制固定的欄位名稱別名,改由上傳檔案後提供下拉選單(預設 A~J 欄,若檔案欄位更多需自動擴充)供使用者選擇:
   - 客戶請款資料:指定「客戶名稱」、「匯款帳號」、「應收金額」分別在哪一欄;並可指定要將「判定結果」新增於哪一欄(「判定原因」自動新增於其右側下一欄)。
   - 網銀入帳明細:指定「轉入帳號(對方帳號)」、「入帳金額」、「交易日期(選填)」、「備註/摘要(選填)」分別在哪一欄。
2. 自動檢測起始列(資料型態與連續性檢測法):
   - 上傳檔案後,程式需自動掃描前 10 列,找出非空欄位最多者作為標題列。
   - 從標題列下一列起,自動檢測包含數字(金額/帳號)或日期格式特徵的連續資料列,自動判定為「資料起始列」。
   - 在介面上提供下拉選單顯示檢測出的起始列(如:第 2 列(檢測推薦)),並允許使用者手動調整。

【金額清理與數據處理規則】

1. 金額比對前需清除「NT$」、「,」、「空白」,並解析為數字;無效或空白金額不可自動核對。
2. 客戶名稱比對前需清除空白與常見標點符號並轉小寫;帳號比對前僅保留數字並提取「末五碼」。

【核對與金額加總比對邏輯】

1. 以「客戶請款資料」為核心逐筆進行核對。
2. 搜尋銀行明細中所有「身分資訊相符」的入帳紀錄(優先比對帳號末五碼,其次比對備註是否包含正規化後的客戶名稱)。
3. 多筆匯款自動加總比對:將同一客戶所對應到的所有銀行入帳金額進行「加總」後再與「應收金額」做比對:
   - 若加總金額等於應收金額:標示為「已核對」。單筆相等顯示「金額完全一致」;多筆相等顯示「金額完全一致(已合併 X 筆匯款)」。
   - 若身分相符但加總金額不符:標示為「人工複核」,判定原因需詳細列出應收與實收金額,格式為:`應收 NT$ X / 已收合計 NT$ Y · 短少 NT$ Z` 或 `應收 NT$ X / 已收合計 NT$ Y · 溢收 NT$ Z`。
   - 若未找到任何相符的銀行紀錄或請款金額無效:標示為「未匯款」,判定原因註明「未找到匹配之銀行入帳記錄」或「請款金額無效或空白」。
4. 警語聲明:不得宣稱 100% 正確,「人工複核」與「未匯款」皆不可直接視為已完成收款。

【雙頁籤介面與結果顯示】

1. 上傳核對後顯示摘要卡片:總請款筆數、已核對、人工複核、未匯款。
2. 提供頁籤切換檢視功能:
   - 頁籤 1(依客戶名稱檢視):顯示「客戶名稱、匯款帳號、應收金額、判定結果(Badge 標籤)、判定原因、對應入帳加總資訊」。
   - 頁籤 2(依銀行明細檢視):以銀行原始入帳順序為主體,顯示「交易日期、存入、轉出入帳號、備註、匯款公司/狀態檢視」。若為金額不符的人工複核項目,匯款公司旁需以紅色字體加註「(應收 NT$ X / 已收合計 NT$ Y · 短少/溢收 NT$ Z)」。

【資料輸出與清除功能】

1. 下載 Excel 按鈕:點擊後導出檔名為「客戶請款資料核對結果.xlsx」的 Excel 檔案。
   - 裡面需包含 2 個工作表(Sheet):
     1. 「客戶請款核對結果」:保留原本上傳的客戶請款完整欄位與格式,並在指定欄位插入「判定結果」與「判定原因」。
     2. 「網銀明細核對結果」:匯出依銀行明細檢視的結果報告。
2. 清除資料按鈕:一鍵重設檔案輸入、介面選單、視圖與記憶體中的所有資料。

請直接提供單一 .html 檔案的完整程式碼(包含 HTML、CSS 與 JavaScript),確保使用者直接雙擊檔案即可在瀏覽器運行。
05 / 工具介面

先指定欄位,再開始核對

上傳客戶請款資料與網銀入帳明細後,依畫面選擇資料起始列及各欄位位置;工具會把「判定結果」與「判定原因」寫入你指定的位置。

銀行入帳自動核對工具的介面,左側選擇客戶請款資料欄位,右側選擇網銀入帳明細欄位,下方有開始自動核對、下載 Excel 與清除資料按鈕
工具介面操作示意。請先確認欄位與資料起始列,再執行核對。
06 / 從程式碼到工具

用 Gemini 網頁版做出可開啟的工具

  1. 貼上提示詞:在 Gemini 網頁版貼上本頁完整提示詞並送出。Gemini 會產生一份完整 HTML 程式碼,這份程式碼就是工具本身。
  2. 取得完整程式碼:若回答不是完整程式碼,直接回覆 Gemini:「請只提供完整、可直接使用的單一 HTML 程式碼,不要省略任何內容,也不要加入說明文字。」
  3. 存成工具檔:將程式碼貼到文字編輯器,儲存檔名為 銀行入帳自動核對工具.html。Mac 請用「文字編輯」並選擇純文字;Windows 請用「記事本」並將檔案類型選為「所有檔案」。
  4. 直接開啟:雙擊這個 .html 檔案,即會在瀏覽器開啟工具,不需要架設網站。
  5. 核對與覆核:上傳客戶請款資料與網銀入帳明細,確認欄位後按下「開始自動核對」;「人工複核」與「未匯款」項目仍須由人員確認。
07 / 比對結果

摘要與兩種檢視方式

完成後先看總請款筆數、已核對、人工複核與未匯款的摘要;接著可切換依客戶名稱或依銀行明細檢視,快速找到需要處理的項目。

銀行入帳自動核對工具的比對結果,顯示總請款筆數、已核對、人工複核、未匯款摘要卡片與依客戶名稱檢視表格
比對結果操作示意。人工複核與未匯款項目不可直接視為已完成收款。
08 / 重要限制

人工抽查不是附註,而是流程的一部分

每次使用前後,請確認

  • 來源檔案、期別與欄位是否正確,且僅在授權的本機環境開啟。
  • 「已核對」項目是否有帳號或名稱與金額的可追溯線索。
  • 「人工複核」與「未匯款」沒有被當作已收款處理。
  • 分次匯款、手續費、退款與跨期抵扣均另行處理,不套用此工具的單筆規則。
  • 保留結果檔與人工作業紀錄,供後續覆核與交接。