跳轉到

程式資訊

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

暫付申請單

功能簡介

「暫付申請單」用來向廠商建立一筆預先支付/暫付的應付款項(財務類別取功能別 S 這組設定)。當公司需要在正式進貨或費用發生前先付款給廠商(例如預付訂金、暫付款)時,由申請人在本表單登錄受款廠商、事由、金額與付款日/到期日,存檔後即在 ARAP 體系產生一筆未沖帳的應付款,後續可由付款單沖帳,或經收付款條件推算付款日。

本表單為單一主檔(無明細)的交易單據,常見使用者為會計/財務人員與請款申請人。它與費用申請單代收付同屬 rp_m 主檔家族,共用同一張 View 結構,差別只在財務類別與功能別。

前置需求

  • 權限I-040 暫付申請單 的瀏覽(查詢/列印)與修改(新增/修改/刪除)權限。
  • 基礎資料:下列主檔會影響欄位自動帶值與存檔驗證——
資料 影響的結果
廠商主檔(含幣別、收付條件號、帳款起始日、統一編號、關係人、付款方式碼) 輸入廠商後自動帶入幣別、付款條件、受款人等(見欄位連動
員工資料(申請人) 自動帶申請人姓名、申請部門、部門簡稱
收付款條件(payterm) 由收付條件號推算付款日/到期日
幣別與匯率資料 外幣單據存檔時自動補匯率(海關賣出匯率)並換算本幣
財務類別設定(收付財務類別,RPDEF) 提供本表單下拉的財務類別/單據名稱清單(功能別 S
付款方式(代碼表 C203) 付款方式下拉內容;新增時預設帶 1

操作步驟

新增一筆暫付申請

  1. 從主選單開啟 I 應收付管理 → 暫付申請單
  2. 點工具列 新增,系統自動帶入下列預設值(見欄位說明):申請人(登入者)、申請日期(今天)、帳款期別(當月)、收付款日/到期日(今天)、付款方式(1)、幣別(本位幣)。
  3. 輸入廠商(受款廠商代號)。輸入後系統會自動帶出幣別、付款條件、受款人等資料。
  4. 確認或修改事由受款人幣別
  5. 輸入原幣金額,系統自動以匯率換算金額(本幣)
  6. 視需要調整付款方式收付款日到期日備註
  7. 點工具列 儲存。系統會檢核 11 項必填欄位(財務類別、申請日期、帳款期別、廠商、事由、受款人、幣別、原幣金額>0、付款方式、收付款日、到期日),通過後寫入。

    小技巧

    備註留空時,存檔會自動把事由複製到備註,不必重打一次。

新增暫付申請單

修改

  1. 用工具列的瀏覽鈕或 查詢 定位到要修改的單據。
  2. 修改,調整欄位後 儲存

    已沖帳不得修改

    若該筆暫付已被付款單沖帳(沖帳金額不為 0),系統會發出提示音並擋下修改。請改由沖帳的付款單處理。

刪除

  1. 定位到要刪除的單據,點 刪除
  2. 本單採作廢式刪除(保留單號、標記作廢),作廢後該筆暫付不再列入未沖帳餘額。已沖帳的單據同樣受「不得修改」防呆保護,請先處理沖帳關係。

列印

  1. 定位到要列印的單據,點工具列 列印
  2. 系統以目前單據的財務單號為起訖條件,套用報表 I040-1 暫付申請單(A4)輸出。

    備註

    列印頁的單號起訖預設帶入目前單據的財務單號,相關設定見暫付申請單列印

欄位說明

欄位 必填 說明/格式/預設
財務單號 系統自動產生(新增時顯示 +++),唯讀
財務類別 由財務類別控件(TsFinanceType)下拉選取,清單限功能別 S;新增時不預設值,須自行選取
申請日期 yyyy/MM/dd,新增預設今天
申請人 員工代號;新增預設登入者,連動帶姓名/申請部門
申請部門 隨申請人自動帶入,亦可手動指定
事由 文字(最長 250 字),暫付原因
廠商 受款廠商代號(綁定 收付客廠號),連動帶幣別/條件/受款人
受款人 文字(最長 80 字),預設帶廠商簡稱,可改
幣別 幣別代碼;新增預設本位幣;變更時自動帶匯率
匯率 隨幣別自動帶;存檔若≤0 自動補海關賣出匯率
原幣金額 必須 > 0;輸入後自動換算本幣金額
金額(本幣應收付) 系統計算=原幣金額 × 匯率(四捨五入至本幣小數位),唯讀
沖帳原幣/沖帳本幣 系統維護的已沖帳金額,唯讀;不為 0 即不得修改
帳款期別 yyyy/MM,新增預設當月;本表單為手動輸入欄(申請日期變更不會自動改寫帳款期別)
帳款起始日 隨廠商帶入(影響到期日推算)
付款方式 代碼表 C203;新增預設 1
收付款日 yyyy/MM/dd,新增預設今天;可由收付條件推算
到期日 yyyy/MM/dd,新增預設今天;可由收付條件推算
備註 文字(最長 999 字);存檔留空時自動帶事由
轉入備註 由他處轉入時的備註,唯讀(系統產生欄位顏色標示)

新增單據的內部預設值

新增時系統還會在背景設定:公司代碼=1匯率=1立帳日期/交易日期=今天(皆來自 Source 建構子);存檔時 立帳日期 會被設為與申請日期一致、收付客廠號 同步為廠商代號

欄位連動與附加功能

本節整理「輸入某欄位/按某按鈕後系統做什麼」,全部來自實際程式碼(ViewModel/Source/SaveBll 與 VFP prepaid class)。

新增時的自動帶值(AfterAddNew

當你點 新增,系統會:

  • 申請人設為登入者,並帶出申請人姓名;再依員工資料帶申請部門部門簡稱
  • 申請日期=今天;帳款期別=當年當月(yyyy/MM)。
  • 到期日=今天、收付款日=今天。
  • 付款方式預設代碼 1
  • 幣別若為空,帶入本位幣(Context.Env.LocalCurrency)。

輸入「申請人」(申請人BindingSetApplicant

當你輸入或選取申請人,系統會依員工資料自動帶:申請人姓名申請部門部門簡稱

VFP 版的「申請人→使用人」連動尚未提供

VFP 原版在申請人輸入後,會把空白的使用人補成同一人(申請人.代號.LostFocus)。新版 C# 尚未移植「使用人/使用部門/使用日期」這組欄位,本表單目前不顯示也不帶這些值。

輸入「廠商」(收付客廠號BindingSetTransactionCustVendDept

這是本表單最重要的連動。當你輸入廠商代號,系統依廠商主檔一次帶入多個欄位:

  • 統一編號帳款起始日關係人 直接套用廠商設定。
  • 幣別:廠商有設定幣別時帶入(TsCurrency 控件偵測到幣別變更會自動帶當期匯率);廠商沒設幣別則維持原本的本位幣。
  • 收付條件號:套用廠商的收付條件,並立即觸發到期日推算(放在帳款起始日之後設定,確保用新的起始日計算)。
  • 付款方式碼:套用廠商的付款方式。
  • 受款人客廠簡稱 預設帶廠商簡稱(受款人之後可手動改)。
  • NeedUpdateCustVendCode 為真時,客廠部代號客廠部簡稱 同步成此廠商。

客廠部代號由廠商連動帶入(無獨立輸入框)

本表單 XAML 只有「廠商」一個輸入框(綁 收付客廠號Binding),畫面上沒有獨立的客廠部代號欄位SetTransactionCustVendDeptNeedUpdateCustVendCode 為真時會自動把客廠部代號客廠部簡稱同步成所選廠商,這也是存檔驗證真正檢查的欄位(見存檔驗證)。 程式另有一條 客廠部代號Binding(變更時帶客廠部簡稱、收付客廠號為空則補同代號並觸發廠商連動,對應 VFP sqlnm_sp1.代號.LostFocus),但本表單未綁定該欄,使用者無法直接觸發。

變更「幣別/匯率」與「原幣金額」

  • 幣別:由 TsCurrency 控件控制,變更幣別時自動帶出對應匯率。
  • 原幣金額原幣應收付Binding):輸入後立即呼叫 SetDueAmount,以 原幣金額 × 匯率 重算金額(本幣應收付),四捨五入至本幣小數位。

手改匯率不會即時重算本幣

新版的匯率輸入框為一般綁定,手動修改匯率後本幣不會自動重算;不過存檔時若匯率≤0,系統會自動補匯率並重算本幣(見下)。若需匯率變動後本幣同步,請重新輸入一次原幣金額觸發重算。(VFP 原版在 匯率.LostFocus 會即時重算,此差異為已知待辦。)

輸入「收付條件號」(收付條件號BindingSetDueDate

設定收付條件號後,系統查收付款條件表,帶出條件說明,並依「帳款起始日/交易日期/發票日期」推算出到期日收付款日

收付條件 lookup 欄位尚未顯示

本表單 XAML 中的「付款條件」查詢欄目前為註解狀態(尚未移植 lookup UI)。收付條件號仍會在輸入廠商時由廠商主檔帶入並推算付款日/到期日,只是畫面上沒有獨立的條件選擇框。

存檔時的補值與重算(HandleDataBeforeEndEdit

儲存 時,存檔前系統會自動:

  1. 備註留空 → 帶入事由
  2. 收付客廠號客廠部代號(兩者同步)。
  3. 立帳日期申請日期
  4. 匯率 ≤ 0 → 以 U_Blrate海關(Customs)賣出(Sell)匯率(依幣別與申請日期),填入匯率欄並呼叫 SetDueAmount 重算本幣。

存檔驗證(AllowSave

存檔時逐項檢核,任一不過即擋下並提示:財務類別申請日期帳款期別廠商(客廠部代號)事由受款人幣別原幣金額 > 0付款方式 > 0收付款日到期日

接上驗證後的行為變化

過去(驗證未接線時)存得進去的不完整單(無廠商、無事由、無受款人…)現在會被擋下,這是預期行為。

修改防呆(AllowEditHandle

修改 時,若該筆沖帳原幣 ≠ 0(已被沖帳),系統發出提示音並擋下修改。

列印(GetPrintViewModel / TemporaryPrintViewModel

列印 開啟列印頁,預設以目前單據的財務單號同時帶入單號起/訖;報表清單為 I040-1 暫付申請單(報表名 Temporary、A4、資料來源 rpt_i040_prepaid_report1)。起訖單號任一為空白時即不產生報表資料(兩格都要填)。

尚未提供/規劃中的功能(VFP 有、新版尚未移植)

下列 VFP 原版功能在新版目前不可用

  • 工作流程/快速審核按鈕:VFP prepaid 有「工作流程」「快速審核」兩顆按鈕(送審、暫付單流程)。新版改採集中式 workflow(架構決策),本表單不再各自提供這兩顆按鈕。
  • 附件按鈕:VFP 有 attachment_btn,新版本表單尚未移植附件功能。
  • 使用人/使用部門/使用日期 欄位:VFP 有但新版未顯示。
  • 沖帳口徑差異:修改防呆新版以沖帳原幣判斷,VFP 以沖帳本幣判斷,外幣尾差為已知邊角差異。

常見問題

存檔時出現「原幣金額未輸入」或「廠商未輸入」?

暫付申請單有 11 項必填檢核:財務類別、申請日期、帳款期別、廠商、事由、受款人、幣別、原幣金額需大於 0、付款方式、收付款日、到期日。請確認紅框欄位都已填,且原幣金額不是 0。

金額(本幣)一直是 0?

本幣金額=原幣金額 × 匯率,於輸入原幣金額時計算。若你是先改匯率再看金額,本幣不會即時重算;請重新輸入一次原幣金額,或直接存檔(匯率≤0 時系統會補匯率並重算本幣)。詳見欄位連動與附加功能

輸入廠商後幣別/受款人沒帶出來?

幣別、收付條件、受款人是依廠商主檔帶值。若廠商沒設幣別,幣別會維持原本的本位幣;受款人則帶廠商簡稱。請先確認該廠商主檔資料完整。

想修改舊單卻被擋住,提示「已沖帳,不得修改」?

該暫付已被付款沖帳(沖帳金額不為 0),不能直接改。請從沖帳它的付款單處理,或先解除沖帳關係。

找不到「工作流程」「快速審核」「附件」按鈕?

這些是 VFP 舊版的按鈕。新版採集中式 workflow,暫付單不再各自提供工作流程/快速審核按鈕;附件功能本表單尚未移植。詳見尚未提供/規劃中的功能

相關功能


需補截圖清單

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

  1. prepaid-step1.png — 暫付申請單新增畫面全貌(含財務類別、廠商、金額、付款日等欄位)