程式資訊
- 程式 ID:
CHECKAPGO - 所屬子系統:Other
- 狀態:stable
應付票據異動¶
功能簡介¶
「應付票據異動」用來批次更新應付票據的票況,並把異動的結果轉成財務單(內部稱 rp 票據異動單,歸屬 FTRLIMA 程式類別)。它不是獨立掛在主選單的程式,而是從應付票據(CHECKPAY)畫面的延伸功能進入:當一批已開立的付票到了預兌日要做「在途」「兌現」或電子付款兌現時,財務人員在這裡一次撈出符合條件的票,勾選後一次過帳。
它解決的問題是:付票從開立到實際扣款會經過數個票況階段,每次階段轉換都要在會計上立一筆財務分錄。這支表單把「查出該動的票」與「自動產生對應財務分錄」兜在同一個畫面,財務人員不必逐張票手動立帳。
支援三種票況異動:
| 異動票況 | 代碼 | 做什麼 | 財務類別 |
|---|---|---|---|
| 付票在途 | CQ |
把「付票庫存(已開立)」或票況為空白的票,轉成在途 | BD 付票在途 |
| 付票兌現 | CR |
把在途的支票/信用狀(L/C)轉成兌現(實際扣款) | BE 付票兌現 |
| 電付兌現 | CU |
把在途的電子付款轉成兌現 | BL 電付兌現 |
兌現會多產生一筆換匯分錄
票況選 付票兌現 或 電付兌現 時,每張票會產生兩筆財務明細:第一筆是票據本身的扣款,第二筆是 FI(換匯)分錄,用 #幣別 當品號、把票面金額掛在「其他金額」上,依結帳匯率換算本幣。這是兌現時實現匯兌損益的標準作法。付票在途 只會產生一筆扣款明細。
前置需求¶
- 權限:本表單繼承自應付票據(CHECKPAY)的延伸功能,需具備該程式的瀏覽權限才看得到入口。
- 基礎資料:能否撈到票、轉出去的分錄對不對,取決於下列資料——
| 資料 | 影響的結果 |
|---|---|
| 應付票據(已開立的付票) | 是否撈得到待異動的票;票況、預兌日、票別決定撈出條件 |
| 銀行帳戶(付款帳戶) | 帳戶代號/簡稱顯示、轉出轉入倉儲(科目)判定 |
交易別設定(LCLTritem1,含 CQ/CR/CU/FI) |
財務明細的摘要、轉出入科目;缺交易別會抓不到摘要 |
| 幣別小數位數設定 | 原幣未稅金額的四捨五入位數 |
| 結帳匯率 | 兌現換匯金額、本幣未稅換算 |
操作步驟¶
步驟一 開啟畫面¶
- 在應付票據(CHECKPAY)畫面,從工具列呼叫第三個延伸功能(程式內部對應
ExtendedFunction3,即票據異動)。 - 系統開出「應付票據異動」視窗。視窗標題即
應付票據異動。
步驟二 設定查詢條件¶
- 選擇 異動票況:下拉只提供三個選項——
付票在途(CQ)/付票兌現(CR)/電付兌現(CU),預設為付票在途。選定後右側唯讀欄會顯示該票況的中文敘述。 - 確認 預兌日 起訖區間:預設起始日=今天往前 30 天、截止日=今天往後 180 天。系統只撈預兌日落在此區間內的票。
- 確認 異動日期:預設帶今天,這是轉出財務單的立帳日期。
- 視需要在 帳戶代號 用銀行帳戶查詢控件指定單一付款帳戶;留空表示不限帳戶。
步驟三 查詢¶
- 按
查詢。系統依票況組出 SQL 條件、呼叫後端 SPDARB_TUR_CHKAPGO撈資料,結果分兩個頁籤呈現:- 資料 頁:符合條件、可以勾選異動的票。
- 鎖住資料 頁:被排除(被鎖住)的票,頁籤標題會顯示鎖住筆數;此頁唯讀、不能勾選。
- 查詢期間
查詢鈕會暫時停用,避免重複觸發。
撈出條件依票況而異
付票在途:撈預兌日在區間內、且票況為CP(付票庫存)或票況空白的票。付票兌現:撈票別為支票或 L/C、預兌日在區間內、且票況為CQ(在途)的票。電付兌現:撈票別為電子付款、預兌日在區間內、且票況為CQ(在途)的票。 指定帳戶代號時,再加上「帳戶代號=指定帳戶」的條件。
步驟四 勾選並過帳¶
- 在 資料 頁逐列勾選 選擇 欄要異動的票(必填,至少勾一張)。
- 視需要直接在格線修改 結帳匯率(此欄可編輯,預設帶立帳匯率)。
- 按工具列(
SqlEditTurn)的存檔/轉出,系統把勾選的票轉成財務單明細並寫入。過帳成功後不會自動關閉視窗,可繼續處理其他票況。 - 關閉視窗回到應付票據後,畫面會依轉出的財務單號重新定位。
沒勾選不能過帳
若一張都沒勾,按存檔會跳出「請選擇您要異動的票據」提示並中止;查詢條件不完整(沒選票況、沒填預兌日截止日、沒填異動日期)也會被擋下。
欄位說明¶
查詢條件區¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 異動票況 | ✔ | 下拉:付票在途(CQ)/付票兌現(CR)/電付兌現(CU);預設 付票在途 |
| 預兌日(起) | — | 預設今天 − 30 天 |
| 預兌日(迄) | ✔ | 預設今天 + 180 天;空白會被擋 |
| 異動日期 | ✔ | 預設今天;作為轉出財務單的立帳日期 |
| 帳戶代號 | — | 銀行帳戶查詢控件;留空=不限帳戶 |
「資料」頁主要欄位¶
| 欄位 | 可編輯 | 說明 |
|---|---|---|
| 選擇 | ✔ | 勾選要異動的票;至少勾一張才能過帳 |
| 帳戶代號/帳戶簡稱 | — | 付款銀行帳戶 |
| 票據備註 | — | 票面備註 |
| 交易對象/對象簡稱 | — | 收款廠商 |
| 付款日期 | — | 付款日期 |
| 票據號碼 | — | 票據號碼 |
| 幣別 | — | 票面幣別 |
| 結帳匯率 | ✔ | 兌現/立帳採用的匯率,預設帶立帳匯率,可手動改 |
| 票據金額 | — | 票面金額 |
| 到期日/預兌日/兌現日期 | — | 各關鍵日期 |
| 票況 | — | 目前票況 |
| 票據單號 | — | 票據單號(轉出時當財務明細的品號) |
結帳匯率預設值
查詢回來時,系統會把每一筆的 結帳匯率 自動設成該票的 立帳匯率(兩個頁籤都會做這件事)。若要用不同匯率兌現,直接在格線改 結帳匯率 即可。
欄位連動與附加功能¶
這一節說明「輸入某欄位後會發生什麼」「按某按鈕會做什麼」,全部來自實際程式行為。
進入畫面時的預設帶值¶
當你從應付票據呼叫進來,系統會:
- 把 異動票況 預設成
付票在途(CQ)、下拉只放CQ/CR/CU三個選項。 - 把 異動日期 帶成今天。
- 把 預兌日 起訖帶成「今天 − 30 天 ~ 今天 + 180 天」。
異動票況下拉連動¶
當你切換 異動票況,右側唯讀文字框會即時顯示該票況的中文敘述;按 查詢 時,系統依目前選的票況走不同的撈票邏輯(見步驟三的撈出條件)。
查詢後的兩頁籤分流¶
當你按 查詢:
- 撈到的可異動票進 資料 頁。
- 被鎖住、不可異動的票進 鎖住資料 頁;該頁籤標題會即時顯示鎖住筆數(沒有被鎖的票時筆數區塊隱藏)。
- 查詢期間
查詢鈕停用,跑完才恢復。
結帳匯率自動帶立帳匯率¶
當查詢結果載入,系統會逐筆把 結帳匯率 設成 立帳匯率。你之後改格線裡的結帳匯率,過帳時就以你改後的值換算本幣(若結帳匯率 ≤ 0,扣款明細會退用匯率 1)。
過帳時自動產生財務分錄(最重要)¶
當你勾票後存檔,系統依目前 異動票況 自動把每張勾選的票翻譯成財務單(rp_m 主檔一筆 + rp_d 明細若干筆):
- 付票在途(CQ):主檔財務類別=
BD(付票在途)、程式類別=F、立帳日期=你填的異動日期。每張票產生一筆明細:- 交易別碼=
CQ、品號=票據單號、品名=帳戶代號、客廠=交易對象。 - 數量=1、單價=票面金額;原幣未稅=數量 × 單價(依幣別小數位四捨五入),本幣未稅=原幣未稅 × 結帳匯率。
- 摘要取交易別設定裡
CQ的交易事項;轉出/轉入科目依交易別設定與帳戶代號判定。
- 交易別碼=
-
付票兌現(CR)/電付兌現(CU):主檔財務類別分別為
BE(付票兌現)/BL(電付兌現)。每張票產生兩筆明細:- 第一筆——票據扣款:交易別碼=
CR或CU、品號=票據單號、摘要取該票的票據備註、金額算法同上。 - 第二筆——換匯(
FI):品號=#幣別、其他憑證=票據單號、數量=0、單價=0,把票面金額掛在 其他金額,再依結帳匯率換算本幣未稅。摘要取交易別設定裡FI的交易事項。
所有明細的「原幣含稅/本幣含稅」直接等於對應的未稅金額(票據異動不含稅)。主檔的傳票號碼留空,過帳後由後續流程編號。
- 第一筆——票據扣款:交易別碼=
轉出目的地是 FTRLIMA 票據異動單
本表單透過 ItemsBindingManager 以 FTRLIMA 程式類別寫入 rp_m/rp_d 兩張表,產生的就是一張財務單(FTRLIMA)。過帳成功後,回到應付票據會依新財務單號重新定位資料。
過帳完成不關閉視窗¶
存檔成功後視窗刻意不自動關閉(CloseWindowAfterSave = false),方便你接著換一個票況或換一批帳戶繼續處理。切換非查詢狀態時,資料與鎖住兩個清單會被清空。
目前未提供的延伸功能
本表單只有「查詢 → 勾選 → 轉財務單」一條主線,沒有列印、附件、簽核或 Excel 匯入匯出按鈕。畫面上沒有提供新增空白單、修改既有票面或刪除票的功能——它是「批次異動既有票」的工具,不是票據建檔程式。票據本身的建檔/修改請回應付票據(CHECKPAY)。
常見問題¶
查詢後「資料」頁是空的,票都跑到「鎖住資料」頁?
被鎖住代表那些票不符合目前票況的可異動條件,或正被其他流程鎖定,所以排到唯讀的 鎖住資料 頁、不能勾選。請確認:票況選對了(在途的票要選 付票兌現/電付兌現、庫存的票才選 付票在途)、預兌日區間有涵蓋到那批票、票別與票況選項相符(電付兌現 只撈電子付款、付票兌現 只撈支票與 L/C)。
按存檔跳出「請選擇您要異動的票據」?
過帳前必須在 資料 頁的 選擇 欄至少勾一張票。沒有任何勾選時系統會擋下並提示。
查詢被擋,說要選票況或填日期?
查詢前三個欄位是必要的:異動票況 必須選到 CQ/CR/CU 其一、預兌日截止日 不能空白、異動日期 不能空白。任一缺漏都會跳提示並中止查詢。
兌現後本幣金額看起來不對/換匯那筆是 0?
兌現的本幣金額是用 結帳匯率 換算的。查詢回來時結帳匯率預設帶立帳匯率,若你沒改而立帳匯率本身不對,本幣就會跟著不對——請在格線直接修改 結帳匯率 再過帳。換匯(FI)那筆的數量/單價本來就是 0,金額是掛在「其他金額」上的票面金額,屬正常設計。
找不到這支表單的選單入口?
它沒有獨立選單,只能從應付票據(CHECKPAY)的延伸功能(票據異動)進入。請先開應付票據,再從工具列呼叫。
相關功能¶
- 應付票據(CHECKPAY) — 本表單的進入點與票據建檔來源
- 銀行票據/財務單(O-Check 模組)
- 應收票據異動(CheckArgo) — 收票側的對應功能
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/Other/images/):
checkapgo-step1.png— 查詢條件區(異動票況下拉+預兌日區間+異動日期+帳戶代號)checkapgo-step2.png— 查詢結果「資料」頁,含可勾選的選擇欄與可編輯的結帳匯率欄checkapgo-step3.png— 「鎖住資料」頁籤(含鎖住筆數顯示)