程式資訊
- 程式 ID:
ARCLAIM - 所屬子系統:I.帳款管理
- 狀態:stable
應收索賠扣款單¶
功能簡介¶
「應收索賠扣款單」用來登錄客戶針對某張發票/訂單提出的索賠或扣款——例如貨品瑕疵(DEFECTIVE)、運費爭議(FREIGHT)、價格不符(PRICE DISCREPANCY)、短裝(SHORT SHIP)等,最終由客戶折讓或扣款的金額。每一張索賠單以索賠單號(Claim#)為主鍵,記錄客戶、關聯的本公司發票/訂單、客戶 PO、票號,並在明細列出各品號「開單數量 vs 收貨數量」與金額差異(Dollar Different),全部差異加總即整張索賠的Total $。
這是一張 master + detail 的交易單據(主檔 ArclaimmSource + 明細 ArclaimdSource),由應收/財務人員在發生客戶索賠或扣款爭議時建立、追蹤,並以 Case Close 標記結案。
與保固卡索賠單(CLAIM)不同
本表單(程式代號 ARCLAIM)屬於應收/扣款範疇,與品保模組、業務模組的保固卡索賠單 CLAIM 是兩支不同的程式,欄位與用途都不一樣,請勿混用。
前置需求¶
- 權限:I.應收應付 →
應收索賠扣款單的新增/修改/刪除/瀏覽/列印權限。 - 基礎資料:下列主檔會影響本表單可輸入與帶出的內容——
| 資料 | 影響什麼 |
|---|---|
| 客戶主檔(CSD) | Customer 欄位的搜尋與簡稱(CsdName)帶出;查無客戶時簡稱為空 |
| 應收發票/財務單據 | Our Invoice#(TabNo) 的搜尋清單與帶出Invoice Date;找不到單號則日期為空 |
| 品號主檔(SKU) | 明細 Part No 的搜尋與品名(Description)帶出 |
Claim Code 不需要維護主檔
索賠代碼是程式內建固定清單(見欄位連動與附加功能),不必另外維護代碼檔。
操作步驟¶
本表單為標準的單頭+明細編輯畫面:上半部為索賠單表頭欄位,中間為品號明細格線,底部為結案勾選與金額合計。
新增一張索賠單¶
- 按工具列的
新增。- 系統自動把 Doc.#(Claim#) 設為
+++(存檔時才由系統編號),此欄唯讀不可手改。 - Date(Claim Date) 自動帶入今天。
- 系統自動把 Doc.#(Claim#) 設為
- 在 Customer 欄輸入或搜尋客戶代號,系統自動帶出右側客戶簡稱。
- 視需要填入 Our Order#(本公司訂單號)、Customer PO#(客戶採購單號)、Check#(票號)。
- 在 Our Invoice# 輸入或搜尋本公司發票/財務單據號;輸入後系統會自動帶出該單據的 Invoice Date(見欄位連動)。
- 在 Claim Code 下拉選擇索賠原因(如
DF DEFECTIVE)。 - 填寫 Remark / Remark 1(備註,Remark 1 為重點欄位)、Claim Memo、Notes 等說明文字。
- 在下方明細格線逐列輸入品號與差異:
- Part No:輸入或搜尋品號,系統帶出 Description。
- 填入 Invoiced(開單數量)、Received(收貨數量)、Unit Price(單價)。
- 填入 Dollar Different(金額差異);每改一列,底部 Total $ 會即時重算(見欄位連動)。
- 確認無誤後按
存檔。
存檔必填檢核
存檔時系統會檢查 Claim Date(Date) 必須有值,否則擋下並提示輸入日期。
修改 / 刪除¶
- 用工具列查詢(或上一筆/下一筆)切換到要處理的索賠單。
- 按
修改後調整表頭或明細欄位,再存檔。 - 要整張作廢時按
刪除。 - 要結案時勾選底部的 Case Close,再存檔。
Case Close 受狀態控制
Case Close 勾選框是否可勾,由表單目前的編輯狀態(新增/修改中)決定;非編輯狀態下為唯讀。
列印¶
- 切換到要列印的索賠單。
- 執行工具列的列印,套表時系統會帶入列印條件
Print Condition:以目前這張索賠單的 Claim# 作為查詢條件(起訖值都等於該單號),只印出當前單據。
欄位說明¶
表頭欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| Doc.#(Claim#) | 系統 | 索賠單號,主鍵;新增時為 +++,存檔時由系統編號,唯讀 |
| Date(Claim Date) | ✔ | 索賠日期;新增時預設今天;存檔強制檢核非空 |
| Customer | — | 客戶代號,可搜尋;自動帶出客戶簡稱 |
| Our Order# | — | 本公司訂單號,最長 18 碼 |
| Customer PO# | — | 客戶採購單號,最長 30 碼 |
| Our Invoice#(TabNo) | — | 本公司發票/財務單據號,可搜尋;帶出 Invoice Date,最長 18 碼 |
| Invoice Date(TabDate) | 自動 | 由 Our Invoice# 帶出的交易日期,唯讀 |
| Check# | — | 票號,最長 18 碼 |
| Claim Code | — | 索賠原因代碼,內建下拉清單(見下節) |
| Remark | — | 備註,最長 60 字 |
| Remark 1 | — | 重點備註,最長 60 字 |
| Claim Memo | — | 索賠說明(多行) |
| Notes | — | 其他註記(多行) |
| Case Close | — | 結案勾選;受編輯狀態控制 |
| Total $(OriginalDifference) | 自動 | 所有明細 Dollar Different 之合計(本幣格式),唯讀 |
明細欄位¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| Line No | 自動 | 明細列序號 |
| Part No(SKU) | — | 品號,可搜尋;帶出品名 |
| Description | 自動 | 品號說明,由 Part No 帶出 |
| Invoiced | — | 開單(發票)數量,整數 |
| Received | — | 實收數量,整數 |
| Unit Price | — | 單價,19,4 |
| Dollar Different | — | 金額差異,19,4;計入 Total $ 合計 |
欄位連動與附加功能¶
這一節整理「輸入某欄位/按某動作後,系統會做什麼」,全部來自實際程式行為。
新增時的預設值¶
- 當你按
新增,系統會:- 把 Date(Claim Date) 設為今天(
DateTime.Now,短日期格式)。 - 把建檔日期(CreatedDate)設為今天。
- 把 Doc.# 顯示為
+++,等存檔時才由系統配號(唯讀,不能手改)。
- 把 Date(Claim Date) 設為今天(
輸入「Our Invoice#」自動帶出 Invoice Date¶
- 當你在 Our Invoice#(TabNo) 輸入或搜尋一個本公司發票/財務單據號並離開欄位,系統會:
- 呼叫資料庫函式
DARB_FN_ARCLAIMGETDATE(以財務單據號查交易日期)。 - 把回傳的交易日期填進 Invoice Date(TabDate)(此欄唯讀,只能由此連動帶出)。
- 若找不到對應單據,Invoice Date 會是空白。
- 呼叫資料庫函式
- 這個搜尋框預設綁定的查詢設定為
SeekCondition = FinancialDocNo、SeekColumn = InvoiceNo(在發票/財務單據中以單號查詢)。
輸入「Customer」帶出客戶簡稱¶
- 當你切換到某張既有索賠單(移動記錄)時,系統會用 Customer(CsdNo) 去客戶主檔查簡稱,填進 CsdName 顯示在客戶代號右側。
- 查無客戶代號時簡稱為空白。
「Dollar Different」即時重算 Total $¶
- 每當你修改任一明細列的 Dollar Different(金額差異),系統會:
- 把所有未被刪除(
SysRowStatus != "D")的明細列的金額差異加總。 - 即時更新底部的 Total $(OriginalDifference)。
- 把所有未被刪除(
- 切換/載入索賠單時也會重算一次 Total $(加總全部明細的差異)。
「Claim Code」內建索賠代碼清單¶
Claim Code 是固定下拉清單(程式內建,不需維護代碼檔),可選值如下:
| 代碼 | 說明 | 代碼 | 說明 |
|---|---|---|---|
AL |
ALLOWANCE(折讓) | NC |
NO CREDIT(不予折讓) |
CH |
CREDIT HOLD(信用凍結) | PM |
PAYMENT(付款) |
CM |
CREDIT MEMO(貸項通知) | PN |
PENALTY(罰款) |
DC |
DISCOUNT(折扣) | PD |
PROOF OF DELIVERY(送達證明) |
DF |
DEFECTIVE(瑕疵) | PR |
PRICE(BILLING) DISCREPANCY(價格/帳單不符) |
DI |
DUPLICATE(重複) | RT |
RETURN(退貨) |
FG |
FREIGHT(運費) | RB |
RE-BILL(重新開立帳單) |
FU |
FOLLOW UP & BACK UP(後續追蹤) | SP |
SHIPPING ERROR(出貨錯誤) |
SS |
SHORT SHIP/SHORTAGE(短裝/短缺) |
存檔時的資料處理¶
- 存檔前的必填檢核:Claim Date 為空時擋下存檔,並提示輸入日期。
- 存檔前(
HandleDataBeforeEndEdit)系統會自動清掉空白明細列:若某明細列同時滿足「Description 為空」且「Dollar Different = 0」,系統會把該列標記為刪除(SysRowStatus = "D"),不寫入資料庫。
列印條件¶
- 列印套表時提供一組列印條件
Print Condition:自動以目前索賠單的 Claim# 為查詢條件(Q等於,起訖值皆為該單號),確保只印當前這張單。
報表來源為規劃中
程式內已預留索賠單報表的資料來源組裝(ARClaimReportPoco 的主從合併查詢),但目前為註解保留、尚未啟用。實際列印會走通用列印條件機制,報表版面待後續補上。
常見問題¶
存檔時被擋下,提示要輸入日期?
系統強制 Date(Claim Date) 必須有值。新增時本欄會自動帶今天,若被清空就會擋存檔,請補上索賠日期再存。
Invoice Date 一直是空白,沒有自動帶出?
Invoice Date 只能由 Our Invoice# 連動帶出(呼叫 DARB_FN_ARCLAIMGETDATE 查交易日期),無法手動輸入。若帶不出來,表示輸入的單號在發票/財務單據中查不到,請確認單號是否正確、該發票是否已存在。
底部 Total $ 沒有更新?
Total $ 是所有明細 Dollar Different 的合計,且只加總未刪除的列。請確認你改的是 Dollar Different 欄位;已被視為刪除(空白且金額 0)的列不會計入。
明細列存檔後不見了?
存檔時系統會自動移除「Description 空白且 Dollar Different = 0」的空列,避免存入無意義的明細。若你的列被清掉,請至少填上品名或金額差異。
客戶簡稱沒有顯示?
簡稱由 Customer(CsdNo) 去客戶主檔查得。若客戶代號在主檔中不存在或已停用,簡稱會留空,請確認客戶代號是否正確。
相關功能¶
需補截圖清單
以下截圖待 runtime 驗收後補拍(放 docs/I-ARAP/images/):
arclaim-step1.png— 新增索賠單表頭全貌(Doc.# = +++、自動帶今天)arclaim-step2.png— Our Invoice# 帶出 Invoice Date 的連動效果arclaim-step3.png— 明細格線與底部 Total $ 合計