跳轉到

程式資訊

  • 程式 IDReceive
  • 所屬子系統:I.帳款管理
  • 狀態:stable

收款 / 應收立帳

功能簡介

「收款 / 應收立帳」是應收帳款(AR)的立帳單據:把對客戶的各種應收款項(出貨、訂金、折讓、退貨、暫收、稅金調整等)登錄成一張張財務單,作為後續收款單沖帳、帳齡分析與轉傳票的來源。它是 付款 / 應付立帳 的收款側對應表單,兩者共用同一組 rp_m / rp_d 主明細結構。

每張單據以財務類別(出貨 12、退貨 21、折讓 22、暫收 25…)決定金額計算與檢核規則。會計或業務人員在出貨、退貨後於此建立應收,待客戶實際付款時再以收款單沖帳。

財務類別決定單據行為

本表單以財務類別驅動:不同類別的金額算法、必填欄位、可否修改都不同。財務類別的代碼與名稱維護在財務單據定義。常見類別:12 出貨、21 銷貨退回、22 折讓、25 暫收、15 稅金、19 應收調整(原幣)、26 折扣、23 待抵、31 非應收發票、14 雜項、11 訂金。

前置需求

  • 權限:I.AR/AP → I-020 收款/應收立帳 的瀏覽、新增、修改、刪除、列印權限。轉傳票、修改客戶、特殊修改另有獨立權限旗標。
  • 基礎資料:下列主檔/參數會直接影響本表單可帶出的預設值與檢核——
資料 影響什麼
客戶主檔 輸入收款客戶時自動帶出幣別/帳款起始日/關係人/統一編號/收付條件號/付款方式;查無客戶代號則擋下
財務單據定義 (RPDEF) 財務類別清單(R 開頭)與各類別的金額計算規則
稅別資料 稅別的稅率;輸入發票金額時據以反算稅額、明細自動算稅
收付條件 收付條件號據以推算收款日/到期日
幣別/匯率資料 幣別改變時由匯率表帶出當日匯率,連動換算本幣金額
系統參數 2029(暫收客戶代號) 修改客戶 功能判斷暫收單是否要連動產生收款單流程

操作步驟

新增一張應收單

  1. 按工具列 新增。系統自動帶入預設值(見欄位說明):本月的帳款期別、預設進銷分類、本位幣別匯率 1
  2. 選擇財務類別(例如 12 出貨)。
  3. 輸入收款客戶代號:系統自動帶出該客戶的幣別、帳款起始日、關係人、統一編號、收付條件號等(詳見欄位連動與附加功能)。
  4. 確認/輸入交易日期:系統會以交易日期前 7 碼自動填入帳款期別
  5. 視單據需要填入發票號碼/發票日期/發票金額/稅別稅額可直接輸入,或於儲存時依財務類別由系統重算(見儲存時的檢核與金額重算)。
  6. 在下方明細格輸入品號、數量、單價、其他金額等;輸入後系統自動計算明細的原幣未稅/本幣未稅並彙總到主檔金額。
  7. 儲存。儲存前系統依財務類別執行檢核與金額重算(見欄位連動與附加功能)。

倉庫欄位

財務類別為 12 出貨(且非由他處轉入)時,倉庫為必填,儲存時會寫入單號欄;其餘類別(自增、折讓)若需要也可手動輸入。

修改 / 刪除

  1. 移動到要處理的單據,按 修改刪除
  2. 系統會檢查是否允許異動。下列情況會被擋下(見常見問題):
    • 轉入備註含「舊資料」。
    • 已沖帳(沖帳原幣 ≠ 0)。
    • 已轉傳票(傳票號碼有值)。
    • 暫收單(財務類別 25) 不得一般修改/刪除。
    • 由他處轉入(轉入備註有值)的單據不得修改。

列印

列印 開啟應收列印視窗,系統自動帶入目前單據的財務單號(起訖同一張)、進銷分類與帳款期別作為列印條件。詳見應收帳款列印

查詢

使用工具列的查詢/搜尋面板,依財務單號、客戶、日期等條件定位單據(查詢僅限程式類別為 R 的應收資料)。

欄位說明

主檔(單頭)

欄位 必填 說明 / 格式 / 預設
財務單號 系統產生 唯讀,存檔後由系統依財務類別編號
財務類別 R 開頭的應收類別(出貨 12、退貨 21、折讓 22…),決定金額算法與檢核
收款客戶 收付客廠號;輸入後自動帶幣別/帳款起始日/關係人等
出貨客戶 客廠部代號;空白存檔時補成收款客戶
進銷分類 新增時預設帶入系統第一筆銷貨分類
交易日期 連動填入帳款期別(前 7 碼)
立帳日期 預設今天;連動填入帳款期別
帳款期別 ✔(暫收除外) 格式 YYYY/MM,預設當月;暫收(25)可免
倉庫 視類別 出貨類(12)必填,存檔寫入單號;瀏覽時自動帶單號前 6 碼
訂單編號 對應銷售訂單編號
倉單號 / 參考單號 系統 唯讀,由轉入來源帶入
幣別 新增預設本位幣;輸入客戶時改帶客戶幣別
匯率 預設 1,需 > 0;幣別變更時由匯率表帶當日匯率
發票號碼 / 發票日期 / 統一編號 / 發票抬頭 開立發票資訊
稅別 ✔(部分類別除外) 暫收 25、待抵 23、折扣 26、退貨 21 可免稅別
發票金額 開立發票的金額;供 22 折讓 / 19 應收調整 / 26 折扣等類別於儲存時算應收付
稅額 可直接輸入;儲存時若為自動算稅類別(11/12/21/31/14)會由明細稅額彙總覆寫
收付條件號 帶客戶條件;連動算收款日/到期日
收款日 / 到期日 由收付條件+帳款起始日推算
專案代號 帶出專案簡稱
原幣應收付 / 本幣應收付 系統 唯讀,由明細彙總與類別規則算出
沖帳原幣 / 沖帳本幣 / 未沖金額 系統 唯讀,由收款單沖帳回填
轉入備註 系統 唯讀,標示由他處轉入;有值通常不得修改
備註 自由文字

明細(單身)

欄位 必填 說明 / 格式 / 預設
序號 系統 列序
品號 帶出品名/單位
品名 / 單位 / 客廠品號 品號帶出,可改
數量 / 單價 / 其他金額 輸入後自動算未稅金額
原幣未稅 / 本幣未稅 / 原幣含稅 / 本幣含稅 系統 唯讀,由數量×單價+其他金額×匯率算出
沖帳原幣 / 沖帳本幣 系統 唯讀,沖帳回填
科目代號 / 摘要 修改模式下可編輯
其他憑證 系統 有值代表已產生沖帳憑證,該列鎖定不可編輯

欄位連動與附加功能

這一節說明「輸入某欄位 / 按某按鈕後,系統會做什麼」,全部來自實際程式碼(C# ViewModel / Source 與 VFP 原版欄位事件)。

新增時的預設值(AfterAddNew)

當你按 新增,系統會自動:

  • 帳款期別 設為「當年/當月」(格式 YYYY/MM)。
  • 進銷分類 帶入系統的第一筆應收銷貨分類。
  • 幣別 在空白時帶入本位幣,匯率由 base 給 1

輸入「收款客戶」後(最重要的連動)

當你在收款客戶輸入客戶代號(離開欄位時),系統呼叫 SetTransactionCustVendDept

  1. 以代號查客戶主檔,帶出客廠簡稱/受款人
  2. 帶入客戶的統一編號、帳款起始日、關係人、付款方式碼
  3. 客戶若有設定幣別,改帶客戶幣別(TsCurrency 控件偵測到幣別變更會自動帶當日匯率);客戶無幣別則維持原本的本位幣。
  4. 帶入客戶的收付條件號,並接著呼叫 SetDueDate 推算收款日/到期日(此步驟刻意排在帳款起始日之後,才會用到正確的起始日)。
  5. 出貨客戶(客廠部代號)若有輸入而收款客戶仍空白,會反向把收款客戶補成出貨客戶。

查無客戶代號

VFP 原版在查無客戶代號時會跳「查無此客戶代號」並清空幣別/收付條件。新版以客戶主檔查詢為準,查不到就不帶值。

日期欄位連動帳款期別

  • 輸入交易日期:自動把帳款期別設為交易日期的前 7 碼(YYYY/MM);SetDate 同時同步立帳日期。對應 VFP 交易日期.Valid
  • 輸入立帳日期:同樣連動帶帳款期別前 7 碼。

發票金額 / 稅額怎麼來

  • 稅額在新版可直接於欄位輸入。它另外會在儲存時被系統重算:自動算稅類別(11/12/21/31/14)會把明細稅額彙總覆寫到主檔稅額;折讓(22)/應收調整(19)/折扣(26)/稅金(15)等類別則用 發票金額 + 稅額 等公式回算應收付(見下方「儲存時的檢核與金額重算」)。
  • 發票金額本身只是記錄欄位,輸入時不會即時連動稅額;它在儲存時供上述折讓/調整類別計算應收付之用。

VFP 的『輸入發票金額即時反算稅額』未移植

VFP 原版有 發票金額.LostFocus:離開發票金額欄時依稅別稅率即時算出稅額(並對「鈞寶電子(蘇州)」採含稅特例)。新版 C# Twork_arp_vw_rp_mSource 的發票金額/稅額為一般欄位,沒有這個即時連動;稅額改由手動輸入或儲存時的金額重算決定。請勿期待輸入發票金額後稅額會自動跳動。

「收付條件號」連動收款日 / 到期日

  • 輸入收付條件號:呼叫 SetDueDate,以收付條件+帳款起始日/交易日期/發票日期推算並回填收款日到期日,同時帶出條件說明。對應 VFP 收付條件.代號.LostFocus
  • 稅別會在儲存時參與自動算稅(見下方「儲存時的檢核與金額重算」)。

幣別 / 匯率連動明細金額

主檔的幣別匯率變動時(編輯狀態下):

  • 幣別:所有明細列的幣別同步成主檔幣別。
  • 匯率:每一明細列呼叫 CalculateAmount,以新幣別/匯率重算本幣金額。

對應 VFP 的 幣別.LostFocus(由匯率表帶買入匯率)與明細金額重算。

明細輸入後自動算未稅(計算未稅)

在明細格輸入數量/單價/其他金額並離開該欄時,對應的 數量Binding / 單價Binding / 其他金額Binding 屬性會呼叫 TaxCalculator.SetDetail,重算該列的:

  • 原幣未稅數量 × (單價 + 代工單價) + 其他金額(本表單無代工單價欄,等同 數量 × 單價 + 其他金額,依幣別小數位數四捨五入)。
  • 本幣未稅原幣未稅 × 匯率(依本位幣小數位數四捨五入)。
  • 連同原幣含稅/本幣含稅也一併由稅率算出。

對應 VFP txt數量.LostFocus / txt單價.LostFocus / txt其他金額.LostFocus計算未稅。輸入品號品號Binding)會帶出品名/單位並依品號的庫存管制屬性設定交易別碼;VFP 版本則在 sql_mno1.LostFocus 補品名與單位。

儲存時的檢核與金額重算(AllowSave)

儲存 時,系統依序檢核並按財務類別重算金額:

  1. 必填檢核:財務類別、交易日期、立帳日期、客戶代號必填;帳款期別在非暫收(25)時必填;稅別在非 25/23/26/21 類別且為新增/複製/修改時必填;幣別必填、匯率須 > 0。
  2. 財務類別一致性:除新增外,財務單號需以財務類別開頭,否則擋存(不可變更財務類別)。
  3. 出貨(12)專屬:倉庫必填並寫入單號;明細至少要有一列「原幣未稅 ≠ 0」,否則提示「明細請輸入金額」。
  4. 本幣換算(非暫收 25):幣別等於本位幣時匯率設 1、本幣應收付=原幣應收付;否則本幣應收付=原幣應收付×匯率,並把程式類別設為 R
  5. 自動算稅:僅在「11 訂金 / 12 出貨 / 21 退貨 / 31 非應收發票 / 14 雜項」且非轉入單時,呼叫 TaxCalculator 自動算稅。
  6. 各類別金額公式
    • 15 稅金:應收付 = 稅額。
    • 19 應收調整 / 26 折扣:應收付 = 發票金額 + 稅額(本幣再乘匯率)。
    • 22 折讓:應收付 = 發票金額 + 稅額。
  7. 清理空額明細:原幣未稅為 0 的明細,在 19/22/26 類別會標記刪除。
  8. 沖帳保護:本幣應收付不得小於沖帳本幣,否則提示「金額小於沖帳金額」。

工具列延伸功能

動作 按鈕 做什麼
銷貨轉入 ExtendedFunction1 開啟「銷貨轉入應收 (RECEPDT)」視窗,挑選出貨資料轉成應收明細,完成後定位到產生的單據
暫估轉 AR ExtendedFunction2 開啟「暫估轉應收 (RECEPDT2)」視窗,把暫估應收轉成正式應收,完成後定位到該單
轉傳票 ExtendedFunction3 開啟轉總帳傳票視窗(ArToGl),將目前應收單轉成總帳傳票;可回沖
特殊修改 ExtendedFunction4 進入特殊修改模式(暫收 25 不適用),放寬部分欄位(如科目代號、單位、摘要、原幣應收付)以供調整
修改客戶 ExtendedFunction5 對暫收單(25)改客戶代號(走「改號」繞過一般修改限制);若原客戶為系統參數 2029 的暫收客戶,會連動到收款單流程改號並重新審核
列印 IPrintViewModel 以目前單據條件呼叫應收列印

VFP 有、新版尚未提供的延伸功能

VFP 原版工具列另有 批改客戶(_CHANGENO_1)、轉入折讓(RECEPDT_DISC)、發票統計(RP_S)等按鈕。新版 C# ReceiveViewModel 目前接這幾支(FromCostco 等亦為保留/註解狀態),請勿描述為可用。VFP 的「查詢收款單鈕」(列出本應收已被哪些收款單沖帳)在新版亦尚未提供。

常見問題

按「修改」卻跳出不得修改的訊息?

應收單在下列任一情況都不允許修改:轉入備註含「舊資料」、已沖帳(沖帳原幣 ≠ 0)、已轉傳票(傳票號碼有值)、財務類別為暫收(25)、或由他處轉入(轉入備註有值)。暫收單若要改客戶,請改用工具列的 修改客戶

輸入了客戶卻沒帶出幣別 / 收付條件 / 帳款起始日?

這些值來自客戶主檔。請確認該客戶在客戶主檔已維護幣別、收付條件號、帳款起始日;客戶若沒設幣別,系統會保留目前的本位幣而不覆蓋。詳見輸入「收款客戶」後

新增的單為什麼預設是本位幣、匯率 1?

這是設計:新增時若幣別空白即帶本位幣、匯率帶 1。等你輸入外幣客戶或手動改幣別後,匯率才會由匯率表帶當日值。對應 AfterAddNew 與 base 預設。

出貨單(財務類別 12)存不了,說「明細請輸入金額」或「請先輸入倉庫」?

出貨類在非轉入情況下要求:倉庫必填、且明細至少一列「原幣未稅 ≠ 0」。請補上倉庫代號並確認明細數量×單價有金額。

明細金額 / 稅額一直是 0?

原幣未稅由「數量 × 單價 + 其他金額」即時計算,請確認這三欄有值。稅額不會在輸入發票金額時即時跳動(VFP 的即時反算未移植):自動算稅類別(11/12/21/31/14 且非轉入單)會在儲存時由明細稅額彙總出主檔稅額,請確認稅別正確且明細有金額;其餘類別的稅額需手動輸入。

改了幣別或匯率,本幣金額沒更新?

幣別/匯率連動只在編輯狀態下重算明細;若仍未更新,重新進入修改、調整匯率欄即可觸發明細 CalculateAmount。儲存時系統也會再依本位幣口徑統一換算一次。

相關功能


需補截圖清單

以下截圖待 runtime 驗收後補拍(放 docs/I-ARAP/images/):

  1. receive-step1.png — 新增單據的主檔輸入畫面(含財務類別、收款客戶、日期、幣別匯率區)
  2. receive-step2.png — 明細格輸入與自動算出的原幣/本幣未稅
  3. receive-step3.png — 工具列延伸功能(銷貨轉入 / 暫估轉 AR / 轉傳票 / 特殊修改 / 修改客戶)
  4. receive-step4.png — 應收列印條件視窗