信用狀與國際貿易單據

SWIFT 欄位為主軸,比較 ExcelExcelVBAExcelAI 三種作法

大綱

  1. 建立共同資料模型:用SWIFT作爲單一來源欄位表(Single Source of Truth),透過LCSWIFT 欄位與四種單據連結:匯票、商業發票、包裝單、裝運單
  2. 作法一:只用 Excel 公式、查找、資料驗證與人工核對
  3. 作法二:ExcelVBA 自動帶入、批次產表、檢核與錯誤提示
  4. 作法三:ExcelAI 解析 SWIFT、欄位映射、異常偵測與人工覆核
  5. 總結:自動化可以加速製單,但不能取代責任與最終覆核

核心重點

核心項目

重點

核心主軸

SWIFT 信用狀為「原始需求」,四種單據為「輸出結果」;所有資料都應能追溯回來源欄位。

共同案例

同一份信用狀,製作匯票 Bill of Exchange、商業發票 Invoice、包裝單 Packing List、裝運單 Shipping Order

只用 Excel

靠欄位對照表、XLOOKUP/INDEX-MATCHIFSUMPRODUCT、資料驗證與條件格式完成;透明但較依賴人工。

ExcelVBA

把重複動作程式化:讀取來源、帶入四張表、產生單據、執行檢核、輸出錯誤清單;效率高但需要維護程式。

ExcelAI

AI 協助把 SWIFT 文字轉成結構化欄位、建議對應、比對異常與產生檢核說明;快速,但必須以原始 SWIFT 與規則表覆核。

最重要觀念

「製單」與「核對」是兩件事。自動填入正確格式,不代表內容符合信用狀。

核對層次

SWIFT主資料 主資料各單據 單據彼此一致 數量/金額/重量/體積計算 46A/47A 額外條件。

案例重點欄位

50 Applicant59 Beneficiary42C Draft tenor42A Drawee43P/43T44E/44F/44C45A Goods46A Documents47A Additional Conditions

風險提醒

AI 可能誤讀、VBA 可能把錯誤大量複製、Excel 公式可能被覆蓋;三種方法都需要可追溯與最終人工覆核。

 

1. 案例與操作目標

案例為 SWIFT FIN 700Issue of a Documentary Credit),由紐約的開狀銀行傳送至台灣合作金庫新店分行。信用狀文字列出 ApplicantBeneficiary、匯票期限、付款人、分批裝運、轉運、裝運港、卸貨港、最遲裝運日、貨物明細,以及應提示的單據與附加條件。

  • 先辨識 SWIFT Tag 與原始內容,所有資料都從來源欄位出發,而不是直接從既有表格抄寫。
  • 再建立欄位對應:把每一個單據欄位連回 SWIFT Tag、計算結果或人工輸入來源。
  • 最後進行核對:同一資料在不同單據間必須一致,且要符合 46A47A 等文件與附加條件。

案例 SWIFT 關鍵資料

SWIFT Tag

名稱

本案例內容

主要用途

50

Applicant

EDISON GLOBAL CO., LTD.
135 WEST 30TH ST., NEW YORK, NY 10001, U.S.A.

發票抬頭人、裝運單被通知人等

59

Beneficiary

POWER DESIGN CO., LTD.
10F., NO.105, SEC. 3, BEIXIN RD., XINDIAN DIST., NEW TAIPEI CITY 145, TAIWAN (R.O.C.)

發貨人、開票人、簽署人等

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
HU678 480 BOXES @ USD97.23
HU679 480 BOXES @ USD95.42
CFR NEW YORK INCOTERMS 2010

貨名、數量、單價、條件

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 MARKEG (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 不應在 InvoiceShipping 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.00900×98.15 + 480×97.23 + 480×95.42。這是「計算欄位」,必須和信用狀金額欄位(若完整文件中 32B 有值)再做核對,而不能把計算結果當成信用狀原文。

4. 作法一:只用 Excel

只使用 Excel,也能把資料建立成可追溯的單據系統。每個公式與欄位來源都能直接查看,最適合先建立基本結構與核對邏輯。

工作表

功能

建議內容

LC_Raw

原始資料

貼上 SWIFT 文字,保留原文,不直接改

Mapping

欄位對照

Tag、欄位名稱、單據 Ref、來源型態

Master_Data

單一資料來源

505942C44E45A…與計算欄位

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. 作法二:ExcelVBA

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. 作法三:ExcelAI

AI 最適合處理『非結構化文字 結構化欄位』以及『大量欄位的第一輪核對』。但信用狀實務不應把 AI 的輸出視為原始事實;原始 SWIFTMapping 規則與人工覆核才是依據。

AI 任務

輸入

輸出

核對要求

SWIFT 解析

FIN 700 原文

Tag / Field / Value JSON 或表格

逐欄回查原文,尤其數字、日期、否定條件

欄位映射

SWIFT 欄位 + 四種單據 Ref

建議 I03P14S11 等來源

Mapping 由固定規則鎖定

資料清理

公司名稱、地址、貨物敘述

一致格式

不得自行改變法律/交易意義

異常偵測

四種單據內容

不一致清單

每一個異常都要附來源欄位

檢核說明

46A47A + 單據

缺漏原因與待辦事項

AI 不可自行判定『一定符合』

 

可給 AI Prompt 範例

「請只依下列 SWIFT FIN 700 原文解析,不補資料、不猜測。輸出欄位:TagFieldExact Value、用途、可帶入的單據 Ref。若原文沒有值,填『NOT FOUND』。完成後再檢查四種單據,列出所有不一致,每一項都要指出 SWIFT Tag 或計算來源。特別檢查 46A47A 的文件份數、HS CodeL/C No./Date/Issuing Bank NameCountry of Origin。」

ExcelAI 的安全架構

1. LC_Raw 設為唯讀來源;AI 只能讀取,不直接覆寫原始文字。

2. AI 的解析結果先進 AI_Staging,不直接進四種單據。

3. Mapping 表驗證 Tag Ref;未通過的欄位標示 REVIEW

4. 通過後才寫入 Master_Data

5. 四種單據只引用 Master_Data

6. 最後由 Check 工作表做確定性規則核對,AI 只負責補充說明與找異常。

7. 三種方法效果比較

比較項目

只用 Excel

ExcelVBA

ExcelAI

上手難度

中~高

製單速度

可追溯性

高(公式可見)

中~高(需看程式)

取決於是否保留來源與 Log

處理文字能力

低~中

大量重複作業

很高

規則固定時

很好

最佳

可用但不一定必要

格式/文字常變時

較辛苦

需改程式

較有彈性

主要風險

人工輸入、公式覆蓋

錯誤規則被大量執行

誤讀、幻覺、過度自信

最終覆核

必要

必要

更必要

 

8. 核對的重要性:建立五層檢核

檢核層次

比對關係

本案例檢查點

1 層:來源核對

SWIFT 原文 Master_Data

505942C44E44F45A 是否逐字/逐數一致

2 層:單據映射

Master_Data 四種單據

I04 是否來自 50S01 是否來自 59E04 是否來自 42C

3 層:跨單據一致

Invoice Packing Shipping Order Draft

名稱、貨物、數量、金額、港口、嘜頭一致

4 層:計算核對

明細 合計

數量×單價、總額、件數、NW/GW、體積

5 層:條件核對

46A/47A 文件內容

份數、HS CodeL/C No./Date/Issuing BankOrigin 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

建立 MappingMaster_Data、四單據與 Check

4560

理解欄位來源與核對

第二輪:ExcelVBA

把第一輪重複操作自動化,再加入錯誤提示

4560

理解自動化與規則風險

第三輪:ExcelAI

AI 解析 SWIFT、提出 Mapping、找不一致;再人工確認

4560

理解 AI 加速與覆核責任

比較討論

同一錯誤在三種方法下如何發現、如何追溯

30

形成企業流程觀念

 

實作成果

  • 一份 SWIFTRef Mapping 表。
  • 一份 Master_Data
  • 四種單據:Bill of ExchangeInvoicePacking ListShipping Order
  • 一份 Check ReportPASSFAILREVIEW 三種狀態。
  • 一頁比較心得:哪一種方法最快、哪一種最容易追錯、哪一種最可能放大錯誤。

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

 

注意:HU678HU679 的尺寸在原檔呈現為「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