結合「ACH 轉整批匯款檔工具」解析金融標準格式
金融系統自動化作業系列課程
檔案多了一個半形空白、長度差了 1 個 Byte、或是編碼不是純 Big5...
標準的整批匯款 TXT 文字檔,由三種層級的紀錄 (Record) 構成,每一列都有極為嚴格的「固定長度 (Fixed-length)」限制。
| 區別碼 (Code) | 名稱 | 作用說明 |
|---|---|---|
| 1 | 首筆 (Header) | 定義整批檔案的屬性,如:匯款日、批號、匯款行 |
| 2 | 明細 (Detail) | 實際的交易內容,如:收款帳號、戶名、金額 |
| 3 | 尾筆 (Trailer) | 檢核點 (Checksum),包含總筆數與總金額 |
首筆決定了整批交易的命脈,格式稍有不慎,後方成千上萬筆明細都會作廢。
'00000'。yymmdd (民國年後兩碼)。批號 (10數字) 是系統辨識整批匯款唯一性的金鑰,格式:yymmdd + xx + nn
國曆年月日
客戶代號 (01~99)
子批號 (01~09)
限制:批號中的日期必須與「匯款日」欄位完全一致!
為何需要將後 4 碼拆分為「客戶代號」與「子批號」?
當同一匯款日 (yymmdd) 有多批匯款時,為了避免清算系統視為重複拋轉而退件:
01,乙公司配 02。01 與 02。每一筆明細對應一筆實際的匯出款項。
| 欄位名稱 | 長度/格式限制 | 業務邏輯 |
|---|---|---|
| 流水號(序號) | 5數字 | 00001 ~ nnnnn (必須嚴格連續) |
| 解款行 | 7數字 | 3位總行 + 3位分行 + 1位檢查碼 |
| 匯款種類 | 2數字 | 91:一般入戶 / 92:公庫 / 93:同業 |
| 收款人帳號 | 14數字 | 靠右對齊,左邊補 0 |
規範:12位整數 + 2位小數 (不含小數點)
範例:匯款 $1,500 元,檔案中必須填寫 00000000150000
單筆匯出金額上限為 五仟萬元。
如果客戶單筆匯款超過此限額,系統報文將無法容納,必須在源頭拆分為多筆明細。
作為檔案的句號,承擔了資料完整性的「雜湊檢核 (Hash Check)」責任。
'99999'。客戶端(如企業財會系統)產出的 ACH (Automated Clearing House) 檔案,往往與金融機構的「標準整批匯款格式」有落差:
透過 Excel VBA 或系統轉檔工具,實作資料清洗與正規化。
yymmddxxnn 的完美批號。最常發生退件的原因之一,在於客戶提供的「受益人帳戶銀行 (解款行)」代碼錯誤或因裁撤分行而失效。
裁撤分行對應頁籤 自動轉換為存續分行代碼,免除人工逐筆核對的災難。| 檢驗項目 | 標準要求 | 失敗後果 |
|---|---|---|
| 檔案名稱 | mmdd批號.TXT |
系統無法抓取檔案 |
| 編碼格式 | 純 BIG5 (中文) | 系統解析成亂碼,退匯 |
| 金額長度 | 12位整數+2位隱含小數 | 金額暴增百倍,引發災難 |
| 資料對齊 | 數值靠右補0 / 文字靠左補空白 | 欄位偏移,整批作廢 |
開啟轉換工具,匯入 ACH 原始檔。輸入指定的 4 碼客戶批號與匯款日期。
檢查工作頁「來源資料」。若解款行或戶名有異常,利用工具內建功能進行修正。
點選「產生匯款檔案」,於「轉換後資料」確認格式無誤後,上傳至主機系統。
感謝聆聽!落實格式標準,守護交易安全。