程式資訊
- 程式 ID:
Rsheet - 所屬子系統:I.帳款管理
- 狀態:stable
收款單¶
功能簡介¶
「收款單」用來登錄向客戶(或廠商退款)收到的票據與電匯款項,並把這筆收款沖抵對應的應收帳款/應收票據,最後轉成總帳傳票。它是 AR(應收)流程的收尾單據:業務或收款櫃台把收到的支票、本票、匯款逐筆輸入,再由會計按下 沖帳 把款項對應到客戶尚未收回的帳款,沖帳後再 轉傳票 產生會計分錄。
整張單據分四個區塊:
- 主檔:收款單號、收款日期、客戶/廠商、收款別(沖帳方式)。
- 支票(票據明細):逐張票據的票別、票號、開票銀行、到期日、金額。
- 電匯(匯款明細):逐筆入帳的銀行帳戶、幣別、金額。
- 傳票分錄:沖帳後系統自動產生的會計分錄(唯讀),這一段不是手動輸入的。
收款單 vs 付款單
收款單與付款單是同一支程式邏輯的兩面:付款單收付款別為 P、收款單為 R。本表單在程式中以 收付款別 = 'R' 篩選資料。若你要登錄的是「付出去」的款項,請改用付款單。
前置需求¶
- 權限:I.帳款管理 →
I-050 收款單(瀏覽/新增/修改/刪除/列印/沖帳/取消沖帳/轉傳票)。 - 基礎資料:下列主檔/參數沒維護好,會直接影響可不可以存檔、預設值或沖帳結果——
| 資料 | 影響的結果 |
|---|---|
| 銀行帳戶主檔 | 電匯明細選帳戶代號時帶出帳戶簡稱、幣別並重算匯率 |
| 幣別與匯率資料 | 票據/電匯/分錄的匯率與本幣金額換算 |
| 收付款定義(RPDEF) | 沖帳產生分錄時要用的匯兌收益/損失等科目 |
| 系統參數 2029(暫收款客戶代號) | 批次電匯視窗預設帶入的客戶代號 |
| 系統參數 2033(收款單關帳日期) | 收款日期早於關帳日的單據不得沖帳/取消沖帳 |
| 系統參數 2035(合併或分開轉傳票) | 控制票據電匯與傳票要分開轉還是一起轉 |
| 系統參數 2042(沖帳後自動轉傳票) | 設 Y 時,按 沖帳 完成後會接著自動轉傳票 |
操作步驟¶
新增收款單¶
- 按工具列
新增。系統自動帶出預設值(見欄位連動與附加功能):公司代碼=1、收付款別=R、沖帳方式=直接沖帳、收款日期=今天。 - 輸入 客戶代號(或廠商代號)。如需指定業務員,於 業務員編號 欄手動輸入或查詢。
- 確認 收款日期 與 沖帳方式。
- 在「支票」格線逐張輸入收到的票據;在「電匯」格線逐筆輸入匯款。兩段可以只填其中一段,也可以都填。
- 按
儲存。收款單號 由系統自動編號(存檔前顯示+++),不需手動輸入。
收款單號是自動編的
收款單號欄位唯讀,新增時顯示 +++,存檔後才會帶出正式單號(R 開頭)。
修改 / 刪除¶
- 用工具列或
查詢定位到要處理的單據。 - 按
修改或刪除。 -
下列任一情況會擋住修改/刪除(沿用 VFP 規則):
- 已轉出納傳票(出納傳票號 有值)。
- 已沖帳(沖帳備註 有值)。
- 已轉沖帳傳票(沖帳傳票號 有值)。
- 收款日期 ≤ 收款單關帳日期(參數 2033)。
若要改已沖帳的單,須先
取消沖帳;要改已轉傳票的,須先在轉傳票中刪除傳票。
沖帳¶
- 在瀏覽狀態選好一張收款單,按
沖帳。 - 系統開啟沖帳作業視窗(RpfZero),帶入收款單號、客戶/廠商、收款日期、幣別匯率與收付金額,讓你把這筆款對應到客戶未收的帳款。
- 沖帳完成後,沖帳備註 會被系統填值,下方「傳票分錄」會出現對應的會計分錄。
- 若系統參數 2042 設為
Y,沖帳完成後會自動接著轉傳票。
沖帳前置檢查
按 沖帳 時,下列情況會被擋下並提示:未選資料/無收款單號、單據已作廢、客戶與廠商都空白、已轉沖帳傳票、收款日期已關帳。若沖帳備註已有值,再按 沖帳 只會以唯讀方式開啟沖帳視窗供你查餘額,不會重新沖帳。
取消沖帳¶
- 選好一張已沖帳的收款單,按
取消沖帳,回答確認視窗。 - 系統會清掉 沖帳備註,並把傳票分錄全部標記刪除後重新存檔,等於還原到沖帳前。
- 已轉沖帳傳票(沖帳傳票號有值)或已關帳的單不能取消沖帳。
轉傳票¶
- 選好已沖帳的收款單,按
轉傳票。系統把這張單的沖帳分錄寫入總帳(透過 RpshtToSliyBll)。 - 若沖帳傳票號已有值,再按
轉傳票等於要取消傳票(系統會問你是否取消);票據若被改過,會先檢查再決定能否取消。 - 轉傳票後可在「傳票分錄」格線的 沖帳傳票號 點超連結,跳到總帳傳票(SLIY)檢視分錄。
票據電匯要不要先轉、要不要分開
依系統參數 2035:設 N(分開轉)時,若同時有票據與電匯資料,必須先轉票據及電匯才能轉傳票,否則提示「請先轉票據及電匯」。轉傳票前須先有傳票分錄(已沖帳),否則提示「請先輸入傳票分錄」。
批次電匯¶
- 按
批次電匯,開啟批次電匯輸入視窗(對應 VFPRSHT_INPUT1)。 - 視窗預設帶入:收款別=R、收款日期=今天、沖帳方式=沖帳後做暫收、幣別=本位幣、匯率=1、客戶代號取自系統參數 2029(暫收款客戶代號)。
- 一次輸入多筆電匯,存檔後系統建立對應的收款單,並把畫面導到該筆新單。
列印¶
- 按
列印,開啟收款單列印頁(見收款單列印(rsheetprintpage))。 - 可依單據號碼區間或輸入人員+輸入日期區間篩選;列印頁預設帶入目前這張收款單的單號。
- 提供 5 種報表版型:收款單、收款沖帳表、收款彙總表、直式收款沖帳表、直式收款沖帳表(含沖帳明細)。
欄位說明¶
主檔欄位¶
| 欄位 | 必填 | 說明 / 格式 / 預設 |
|---|---|---|
| 收款單號 | 系統 | 唯讀,自動編號(R 開頭);新增時顯示 +++ |
| 收款日期 | ✔ | 收款發生日;新增預設今天 |
| 客戶代號 | △ | 客戶與廠商至少要有一個有值(沖帳時檢查) |
| 廠商代號 | △ | 廠商退款時使用;與客戶代號二擇一 |
| 業務員編號 | — | 手動輸入或查詢帶入 |
| 收款別 | ✔ | 對應「沖帳方式」;新增預設「直接沖帳」 |
| 備註 | — | 多行文字 |
| 沖帳備註 | 系統 | 唯讀,沖帳完成後由系統填值,可用來判斷是否已沖帳 |
| 支票金額 | 系統 | 唯讀,自動加總「支票」格線的票據金額 |
| 電匯金額 | 系統 | 唯讀,自動加總「電匯」格線的金額 |
| 出納傳票號 | 系統 | 唯讀,超連結可跳出納傳票(FTRLIMA) |
| 沖帳傳票號 | 系統 | 唯讀,超連結可跳總帳傳票(SLIY) |
支票(票據明細)欄位¶
| 欄位 | 必填 | 說明 / 預設 |
|---|---|---|
| 序號 | 系統 | 列序號 |
| 票別 | ✔ | 1.支票 / 2.本票 / 3.匯票 / 4.L/C;新增預設「支票」 |
| 開票銀行 | — | 票據開立銀行名稱 |
| 開票分行 | — | 開立分行 |
| 開票帳號 | — | 開票帳號 |
| 票據號碼 | — | 票號 |
| 幣別 | ✔ | 新增預設本位幣 |
| 匯率 | 唯讀 | 會計匯率(買價),新增預設 1 |
| 票據金額 | ✔ | 原幣票面金額 |
| 到期日 | — | 輸入後自動同步寫入預兌日;新增預設今天 |
| 預兌日 | 唯讀 | 預計兌現日,預設=到期日 |
| 票據備註 | — | |
| 禁止轉讓 | — | Y/N;新增預設 N |
| 平行線 | — | Y/N;新增預設 Y |
| 票據類別 | 唯讀 | 系統判定 |
電匯(匯款明細)欄位¶
| 欄位 | 必填 | 說明 / 預設 |
|---|---|---|
| 序號 | 系統 | 列序號 |
| 類別 | ✔ | 新增預設「電匯(TT)」 |
| 帳戶代號 | ✔ | 入帳銀行帳戶;選定後帶出帳戶簡稱、幣別並重算匯率 |
| 帳戶簡稱 | 唯讀 | 由帳戶代號帶出 |
| 金額 | ✔ | 原幣金額;輸入後自動算本幣金額(金額 × 匯率) |
| 幣別 | ✔ | 新增預設本位幣;隨帳戶代號帶出 |
| 匯率 | — | 新增預設 1;切換幣別時帶出會計匯率(買價) |
| 摘要 | — | |
| 存提款pkid | 唯讀 | 系統關聯鍵 |
| 財務單號 | 唯讀 | 系統關聯鍵 |
傳票分錄(沖帳分錄,唯讀)¶
此格線在沖帳後由系統產生,不可手動新增。主要欄位:科目代號/名稱、摘要、客廠代號、幣別、匯率、原幣借/貸方、本幣借/貸方、財務單號(超連結→AR 帳款)、部門、員工、分類索引 1~4、工作別、專案代號、單別/單號 1~3、單號、發票號碼、備註。格線下方有四個合計:原幣借方 / 原幣貸方 / 本幣借方 / 本幣貸方。
欄位連動與附加功能¶
這一節整理「輸入某欄位或按某按鈕後,系統會做什麼」,是本頁最重要的部分。
新增時的預設值(AfterAddNew)¶
當你按 新增,系統會:
- 設 公司代碼 = 1、收付款別 = R、沖帳方式 = 直接沖帳、收款日期 = 今天。
- 清空傳票分錄。
- 把電匯明細既有列的幣別設為本位幣、類別設為「電匯(TT)」。
新增票據明細列時(SetNewData → SetDefaultValue(false)):平行線 = Y、禁止轉讓 = N、幣別 = 本位幣、匯率 = 1、到期日與預兌日 = 今天、票別 = 支票。
新增電匯明細列時(SetDefaultValue):匯率 = 1、幣別 = 本位幣、類別 = 電匯(TT)。
票據明細的連動¶
- 到期日:輸入到期日後,系統自動把預兌日設成同一天(
到期日Bindingsetter)。 - 票據金額變動:任一列票據金額改變時,系統即時把所有列加總寫回主檔的支票金額(VM
ReceiveWeakEvent)。
電匯明細的連動¶
- 帳戶代號:選定銀行帳戶後,帶出該帳戶的幣別並重算匯率(
帳戶代號Bindingsetter,會計匯率/買價)。 - 金額變動:輸入金額(
原幣金額Binding)時自動重算本幣金額(金額 × 匯率,依本位幣小數位四捨五入),並把所有列加總寫回主檔的電匯金額。
切換記錄時的重算(AfterMoverRecord)¶
每次移動到不同收款單,系統會重新加總:主檔支票金額=票據列合計、電匯金額=電匯列合計,並重算傳票分錄四個合計(原幣借/貸方、本幣借/貸方),同時補上票別與電匯類別的中文說明。
工具列延伸功能對照¶
| 按鈕 | 程式對應 | 行為 |
|---|---|---|
沖帳 |
ExtendedFunction1 | 開啟沖帳視窗(RpfZero)把收款對應應收帳款;前置檢查見沖帳;參數 2042=Y 時沖完自動轉傳票 |
取消沖帳 |
ExtendedFunction2 | 清沖帳備註、刪除沖帳分錄、重新存檔;已轉傳票或已關帳擋下 |
轉傳票 |
ExtendedFunction3 | 把沖帳分錄寫入總帳;沖帳傳票號已有值則改為「取消傳票」 |
特殊修改 |
ExtendedFunction4 | 進入特殊修改模式(SpecialEdit),供已轉傳票的單據仍能修改(VFP 原意:保留備註/摘要可改) |
批次電匯 |
ExtendedFunction5 | 開啟批次電匯輸入視窗,一次建立多筆電匯收款 |
超連結¶
- 主檔 出納傳票號 → 出納傳票(FTRLIMA)。
- 主檔 沖帳傳票號 → 總帳傳票(SLIY)。
- 傳票分錄 財務單號(依單號值)/財務單主檔id(依 pkid)→ 對應的 AR 帳款單據。
列印資料來源(GetReports / RsheetPrintViewModel)¶
列印頁依條件查出主檔後,分別取出沖帳資料、票據(支票)、電匯三組明細,組合成報表。可選五種版型(見列印)。
舊版 Crystal 報表已停用
程式中保留了舊的 Crystal Report 收款表/彙總表程式碼但已整段註解,目前一律走 FastReport 版型,舊 Crystal 報表不再提供。
常見問題¶
為什麼收款單號是空的 / 顯示 +++?
收款單號由系統自動編號,存檔後才會帶出(R 開頭)。新增中顯示 +++ 是正常的,不需手動輸入。
支票金額 / 電匯金額是灰色不能改?
這兩個是系統加總欄位,分別等於「支票」與「電匯」格線的合計,會隨明細自動更新,不開放手動輸入。要改金額請改對應明細列。
按了沖帳卻沒反應 / 被擋下?
請依序檢查:是否已選一張有收款單號的單、單據是否已作廢、客戶與廠商是否都空白、是否已轉沖帳傳票、收款日期是否已早於關帳日(參數 2033)。另外若沖帳備註已有值,再按沖帳只會以唯讀方式開沖帳視窗查餘額,這是正常設計。
為什麼不能修改 / 刪除這張單?
已轉出納傳票、已沖帳(沖帳備註有值)、已轉沖帳傳票、或收款日期已關帳的單都會被擋。請先 取消沖帳(或在轉傳票中刪除傳票)後再改。已轉傳票的單若仍要調整備註/摘要,可改用 特殊修改。
轉傳票提示「請先轉票據及電匯」?
這是系統參數 2035 設為 N(分開轉)時的規則:同時有票據與電匯資料時,必須先轉票據及電匯,才能轉傳票。若要合併一次轉,請把參數 2035 改為 Y。
電匯明細的本幣金額怎麼算出來的?
本幣金額 = 原幣金額 × 匯率,依本位幣小數位數四捨五入。輸入「金額」欄會即時重算本幣金額;換帳戶代號會連動帶出幣別並重抓匯率。
相關功能¶
- 付款單(paymnt)
- 請款(payapply)
- 預收 / 預付(prepaid)
- 收款單列印(rsheetprintpage)
- 付款單列印(psheetprintpage)
- 收付款定義(rpdef)
- 帳款查詢(arapsearch)
- 收款查詢(rec_qry0)
- 總帳傳票模組
- 出納支票模組
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/I-ARAP/images/):
rsheet-step1.png— 收款單主畫面(主檔+支票+電匯+傳票分錄四區塊全貌)rsheet-step2.png— 支票(票據明細)格線輸入示意rsheet-step3.png— 電匯(匯款明細)格線輸入示意rsheet-step4.png— 沖帳視窗(RpfZero)rsheet-step5.png— 批次電匯輸入視窗