程式資訊
- 程式 ID:
Otherrp - 所屬子系統:I.帳款管理
- 狀態:stable
其他應收付¶
功能簡介¶
「其他應收付」(程式代碼 OTHERRP,財務類別固定為 H)用來建立不是由進貨/銷貨單據自動產生的應收或應付帳款——例如雜項費用、代收代付、保證金、權利金、租金等需要單獨立帳的款項。建立後會在帳上掛出一筆應收付帳款,後續可由付款單或收款單沖帳。
財會人員在需要「手動掛一筆帳」時使用本表單:先選好單據定義中設定好的財務類別(單別),填入廠商/客戶、金額、幣別與收付條件,存檔後這筆帳就進入應收付未沖明細,等待後續沖帳或轉傳票。
與一般進銷帳款的差別
一般應收付來自進貨(暫收單)或銷貨流程自動立帳;本表單則是人工立帳的入口,因此沒有品項明細,只有一筆主檔金額。
前置需求¶
- 權限:I.帳款管理 →
I-100 其他應收付的新增/修改/刪除/瀏覽/列印權限。 - 基礎資料:下列資料會直接影響本表單可選用的項目與查詢控件回填——
| 資料 | 影響的結果 |
|---|---|
| 單據定義(RPDEF) | 可選的財務類別清單(財務類別 控件只列出財務碼 H 的單別) |
| 廠商/客戶主檔 | 廠商 欄查詢來源,並回填客廠部簡稱 |
| 收付條件主檔 | 付款條件 欄查詢來源 |
| 部門主檔 | 申請部門/使用部門的代號與簡稱回填 |
| 員工主檔 | 申請人/使用人的代號與姓名回填 |
| 幣別與匯率資料 | 存檔時補算匯率(匯率 ≤0)所需的當日「關稅/賣出」匯率來源 |
操作步驟¶
新增一筆其他應收付¶
- 按工具列
新增。系統自動帶入以下預設值(見欄位連動與附加功能):- 財務單號=
+++(存檔時由系統依單別自動編號)。 - 申請日期=今天。
- 帳款期別=今年年月(例
2026/06)。 - 幣別=本位幣、匯率=1。
- 進銷分類=
內採。
- 財務單號=
- 點 財務類別 控件選擇單別(只會出現財務碼為
H的單別)。此欄必填。 - 輸入 申請日期(必填);可一併指定 申請部門/申請人、使用日期/使用部門/使用人。各代號欄以查詢控件輸入,控件會自動回填對應的部門簡稱/人員姓名/廠商簡稱。
- 在 廠商 欄輸入或查詢客廠部代號(必填)。查詢控件會帶出 客廠部簡稱。
- 視需要選 幣別、填 匯率(預設本位幣、匯率 1)。
- 在 應付原幣(原幣應收付)輸入金額,並填妥 匯率;存檔時系統依匯率算出 應付本幣(本幣應收付)。
- 視需要填寫 事由、受款人、付款方式、付款條件、付款日 / 到期日、備註。
- 按工具列
儲存。存檔前系統會檢查財務類別、申請日期、帳款期別、廠商皆已填,並把申請日期回寫為立帳日期、收付客廠號回寫為客廠部代號、補算匯率(≤0 時)與本幣金額(見欄位連動與附加功能)。

修改¶
- 用工具列上一筆/下一筆或
查詢找到要修改的單據。 - 按
修改,調整欄位後儲存。
兩種情況無法修改
- 該筆已被沖帳(沖帳原幣不為 0)時,系統會發出提示音並擋下修改。
- 該筆是由別處轉入(轉入備註有值)時,同樣不得修改。
這兩道檢核對應舊版 VFP
allowedit(VFP 以沖帳本幣判斷,新版改以沖帳原幣),用意相同:避免改動已進入後續流程的帳款。
刪除¶
找到單據後按 刪除。已沖帳或已轉入的單據比照修改限制,請先解除後續關聯才能刪除。
列印¶
按工具列 列印 可輸出單據。列印格式取自單據定義設定的報表樣板。
瀏覽只列財務碼 H
本表單瀏覽/查詢時只會撈出程式類別=H 的單據(對應 VFP browsequery 在查詢條件後自動加上 程式類別='H'),不會混到付款單、收款單等其他帳款單據。
欄位說明¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 財務單號 | 系統 | 主鍵,新增時為 +++,存檔時依單別自動編號 |
| 財務類別 | ✔ | 單別,只列財務碼 H 的單據定義;存檔必填 |
| 進銷分類 | — | 內採 / 外採,預設 內採(內部代碼 R1/R2) |
| 申請日期 | ✔ | 短日期;預設今天;存檔時回寫為立帳日期 |
| 申請部門 / 申請人 | — | 代號+簡稱/姓名,可由員工主檔帶出 |
| 使用日期 / 使用部門 / 使用人 | — | 短日期+部門/人員 |
| 帳款期別 | ✔ | 年月格式(YYYY/MM);預設今年年月;存檔必填 |
| 帳款起始日 | — | 兩位數 |
| 關係人 | — | 單一字元(Y/空白) |
| 事由 | — | 文字 |
| 廠商 | ✔ | 客廠部代號;存檔必填(存檔時回寫為收付客廠號) |
| 受款人 | — | 文字,手動輸入 |
| 幣別 | — | 預設本位幣 |
| 匯率 | — | 預設 1;外幣請手動輸入(存檔時若 ≤0 會補算當日賣出匯率) |
| 應付原幣(原幣應收付) | — | 原幣金額,輸入後算本幣 |
| 沖帳原幣 | 系統 | 已沖原幣,後續沖帳寫入;不為 0 即不可修改 |
| 應付本幣(本幣應收付) | 系統 | =原幣應收付 × 匯率(四捨五入到本位幣小數位) |
| 沖帳本幣 | 系統 | 已沖本幣 |
| 未沖金額 | 系統 | =本幣應收付 − 沖帳本幣,唯讀 |
| 付款方式 | — | 下拉,來源付款方式代碼表(C203) |
| 付款條件 | — | 收付條件號;帶出付款日與到期日 |
| 付款日 | — | 短日期 |
| 到期日 | — | 短日期 |
| 備註 | — | 文字 |
| 轉入備註 | 系統 | 唯讀;由別處轉入時帶值,有值即不可修改 |
公司代碼
主檔的公司代碼於新增時固定帶 1(建構子預設),本表單畫面不呈現此欄位、使用者不需維護。
欄位連動與附加功能¶
本節整理「輸入某欄位後系統會自動做什麼」,全部對應實際程式碼(C# Source/BLL 與 VFP 欄位事件)。
新增時的預設值(按 新增)¶
當你按 新增,系統會自動:
- 把 申請日期 設為今天。
- 把 帳款期別 設為今年年月(例
2026/06)。 - 幣別 若為空白,帶入本位幣。
- 進銷分類 若為空白,帶入
內採。 - 由主檔建構時帶入 財務單號=
+++、公司代碼=1、匯率=1、立帳日期/交易日期=今天。
查詢控件的簡稱回填(廠商/申請部門/申請人 等)¶
廠商、申請部門 / 使用部門、申請人 / 使用人、付款條件 都是查詢控件。輸入或選定代號後,控件本身會把對應的描述回填到畫面:
- 廠商 → 客廠部簡稱。
- 申請部門 / 使用部門 → 部門簡稱。
- 申請人 / 使用人 → 人員姓名。
- 付款條件 → 條件說明。
本表單未連動廠商主檔的幣別/條件/受款人
新版主檔 Source 雖然有「輸入廠商一次帶出幣別/收付條件/統一編號/帳款起始日/關係人/受款人」的方法(SetTransactionCustVendDept),但 Otherrp.xaml 的廠商欄綁定的是 客廠部代號 本體(而非觸發該方法的 客廠部代號Binding),因此本表單不會自動帶出這些值——上述欄位需要時請手動填寫。這與舊版 VFP sqlnm_cuspdp1.代號.LostFocus「帶廠商幣別/條件/受款人」的行為不同,屬已知差異。
輸入金額/匯率後(應付原幣 與 匯率)¶
- 應付原幣 與 匯率 在畫面上是一般輸入欄,輸入時不會即時重算本幣(XAML 綁定的是
原幣應收付本體,而非會觸發重算的原幣應收付Binding)。本幣應收付的重算發生在存檔時(HandleDataBeforeEndEdit呼叫SetDueAmount(),本幣應收付 = 原幣應收付 × 匯率,四捨五入到本位幣小數位)。對應 VFP原幣應收付.LostFocus、匯率.LostFocus。 - 未沖金額=本幣應收付 − 沖帳本幣,為唯讀計算欄。
幣別與匯率¶
- 幣別 欄為一般幣別下拉,匯率 為手動輸入欄。本表單未把幣別控件的匯率查詢結果接到匯率欄(XAML 的
TsCurrency未綁FXRate/TsCurrencyViewModel),故切換幣別不會自動帶當日匯率。外幣請手動輸入匯率;若存檔時匯率仍 ≤0,系統會以「otherrp/關稅/賣出/申請日期」補算一次(見下方「存檔時的處理」)。
申請日期/帳款期別¶
- 新增時 帳款期別 由 VM 帶今年年月(見上)。
- 付款條件、付款日、到期日、申請人帶部門 等 VFP 欄位事件連動(
U_PAYTERMDATE、SetApplicant、SetUsagePeriod)在本表單主畫面未啟用——XAML 綁定的都是各欄位本體而非*Binding屬性,因此不會觸發這些方法(方法本身存在於 base Source,供 paymnt/receive/payapply 等有綁*Binding的表單使用)。
存檔時的處理(按 儲存)¶
存檔流程會先檢核再整理資料:
- 必填檢核:依序檢查 財務類別、申請日期、帳款期別、廠商 是否已填,缺一即擋存並提示。
- 立帳日期 ← 申請日期:把申請日期回寫成立帳日期。
- 收付客廠號 ← 客廠部代號:回寫收付客廠號。
- 補算匯率:若匯率 ≤ 0,以「otherrp/關稅/賣出/申請日期」查當日匯率帶入。
- 重算本幣:呼叫
SetDueAmount(),以原幣 × 匯率算本幣應收付。
對應 VFP allowsave:相同的必填檢核、申請日期↔立帳日期互寫、匯率補算與收付客廠號回寫。
修改/刪除時的限制(按 修改)¶
- 沖帳原幣 ≠ 0:已沖帳,發提示音並擋下,訊息「已沖帳,不得修改」。
- 轉入備註有值:由別處轉入,擋下並提示「由別處轉來,不得修改」。
對應 VFP allowedit 的兩道檢查。
VFP 既有、新版尚未提供的延伸功能¶
舊版 VFP OTHERRP 工具列/表單還具備以下功能,新版 C# 目前的主畫面與程式碼中尚未提供,使用時請勿預期可用:
規劃中/尚未提供
- 工作流程送審(VFP
工作流程按鈕else1click/WKFLOW_ADD):將單據送審批流程。 - 快速審核(VFP
快速審核按鈕else2click/QUICKAPPROVAL):表單上直接審核。 - 附件(VFP
attachment_btn1):單據附件上傳。 - 聯絡單 ID/相關單號/傳票號碼/審核日期、審核人員、已審核 等欄位:新版主畫面未呈現這些唯讀/關聯欄位(資料表仍保留欄位)。
上述功能若日後補上,將另行更新本頁。
常見問題¶
存檔時一直被擋,提示某欄位未輸入?
本表單存檔必填 財務類別、申請日期、帳款期別、廠商 四項。其中財務類別要先在單據定義裡設定好財務碼為 H 的單別才會出現在下拉中;申請日期、帳款期別在按 新增 時已自動帶今天/今年年月,被清空才會擋。
輸入外幣金額,本幣金額沒變或是 0?
本幣=原幣 × 匯率,在存檔時才重算(畫面上輸入原幣或匯率不會即時換算)。請確認 匯率 大於 0:本表單切換幣別不會自動帶匯率,外幣需手動輸入匯率;若存檔時匯率仍 ≤ 0,系統會以當日「賣出」匯率補算一次。存檔後重新開啟該單即可看到換算後的本幣金額。
選了廠商,幣別/受款人/收付條件沒帶出來?
本表單設計上就不會從廠商主檔自動帶出幣別、收付條件或受款人(與 paymnt/receive 等表單不同,廠商欄綁的是代號本體而非連動屬性)。廠商欄只會回填客廠部簡稱;幣別、受款人、付款條件、帳款起始日等請手動填寫。
想改一筆舊單,卻被提示「已沖帳,不得修改」或「由別處轉來,不得修改」?
已被付款單/收款單沖帳(沖帳原幣不為 0)、或由其他單據轉入(轉入備註有值)的單據不允許修改或刪除,避免破壞已成立的沖帳關係。請先處理後續單據再回頭調整。
瀏覽時找不到剛建的單,或撈到別種帳款?
本表單只撈 程式類別=H 的單據,不會顯示付款單、收款單、費用申請單等其他帳款。若剛建的單沒出現,請確認查詢條件範圍(日期、廠商)涵蓋該筆。
相關功能¶
需補截圖清單
以下截圖待 runtime 驗收後補拍(放 docs/I-ARAP/images/):
otherrp-step1.png— 新增單據的主畫面全貌(含財務類別、廠商、金額區)