PPT_補充
信用狀與國際貿易單據
以 SWIFT 欄位為主軸,比較 Excel、Excel+VBA、Excel+AI 三種作法
大綱
- 建立共同資料模型:用SWIFT作爲單一來源欄位表(Single Source of Truth),透過LC的SWIFT 欄位與四種單據連結:匯票、商業發票、包裝單、裝運單
- 作法一:只用 Excel — 公式、查找、資料驗證與人工核對
- 作法二:Excel+VBA — 自動帶入、批次產表、檢核與錯誤提示
- 作法三:Excel+AI — 解析 SWIFT、欄位映射、異常偵測與人工覆核
- 總結:自動化可以加速製單,但不能取代責任與最終覆核
核心重點
核心項目 |
重點 |
核心主軸 |
以 SWIFT 信用狀為「原始需求」,四種單據為「輸出結果」;所有資料都應能追溯回來源欄位。 |
共同案例 |
同一份信用狀,製作匯票 Bill of Exchange、商業發票 Invoice、包裝單 Packing List、裝運單 Shipping Order。 |
只用 Excel |
靠欄位對照表、XLOOKUP/INDEX-MATCH、IF、SUMPRODUCT、資料驗證與條件格式完成;透明但較依賴人工。 |
Excel+VBA |
把重複動作程式化:讀取來源、帶入四張表、產生單據、執行檢核、輸出錯誤清單;效率高但需要維護程式。 |
Excel+AI |
讓 AI 協助把 SWIFT 文字轉成結構化欄位、建議對應、比對異常與產生檢核說明;快速,但必須以原始 SWIFT 與規則表覆核。 |
最重要觀念 |
「製單」與「核對」是兩件事。自動填入正確格式,不代表內容符合信用狀。 |
核對層次 |
① SWIFT→主資料 ② 主資料→各單據 ③ 單據彼此一致 ④ 數量/金額/重量/體積計算 ⑤ 46A/47A 額外條件。 |
案例重點欄位 |
50 Applicant、59 Beneficiary、42C Draft tenor、42A Drawee、43P/43T、44E/44F/44C、45A Goods、46A Documents、47A Additional Conditions。 |
風險提醒 |
AI 可能誤讀、VBA 可能把錯誤大量複製、Excel 公式可能被覆蓋;三種方法都需要可追溯與最終人工覆核。 |
1. 案例與操作目標
案例為 SWIFT FIN 700(Issue of a Documentary Credit),由紐約的開狀銀行傳送至台灣合作金庫新店分行。信用狀文字列出 Applicant、Beneficiary、匯票期限、付款人、分批裝運、轉運、裝運港、卸貨港、最遲裝運日、貨物明細,以及應提示的單據與附加條件。
- 先辨識 SWIFT Tag 與原始內容,所有資料都從來源欄位出發,而不是直接從既有表格抄寫。
- 再建立欄位對應:把每一個單據欄位連回 SWIFT Tag、計算結果或人工輸入來源。
- 最後進行核對:同一資料在不同單據間必須一致,且要符合 46A、47A 等文件與附加條件。
案例 SWIFT 關鍵資料
SWIFT Tag |
名稱 |
本案例內容 |
主要用途 |
50 |
Applicant |
EDISON GLOBAL CO., LTD. |
發票抬頭人、裝運單被通知人等 |
59 |
Beneficiary |
POWER DESIGN CO., LTD. |
發貨人、開票人、簽署人等 |
42C |
Drafts at |
AT 30 DAYS AFTER SIGHT FOR FULL INVOICE VALUE |
匯票期限 |
42A |
Drawee |
ISSUING BANK |
匯票付款人 |
43P |
Partial Shipments |
ALLOWED |
裝運條件核對 |
43T |
Transshipment |
NOT ALLOWED |
裝運條件核對 |
44E |
Port of Loading |
ANY PORT IN TAIWAN |
發票/裝運單裝運港 |
44F |
Port of Discharge |
NEW YORK |
發票/裝運單卸貨港 |
44C |
Latest Date of Shipment |
200315 |
裝運日期上限 |
45A |
Description of Goods |
HU677 900 BOXES @ USD98.15 |
貨名、數量、單價、條件 |
46A |
Documents Required |
Signed commercial invoice in duplicate; packing list in duplicate; full set clean on board B/L ... HS Code 851762 |
單據份數與提單要求 |
47A |
Additional Conditions |
All shipping documents state L/C No., date, issuing bank name; invoice and packing list indicate country of origin: TAIWAN |
所有單據附加欄位與核對 |
本案例特別保留「來源未直接顯示」的處理原則:原檔後段的四種表格對照中,出現 20(信用狀號碼)、31C(開狀日期)、32B(金額)、48 等 Ref/Swift 欄位,但在目前可見的前段 SWIFT 文字中沒有呈現其實際值。不可自行猜值,應把這些欄位標示為「待由完整信用狀確認」。
2. SWIFT 與四種單據的連結
單據 |
欄位 |
來源 |
核對重點 |
匯票 Bill of Exchange |
E02 匯票金額 |
32B / 發票總額 |
若信用狀為 full invoice value,金額應與發票總額一致 |
匯票 Bill of Exchange |
E04 匯票期限 |
42C |
本案例:30 days after sight |
匯票 Bill of Exchange |
E08 付款人 |
42A |
本案例:Issuing Bank |
匯票 Bill of Exchange |
E09 開票人 |
59 |
Beneficiary |
商業發票 Invoice |
I03 貨品名稱及數量 |
45A |
型號、數量必須逐項一致 |
商業發票 Invoice |
I04 抬頭人 |
50 |
Applicant |
商業發票 Invoice |
I05 發貨人 |
59 |
Beneficiary |
商業發票 Invoice |
I08 裝運港 |
44E |
ANY PORT IN TAIWAN |
商業發票 Invoice |
I09 卸貨港 |
44F |
NEW YORK |
商業發票 Invoice |
I12 貨運嘜頭及件號 |
45A |
SHIPPING MARK:EG (IN DIA) |
商業發票 Invoice |
I13-I16 明細/數量/單價/總額 |
45A + 計算 |
各型號乘積加總 |
包裝單 Packing List |
P14-P15 敘述/數量 |
45A |
應與發票一致 |
包裝單 Packing List |
P16-P18 淨重/毛重/體積 |
包裝資料 + 計算 |
不是直接照抄 SWIFT;由包裝規格計算 |
包裝單 Packing List |
P21 發票人簽署 |
59 |
Beneficiary |
裝運單 Shipping Order |
S01 託運人 |
59 |
Beneficiary |
裝運單 Shipping Order |
S02 受貨人 |
46A |
依提單要求 made out to our order |
裝運單 Shipping Order |
S03 被通知人 |
50 |
Applicant |
裝運單 Shipping Order |
S06 裝運港 |
44E |
ANY PORT IN TAIWAN |
裝運單 Shipping Order |
S07 卸貨港 |
44F |
NEW YORK |
裝運單 Shipping Order |
S09 貨運嘜頭及件號 |
45A |
與發票/包裝單一致 |
3. 共同資料模型:先建立一張「主資料表」
三種作法都建議先建立一張 Master_Data。這張表不是單據,而是所有單據共用的唯一來源。由此可以清楚看見:同一個 Applicant 不應在 Invoice、Shipping Order 各自重打一次;否則只要其中一處改了,跨單據就可能不一致。
主資料欄位 |
來源 |
案例值 |
型態 |
LC_Applicant |
50 |
EDISON GLOBAL CO., LTD. |
文字 |
LC_Beneficiary |
59 |
POWER DESIGN CO., LTD. |
文字 |
Draft_Tenor |
42C |
AT 30 DAYS AFTER SIGHT FOR FULL INVOICE VALUE |
文字 |
Drawee |
42A |
ISSUING BANK |
文字 |
Partial_Shipments |
43P |
ALLOWED |
條件 |
Transshipment |
43T |
NOT ALLOWED |
條件 |
Port_Loading |
44E |
ANY PORT IN TAIWAN |
文字 |
Port_Discharge |
44F |
NEW YORK |
文字 |
Latest_Shipment |
44C |
200315 |
日期文字/日期 |
Model_1_Qty / Unit_Price |
45A |
900 / 98.15 |
數值 |
Model_2_Qty / Unit_Price |
45A |
480 / 97.23 |
數值 |
Model_3_Qty / Unit_Price |
45A |
480 / 95.42 |
數值 |
Invoice_Total |
計算 |
USD 180,807.00 |
公式結果 |
Country_Origin |
47A |
TAIWAN |
條件 |
HS_Code |
46A |
851762 |
文字 |
本案例三項貨物的計算總額為 USD 180,807.00:900×98.15 + 480×97.23 + 480×95.42。這是「計算欄位」,必須和信用狀金額欄位(若完整文件中 32B 有值)再做核對,而不能把計算結果當成信用狀原文。
4. 作法一:只用 Excel
只使用 Excel,也能把資料建立成可追溯的單據系統。每個公式與欄位來源都能直接查看,最適合先建立基本結構與核對邏輯。
工作表 |
功能 |
建議內容 |
LC_Raw |
原始資料 |
貼上 SWIFT 文字,保留原文,不直接改 |
Mapping |
欄位對照 |
Tag、欄位名稱、單據 Ref、來源型態 |
Master_Data |
單一資料來源 |
50、59、42C、44E、45A…與計算欄位 |
Invoice |
輸出單據 |
只引用 Master_Data,不重複輸入 |
Packing_List |
輸出單據 |
引用 Invoice/Master_Data + 重量/體積計算 |
Bill_of_Exchange |
輸出單據 |
匯票金額、期限、付款人、開票人 |
Shipping_Order |
輸出單據 |
託運人、受貨人、通知人、港口、嘜頭 |
Check |
核對儀表板 |
PASS/FAIL、錯誤說明、待確認欄位 |
Excel 公式示例
用途 |
公式概念 |
重點 |
抓 Applicant |
=XLOOKUP("50",Mapping[SWIFT],Mapping[Value],"未找到") |
把 50 對應到主資料或單據 |
發票總額 |
=SUMPRODUCT(Qty_Range,UnitPrice_Range) |
避免手算 |
跨單據檢核 |
=IF(Invoice!B5=Shipping_Order!B3,"PASS","FAIL") |
同一客戶名稱必須一致 |
原產地條件 |
=IF(COUNTIF(Invoice!A:Z,"*TAIWAN*")>0,"PASS","FAIL") |
檢查 47A 要求 |
轉運條件 |
=IF(Transshipment="NOT ALLOWED","需檢查航程不得轉運","OK") |
把 SWIFT 條件轉成作業提示 |
待確認值 |
=IF(LC_Number="","待由完整信用狀確認","PASS") |
避免空白被誤當正確 |
只用 Excel 的效果與限制
- 優點:透明、容易追查公式,可直接看出每一個欄位的來源。
- 缺點:新增欄位、改版、輸出多張單據時,人工操作多;公式被覆蓋或複製錯誤的風險較高。
- 最適合:先建立核對思維、交易量不大、需要讓非程式人員維護的環境。
5. 作法二:Excel+VBA
VBA 的價值不是『讓 Excel 看起來更厲害』,而是把固定流程變成一次按鍵:讀取主資料 → 填入四張單據 → 執行檢核 → 產生錯誤清單 → 必要時輸出 PDF/列印。
模組 |
VBA 可自動化內容 |
必須保留的人工判斷 |
ImportLC |
讀取已整理的 SWIFT 欄位,寫入 Master_Data |
原始 SWIFT 是否完整、欄位是否抓對 |
FillDocs |
依 Mapping 將 50/59/45A 等批次帶入四種單據 |
特殊文字要求、格式要求 |
CalcPacking |
依數量、每箱件數、NW/GW、尺寸計算件數與重量/體積 |
包裝規格是否為最終實際出貨資料 |
ValidateDocs |
比對名稱、港口、數量、金額、原產地、HS Code 等 |
是否構成不符點及處理方式 |
ExportDocs |
自動命名、儲存、列印或輸出檔案 |
最終版本核准 |
VBA 示意邏輯
Sub ValidateLC()
If Range("InvoiceTotal").Value <> Range("DraftAmount").Value Then
Range("CheckAmount").Value = "FAIL:匯票與發票金額不一致"
Else
Range("CheckAmount").Value = "PASS"
End If
If InStr(1, Range("InvoiceOrigin").Value, "TAIWAN", vbTextCompare) = 0 Then
Range("CheckOrigin").Value = "FAIL:47A 要求 Invoice 顯示 TAIWAN"
End If
End Sub
必須注意:VBA 只會忠實執行規則。如果 Mapping 或 Master_Data 一開始就錯,程式可能把同一個錯誤一次複製到四張單據。因此 VBA 必須搭配錯誤清單、版本控制與抽查。
6. 作法三:Excel+AI
AI 最適合處理『非結構化文字 → 結構化欄位』以及『大量欄位的第一輪核對』。但信用狀實務不應把 AI 的輸出視為原始事實;原始 SWIFT、Mapping 規則與人工覆核才是依據。
AI 任務 |
輸入 |
輸出 |
核對要求 |
SWIFT 解析 |
FIN 700 原文 |
Tag / Field / Value JSON 或表格 |
逐欄回查原文,尤其數字、日期、否定條件 |
欄位映射 |
SWIFT 欄位 + 四種單據 Ref |
建議 I03、P14、S11 等來源 |
Mapping 由固定規則鎖定 |
資料清理 |
公司名稱、地址、貨物敘述 |
一致格式 |
不得自行改變法律/交易意義 |
異常偵測 |
四種單據內容 |
不一致清單 |
每一個異常都要附來源欄位 |
檢核說明 |
46A、47A + 單據 |
缺漏原因與待辦事項 |
AI 不可自行判定『一定符合』 |
可給 AI 的 Prompt 範例
「請只依下列 SWIFT FIN 700 原文解析,不補資料、不猜測。輸出欄位:Tag、Field、Exact Value、用途、可帶入的單據 Ref。若原文沒有值,填『NOT FOUND』。完成後再檢查四種單據,列出所有不一致,每一項都要指出 SWIFT Tag 或計算來源。特別檢查 46A、47A 的文件份數、HS Code、L/C No./Date/Issuing Bank Name、Country of Origin。」
Excel+AI 的安全架構
1. 把 LC_Raw 設為唯讀來源;AI 只能讀取,不直接覆寫原始文字。
2. AI 的解析結果先進 AI_Staging,不直接進四種單據。
3. 以 Mapping 表驗證 Tag 與 Ref;未通過的欄位標示 REVIEW。
4. 通過後才寫入 Master_Data。
5. 四種單據只引用 Master_Data。
6. 最後由 Check 工作表做確定性規則核對,AI 只負責補充說明與找異常。
7. 三種方法效果比較
比較項目 |
只用 Excel |
Excel+VBA |
Excel+AI |
上手難度 |
低 |
中~高 |
中 |
製單速度 |
中 |
高 |
高 |
可追溯性 |
高(公式可見) |
中~高(需看程式) |
取決於是否保留來源與 Log |
處理文字能力 |
低~中 |
中 |
高 |
大量重複作業 |
中 |
很高 |
高 |
規則固定時 |
很好 |
最佳 |
可用但不一定必要 |
格式/文字常變時 |
較辛苦 |
需改程式 |
較有彈性 |
主要風險 |
人工輸入、公式覆蓋 |
錯誤規則被大量執行 |
誤讀、幻覺、過度自信 |
最終覆核 |
必要 |
必要 |
更必要 |
8. 核對的重要性:建立五層檢核
檢核層次 |
比對關係 |
本案例檢查點 |
第 1 層:來源核對 |
SWIFT 原文 ↔ Master_Data |
50、59、42C、44E、44F、45A 是否逐字/逐數一致 |
第 2 層:單據映射 |
Master_Data ↔ 四種單據 |
I04 是否來自 50;S01 是否來自 59;E04 是否來自 42C |
第 3 層:跨單據一致 |
Invoice ↔ Packing ↔ Shipping Order ↔ Draft |
名稱、貨物、數量、金額、港口、嘜頭一致 |
第 4 層:計算核對 |
明細 ↔ 合計 |
數量×單價、總額、件數、NW/GW、體積 |
第 5 層:條件核對 |
46A/47A ↔ 文件內容 |
份數、HS Code、L/C No./Date/Issuing Bank、Origin Taiwan |
本案例可設計的錯誤題
故意錯誤 |
哪一種方法會抓到 |
學習點 |
Invoice 把 NEW YORK 打成 NEW JERSEY |
Excel 公式 / VBA / AI |
44F 應可追溯 |
Packing List 漏掉 Country of Origin: TAIWAN |
Excel 規則 / VBA / AI |
47A 不是『可有可無』 |
Shipping Order Notify Party 寫成 Beneficiary |
Excel 對照 / VBA / AI |
S03 來源應為 50 |
匯票金額與 Invoice Total 不同 |
三種皆可 |
跨單據金額核對 |
AI 自行補一個不存在的 L/C No. |
只有有來源追溯的流程能阻止 |
AI 不得補值 |
VBA Mapping 錯把 59 帶入 Invoice I04 |
若沒有第二層核對會大量錯 |
自動化錯誤可被放大 |
9. 實作流程
同一份 LC 依序以三種方法完成,任務內容保持一致,只改變使用工具。這樣即可直接比較方法差異,而不受不同案例影響。
階段 |
任務 |
建議時間 |
學習成果 |
第一輪:只用 Excel |
建立 Mapping、Master_Data、四單據與 Check |
45–60 分 |
理解欄位來源與核對 |
第二輪:Excel+VBA |
把第一輪重複操作自動化,再加入錯誤提示 |
45–60 分 |
理解自動化與規則風險 |
第三輪:Excel+AI |
AI 解析 SWIFT、提出 Mapping、找不一致;再人工確認 |
45–60 分 |
理解 AI 加速與覆核責任 |
比較討論 |
同一錯誤在三種方法下如何發現、如何追溯 |
30 分 |
形成企業流程觀念 |
實作成果
- 一份 SWIFT→Ref Mapping 表。
- 一份 Master_Data。
- 四種單據:Bill of Exchange、Invoice、Packing List、Shipping Order。
- 一份 Check Report:PASS、FAIL、REVIEW 三種狀態。
- 一頁比較心得:哪一種方法最快、哪一種最容易追錯、哪一種最可能放大錯誤。
10. 總結
重點不是增加 Excel 功能的數量,而是建立可追溯的文件流程。只用 Excel 時,要避免重複輸入;使用 VBA 時,要避免把錯誤規則大量複製;使用 AI 時,要避免把『看起來合理』誤當成『信用狀有寫』。最可靠的設計是:原始 SWIFT 不動、Mapping 明確、Master_Data 單一、四種單據引用、Check 獨立、人工最後覆核。
因此,三種方法不是互相取代,而是三個成熟度層次:Excel 建立結構、VBA 自動化固定規則、AI 處理文字與協助找異常。真正的專業能力仍是核對、判斷與責任歸屬。
附錄 A:本案例包裝資料與可計算欄位
型號 |
數量 |
包裝方式 |
每箱 NW |
每箱 GW |
尺寸 |
推算箱數 |
HU677 |
900 BOXES |
60 BOXES/CTN |
9.0 KGS |
10.5 KGS |
36×36×30 cm |
15 CTNS |
HU678 |
480 BOXES |
60 BOXES/CTN |
8.5 KGS |
9.8 KGS |
原檔顯示 15²×15²×13² |
8 CTNS |
HU679 |
480 BOXES |
60 BOXES/CTN |
8.2 KGS |
9.2 KGS |
原檔顯示 15²×15²×13² |
8 CTNS |
注意:HU678、HU679 的尺寸在原檔呈現為「15²×15²×13²」,字面格式可能是原始文件或轉檔造成。不可自行改成 15×15×13 或其他尺寸;應列為 REVIEW,待實際出貨資料或原始文件確認。
附錄 B:建議 Check 工作表欄位
Check ID |
檢核項目 |
來源 |
比對欄位 |
結果 |
CHK01 |
Applicant 一致 |
50 |
Invoice I04 / Shipping S03 |
PASS/FAIL |
CHK02 |
Beneficiary 一致 |
59 |
Invoice I05 / Draft E09 / Shipping S01 |
PASS/FAIL |
CHK03 |
Draft tenor |
42C |
Draft E04 |
PASS/FAIL |
CHK04 |
Loading port |
44E |
Invoice I08 / Shipping S06 |
PASS/FAIL |
CHK05 |
Discharge port |
44F |
Invoice I09 / Shipping S07 |
PASS/FAIL |
CHK06 |
Goods & Quantity |
45A |
Invoice / Packing / Shipping |
PASS/FAIL |
CHK07 |
Invoice amount |
45A 計算 + 32B(若有) |
Invoice I16 / Draft E02 |
PASS/FAIL/REVIEW |
CHK08 |
HS Code |
46A |
B/L / Shipping instruction |
PASS/FAIL |
CHK09 |
Country of Origin |
47A |
Invoice / Packing List |
PASS/FAIL |
CHK10 |
L/C No./Date/Issuing Bank |
47A + 20/31C(完整 LC) |
All shipping documents |
PASS/FAIL/REVIEW |