程式資訊
- 程式 ID:
CI - 所屬子系統:E.營業收款
- 狀態:stable
出口商業發票(Commercial Invoice)¶
功能簡介¶
「出口商業發票」用來開立出口報關/請款用的 Commercial Invoice(CI)。一張 CI 由主檔(客戶、幣別、運送方式、出貨港口/目的港口、出貨地址、請款地址、提單與承運資訊、EDI 設定)加上一份明細(每一品項的 SKU、數量、單價、金額)組成。
它通常出現在出貨流程的後段:訂單(銷售訂單)→ 出貨 / 出通單 → 開立出口商業發票。本表單支援把既有的倉單(已出貨資料)或出通單(出貨通知)整批帶進明細,並可整合 EDI(EDI 810 發票 / 856 出貨通知)交換所需的 Ship To/Bill To 地址與 Trade Partner ID。主要使用者為負責出口文件與請款的業務、船務人員。
與內銷發票的差異
本表單是針對出口設計的英文版商業發票,欄位以英文 Label 呈現(CIDocument No、Ship To、Bill To、B/L No、SCAC 等),並帶 EDI 810/856 旗標。國內統一發票請改用 P-Invoice 發票模組。
前置需求¶
- 權限:E.銷售訂單 →
E-090 出口商業發票的瀏覽/新增/修改/刪除/列印權限。 - 基礎資料:表單能否自動帶值,取決於下列主檔的維護狀況——
| 資料 | 影響什麼 |
|---|---|
| 客戶主檔(客戶資料) | 輸入客戶代號後自動帶出客戶簡稱、聯絡人、運送方式、稅別、交易條件、麥頭、客戶幣別 |
| 客戶 EDI 資料 | 自動帶出 EDI Trade Partner ID、Ship To/Bill To 的 ID、名稱、地址、城市、州、郵遞區號、國家 |
| 品號主檔(品號資料) | 明細輸入 SKU 後帶出產品描述(依產品描述別取中/英文描述)與單位 |
| 幣別/匯率資料 | 幣別對應的小數位數與賣出匯率(由 TsCurrency 控件依幣別與單據日期自動帶入) |
| 稅別、交易條件、運送方式、港口主檔 | 對應下拉選單的代碼與說明(Tax Code、TransactionMethod、Shipping Method、Loading Port、Destination Port) |
| 銷售訂單 / 倉單 / 出通單 | Pick Shipping、Pick Shipping Notice 兩顆按鈕帶入明細的來源資料 |
操作步驟¶
新增一張商業發票¶
- 從主選單開啟 E.銷售訂單 → 出口商業發票。
- 點工具列
新增。系統自動帶入下列預設值(詳見欄位說明):- 公司代碼=1
- Document Date(ci 日期)=今天
- 幣別=本位幣、匯率=1
- 產品描述別=依登入語言:繁中帶
中文、其餘帶English
- 在 Customer Code 輸入或查詢客戶代號。離開欄位後系統自動帶出客戶簡稱、聯絡人、運送方式、稅別、交易條件、麥頭與客戶幣別,並依 EDI 資料填好 Ship To/Bill To 區塊(見欄位連動與附加功能)。
- 視需要調整 Currency / FX Rate、Tax Code、TransactionMethod、Shipping Method、Loading Port、Destination Port 等出口條件。
- 填入提單與承運資訊:TrackingNo、B/L No、SCAC、Carrier、ShipmentDate、ETA。
- 輸入明細,可採下列任一方式:
- 手動逐列輸入:在下方明細格直接填 SKU、Quantity、Unit Price 等。
- 整批帶入:按
Pick Shipping Notice(帶出通單)或Pick Shipping(帶倉單/已出貨資料),在彈出視窗勾選後按返回,明細自動補上序號與金額(見下節)。
- 確認下方 Total Quantity / Total Amount 合計正確。
-
點
儲存。系統會檢查 Document Date 與 Customer Code 必填(見常見問題)。小技巧
進入新增 / 修改狀態時游標會自動停在頁首備註欄;此時系統會依客戶與商品自動組一段英文 INVOICE 抬頭文字(INVOICE OF / MESSRS / FROM…To / TERM OF PAYMENT…)填入頁首備註、並帶入客戶設定的頁尾備註。
修改 / 刪除¶
- 用工具列的前後筆/查詢移動到目標 CI(移動後系統重新計算合計,並補回客戶簡稱與稅別說明)。
- 點
修改,調整主檔或明細欄位。 - 要刪整批明細時,按明細區的
Delete Detail,系統把目前所有明細列標記為刪除(存檔後移除)。 - 點
儲存或刪除完成。
列印¶
於工具列選 列印,依系統設定的 CI 報表格式輸出。報表抬頭、收貨人、付款條件等取自主檔的頁首備註 / 頁尾備註與客戶資料。
欄位說明¶
主檔(基本 / 出口條件)¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| CIDocument No(cino) | — | 單號,系統自動產生、唯讀 |
| Document Date(ci 日期) | 是 | yyyy/MM/dd;新增預設今天。修改此欄會同步更新 ETA 與 ShipmentDate |
| Customer Code(客戶代號) | 是 | 客戶代號,可查詢;帶動一系列自動帶值 |
| Customer Name | — | 唯讀,依客戶代號帶出客戶簡稱 |
| Currency(幣別) | — | 新增預設本位幣;可改,改後重算明細金額小數位 |
| FX Rate(匯率) | — | 新增預設 1;由 TsCurrency 控件依幣別與日期帶賣出匯率 |
| Tax Code | — | 稅別代碼,帶說明 |
| TransactionMethod(交易條件碼) | — | 交易條件下拉(C202) |
| Shipping Method Code(運送方式碼) | — | 運送方式下拉(C201) |
| Loading Port(出貨港口碼) | — | 出貨港口下拉(M202) |
| DestinationPort(目的港口碼) | — | 目的港口下拉(M202) |
| Primary Contact(聯絡人) | — | 自客戶主檔帶入,可改 |
| ItemDescriptionType(產品描述別) | — | 中文 / English;新增依登入語言預設。改此欄重抓全明細產品描述 |
| 商品名稱 | — | 下拉(C269),用於報表抬頭 INVOICE OF |
| 正嘜 | — | 麥頭文字,自客戶主檔帶入 |
| 頁首備註 / 頁尾備註 | — | 報表抬頭 / 結尾文字;進入編輯時自動組好可再修改 |
主檔(提單 / 承運 / EDI)¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| TrackingNo(trno) | — | 追蹤號 |
| B/L No(blno) | — | 提單號 |
| SCAC | — | 承運人標準代碼 |
| Carrier | — | 承運人名稱 |
| ShipmentDate(shipdate) | — | 出貨日;隨 Document Date 連動帶入 |
| ETA(estdate) | — | 預計到港日;隨 Document Date 連動帶入 |
| EDI Receiver ID(receiveid) | — | EDI Trade Partner ID,系統依客戶 EDI 資料帶入、唯讀 |
| Create 856 | — | 是否產生 EDI 856 出貨通知(是 / 否) |
| Create 810 | — | 是否產生 EDI 810 發票(是 / 否) |
主檔(Ship To / Bill To)¶
Ship To(出貨)與 Bill To(請款)兩組 ID/名稱/地址 1/地址 2/城市/州/郵遞區號/國家 欄位,輸入客戶代號時會依客戶 EDI 資料自動帶入,可再手動覆寫。
明細¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| Line No(序號) | — | 行序號,帶入時自動依設定長度遞增編號 |
| SKU(品號) | — | 品號;輸入後自動帶產品描述與單位(見下節) |
| Product Description(產品描述) | — | 依產品描述別取中/英文描述 |
| Customer Order No(客戶訂單號) | — | 客戶訂單號 |
| Customer SKU(客戶品號) | — | 客戶品號 |
| UnitOfMeasurement(單位) | — | 單位,下拉自 UOM 清單 |
| Quantity(數量) | — | 數量;改後重算金額 |
| Unit Price(單價) | — | 原幣單價;改後重算金額 |
| Other Amount(其他金額) | — | 其他加項;改後重算金額 |
| Amount(金額) | — | 唯讀,系統計算:ROUND(數量×單價 + 其他金額, 幣別小數位) |
| Notes(備註) | — | 備註 |
| Request No(reqno) | — | 需求單號 |
欄位連動與附加功能¶
本節整理「輸入某欄位/按某按鈕後系統會做什麼」,全部來自實際程式碼。
主檔欄位連動¶
- 輸入 Customer Code(客戶代號)後,系統會:
- 由客戶主檔帶出 Customer Name(客戶簡稱)、Primary Contact(聯絡人 1)、Shipping Method(運送方式碼)、Tax Code(稅別)、TransactionMethod(交易條件碼)、正嘜(麥頭);若客戶設有幣別,連 Currency(幣別) 一併帶入(匯率再由
TsCurrency控件依幣別/日期自動帶)。 - 由客戶 EDI 資料帶出 EDI Receiver ID 及整組 Ship To / Bill To(ID、名稱、地址 1/2、城市、州、郵遞區號、國家)。其中 Ship To ID/Bill To ID 若 EDI 沒填,會退而用客戶代號;名稱沒填則用客戶簡稱。
- 由客戶主檔帶出 Customer Name(客戶簡稱)、Primary Contact(聯絡人 1)、Shipping Method(運送方式碼)、Tax Code(稅別)、TransactionMethod(交易條件碼)、正嘜(麥頭);若客戶設有幣別,連 Currency(幣別) 一併帶入(匯率再由
- 修改 Document Date(ci 日期)後,系統會同步把 ETA(estdate) 與 ShipmentDate(shipdate) 設成同一天。
- 改 Currency(幣別)或 FX Rate(匯率)後,系統會重算所有明細的金額(依新幣別小數位重新四捨五入)。
- 改 ItemDescriptionType(產品描述別)後,系統會對所有明細重抓產品描述:中文描述別取品號的中文描述、否則取英文描述;若都空白再退抓 SKU 說明。
- 進入新增 / 修改、游標停到頁首備註時(
AddPageHeader),系統依客戶查得的資料自動組一段英文抬頭填入頁首備註,內容包含:INVOICE OF: {商品名稱}、MESSRS. {客戶名稱}、聯絡人、TEL/FAX、地址、FROM: {出貨港口}. To: {目的港口}、TERM OF PAYMENT: {付款說明} {運送方式}、ALL GOODS ARE OF TAIWAN ORIGIN.;並把客戶設定的頁尾備註帶入。
明細欄位連動¶
- 輸入 SKU(品號)後(
SetProduct),系統帶出產品描述(依主檔產品描述別取中/英文)與單位。 - 改 Quantity/Unit Price/Other Amount 任一欄後(
SetPrice),系統重算 Amount(金額)=ROUND(數量×單價 + 其他金額, 幣別小數位)。金額為原幣金額,不再乘匯率。 - 數量與金額皆為 0 的明細列會被視為待刪除,存檔時自動移除。
- 主檔下方的 Total Quantity / Total Amount 會即時加總(排除已標記刪除的列)。
按鈕與工具列¶
-
Pick Shipping Notice(帶出通單)/Pick Shipping(帶倉單):先檢查主檔已輸入客戶代號(未填會跳提示)。接著開啟 Batch Edit 批次視窗,列出該客戶近一年內、尚未轉出的出貨資料(出通單或倉單):- 上方選一張單據,下方逐列勾選要帶的明細,可用
單張全選 / 取消單張全選。 - 按返回後,勾選的明細逐列加進 CI 明細,自動補序號、SKU、客戶品號、產品描述(含
PO#/行號/備註串接)、數量、單位、單價、倉單號、客戶訂單號、需求單號,並即時算金額。 - 每帶入一列明細,都會把該筆的 EDI(Ship To / Bill To、Trade Partner ID) 回填到主檔;多列勾選時以最後一列的 EDI 為準。
新增順序
帶入的明細一律附加到清單尾端(新版 DataManager 僅支援 append),與舊版插在首列之後的行為略有不同,必要時可自行調整序號。
- 上方選一張單據,下方逐列勾選要帶的明細,可用
-
Delete Detail(刪除明細):把目前所有明細列標記為刪除,存檔後移除。請確認是要清空整份明細再使用。 - 延伸功能(工具列其他功能):
- 其他功能 1(ExtendedFunction1):開啟 訂單轉出貨(Odtosl) 視窗,可依 ETA 或訂單號查詢訂單、設定出貨數量並產生出貨單;關閉後 CI 畫面重新整理。
- 其他功能 3(ExtendedFunction3):以目前主檔為對象,開啟 出通單轉出貨(Odtosladdi) 視窗,依出通單批次出貨;關閉後重新整理。
存檔前處理與檢核¶
- 存檔檢核(AllowSave):Document Date 與 Customer Code 必填,缺一即擋存並提示。
- 存檔前補值(HandleDataBeforeEndEdit):若交易條件文字為空,系統依交易條件碼補上對應說明再寫入。
常見問題¶
按 儲存 時被擋住,提示要輸入 Document Date 或 Customer Code?
這兩欄是必填。Document Date 新增時預設今天,若被清空需補回;Customer Code 必須輸入有效客戶代號,建議用查詢選取以連帶帶出地址與 EDI 資料。
按 Pick Shipping / Pick Shipping Notice 沒反應或跳提示?
這兩顆按鈕只有在已輸入客戶代號且處於新增/修改狀態時可用。若客戶代號為空會跳提示請先輸入客戶。另外批次視窗只列該客戶近一年內、尚未轉出的出貨資料,太舊或已轉出的單據不會出現。
明細的 Amount(金額)一直是 0?
金額由系統計算=數量×單價 + 其他金額,再依幣別小數位四捨五入。請確認該列 Quantity 與 Unit Price 都有值;數量與金額皆為 0 的列會被當成空列在存檔時刪除。
改了幣別 / 匯率,明細金額為什麼變了?
金額是原幣金額,本身不乘匯率,但會依幣別的小數位數重新四捨五入;換幣別時小數位不同即可能微調。匯率主要用於後續換算與報表,不直接改變明細原幣金額。
輸入 SKU 後產品描述是空白?
產品描述依產品描述別取品號的中文或英文描述。若品號主檔對應語言的描述為空,系統會退抓 SKU 說明;兩者都沒有時即為空白,請至品號資料補維護描述。
Ship To / Bill To 地址沒有自動帶?
這些值來自客戶的 EDI 資料。若該客戶未維護 EDI 設定,地址欄會留空,可手動輸入;其中 ID 欄在 EDI 未填時會自動退用客戶代號、名稱退用客戶簡稱。
相關功能¶
需補截圖清單
以下截圖待 runtime 驗收後補拍(放 docs/E-SalesOrder/images/):
ci-step1.png— 新增後的主檔輸入畫面(客戶、幣別、出口條件、Ship To / Bill To 區塊)ci-step2.png—Pick Shipping Notice/Pick Shipping的 Batch Edit 批次帶入視窗ci-step3.png— 明細區(含 SKU、數量、單價、金額)與下方 Total Quantity / Total Amount 合計