程式資訊
- 程式 ID:
Accexp - 所屬子系統:Q.固定資產
- 狀態:stable
預付費用¶
功能簡介¶
「預付費用」用來登錄一筆一次付清、需分期攤提的費用(例如保險費、年度授權費、預付租金等),並由系統依費用起始日/截止日自動拆出每個月的攤提金額,再依各部門的製費/管費/研費/營費分攤率把費用攤到對應的會計科目上。
整支表單一筆「費用編號」對應三張資料:
- 預付費用(主檔):費用編號、金額、起訖期間、四組費用科目、來源單據連結。
- 費用攤提表(右側明細):系統按月攤提的清單(攤提年月、攤提金額、累計攤提、傳票號碼)。
- 費用分攤表(左下明細):各部門的分攤率設定。
由會計/成本人員建立,建立後再透過分攤傳票依月份把該月攤提金額轉成總帳傳票。資料來源可由暫付款/費用單匯入,省去重複輸入廠商、金額、期間。
前置需求¶
- 權限:Q.固定資產 →
Q-020 預付費用的相應功能權限(瀏覽/新增/修改/刪除/列印);轉傳票另需「其他功能1」(分攤傳票)權限。 - 基礎資料:下列主檔/參數會影響本表單的帶值與存檔——
| 資料 | 影響的結果 |
|---|---|
| 廠商主檔 | 廠商代號輸入後自動帶廠商簡稱;匯入時亦由此補簡稱 |
| 部門主檔 | 分攤表的部門代號輸入後帶部門簡稱 |
| 會計科目(ACCL) | 四組費用科目與資產科目的搜尋與驗證 |
| 單據類別 226(預付費用類別) | 費用類別碼下拉選單的來源 |
| 暫付款/各項攤提單(FTRLIMA) | 匯入來源;需有財務類別 83/52/56 且尚未拋轉的攤提資料 |
| 傳票參數(SLIY 相關) | 分攤傳票轉拋時產生的總帳傳票 |
預設攤提採「月折舊」
系統提供逐日(AmortizeByDay)與月折舊(NormalAmortize)兩種攤提演算法,本表單的計算攤提按鈕固定採用月折舊,依起訖月份平均分攤,與固定資產折舊一致;逐日攤提目前未在畫面上提供。
操作步驟¶
新增一筆預付費用¶
- 按工具列
新增,系統帶入預設值:費用起始日=今天、費用截止日=今天 +5 年、建檔日期=今天,並在分攤表預先放一列製費分攤率 100 的空白列。 - 在識別區輸入費用編號(主鍵,必填,最長 20 碼),並選費用類別碼(下拉,必填)。
- 在基本資料區輸入費用名稱、部門代號、廠商代號、製單日期、保單號碼。
- 在期間與金額區確認/調整費用起始日、費用截止日,輸入費用金額。
- 在會計科目區填入資產科目與四組費用科目(製造/營業/管理/研發費用科目);有用到的分攤率對應的科目不可空白(見欄位連動)。
- 在左下費用分攤表逐列輸入各部門的製費/管費/研費/營費分攤率,四種分攤率合計需為 100。
- 按期間與金額區的
計算攤提,系統依起訖日把費用按月拆到右側費用攤提表。 - 按工具列
存檔。存檔前會檢核費用編號、分攤率合計、科目是否齊全(見常見問題)。
由暫付款/費用單匯入¶
- 在新增狀態下,按費用編號欄右側的
...按鈕。 - 系統撈出符合條件的暫付款/各項攤提資料(財務類別 83/52/56、進銷分類為「3.各項攤提」或「7.直沖攤提」、且尚未被任何預付費用引用),開啟挑選視窗。
- 選一筆後,系統自動帶入費用起始日/截止日、廠商代號(含簡稱)、傳票號碼、財務單 pkid/財務單號、費用金額、費用名稱。
- 費用編號需自行輸入(匯入不含此欄),其餘資料補完後即可
計算攤提並存檔。
修改 / 刪除¶
- 用工具列查詢或翻頁找到既有費用編號後按
修改。 - 修改金額或起訖日後若要重算攤提,先把攤提表清空再按
計算攤提(攤提表中只要有任何一列已填攤提日期就會擋住重算,見常見問題)。 - 按
刪除可整筆刪除;攤提金額 ≤ 0 的攤提列、以及部門空白或分攤率全為 0 的分攤列會在存檔時自動標記刪除。
列印¶
按 列印 開啟預付費用報表頁,輸入年、月、起/迄費用編號(迄預設 zzzz、起/迄預設帶當前費用編號)後出表。
分攤傳票(轉總帳)¶
按工具列其他功能1(分攤傳票),開啟轉傳票視窗,輸入要結轉的年月後把該月攤提金額拋轉成總帳傳票,詳見欄位連動與附加功能。
欄位說明¶
主檔(識別 / 基本資料 / 期間與金額 / 會計科目)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 費用編號 | ✔ | 主鍵,最長 20 碼。新增初值為 +++,存檔時若仍為空或 +++ 會被擋下 |
| 費用類別碼 | ✔ | 下拉,來源單據類別 226(C226)。空白擋存檔 |
| 財務單號 | — | 來源財務單編號;唯讀,超連結可跳至 PAYAPPLY |
| 傳票號碼(主檔) | — | 系統產生;唯讀,超連結可跳至 SLIY(總帳傳票) |
| 費用名稱 | — | 最長 60 碼;匯入時自動帶入 |
| 部門代號 / 部門簡稱 | — | 輸入代號帶簡稱(DeptSearch) |
| 廠商代號 / 廠商簡稱 | — | 輸入代號帶簡稱(VendorSearch) |
| 製單日期 | — | 短日期;VFP 註記為「預設傳票日」 |
| 保單號碼 | — | 最長 20 碼,供保險類費用記錄保單 |
| 費用起始日 | ✔ | 短日期;新增預設今天。攤提的第一期月份 |
| 費用截止日 | ✔ | 短日期;新增預設今天 +5 年。攤提的最後一期月份 |
| 費用金額 | ✔ | 幣別格式;攤提總額來源 |
| 資產科目 | — | 會計科目搜尋(AcclSearch) |
| 製造費用科目(費用科目1) | 視分攤率 | 製費分攤率 ≠ 0 時必填 |
| 營業費用科目(費用科目2) | 視分攤率 | 營費分攤率 ≠ 0 時必填 |
| 管理費用科目(費用科目3) | 視分攤率 | 管費分攤率 ≠ 0 時必填 |
| 研發費用科目(費用科目4) | 視分攤率 | 研費分攤率 ≠ 0 時必填 |
| 備註 | — | 最長 60 碼 |
費用分攤表(左下明細)¶
| 欄位 | 必填 | 說明/格式/預設 |
|---|---|---|
| 部門代號 / 部門簡稱 | ✔(有分攤率時) | 輸入代號帶簡稱 |
| 製費分攤率 | — | 整數百分比;新增時系統預放一列 100 |
| 管費分攤率 | — | 整數百分比 |
| 研費分攤率 | — | 整數百分比 |
| 營費分攤率 | — | 整數百分比 |
| 備註 | — | 最長 30 碼 |
四種分攤率合計需為 100
系統在存檔時把所有「有部門且分攤率>0」列的四種分攤率全部相加,總和必須等於 100,否則擋存。
費用攤提表(右側明細,由系統計算)¶
| 欄位 | 說明 |
|---|---|
| 攤提年月 | YYYY/MM,由起始日逐月遞增 |
| 攤提金額 | 該月分攤金額(首/末期可能不等額,見欄位連動) |
| 攤提日期 | 唯讀;分攤傳票轉拋當月時回填 |
| 傳票號碼 | 唯讀;該月攤提轉總帳後回填,超連結可跳 SLIY |
| 累計攤提 | 至該月為止的攤提累計 |
欄位連動與附加功能¶
新增時的預設值(AfterAddNew)¶
當你按 新增,系統會:
- 把費用起始日設為今天、費用截止日設為今天 +5 年、建檔日期設為今天。
- 清空費用攤提表與費用分攤表。
- 在費用分攤表預先放一列、製費分攤率=100 的空白列,方便你直接接著填部門。
輸入廠商 / 部門代號自動帶簡稱¶
- 當你在廠商代號輸入代號,系統會帶出廠商簡稱(VendorSearch 控件)。
- 當你在部門代號(基本資料區或分攤表)輸入代號,系統會帶出部門簡稱(DeptSearch 控件)。
按 計算攤提 自動拆出每月攤提(CalculateAmortizationExecute → NormalAmortize)¶
當你按期間與金額區的 計算攤提,系統會:
- 先檢核:費用編號不可空白、攤提表沒有任何一列已填攤提日期、費用起始日/截止日都要有值——任一不符會跳訊息並中止。
- 依月折舊邏輯把費用金額拆成 N 期填入右側攤提表:
- 起始日是該月 1 號時:每期金額=費用金額 ÷ 期數,末期吸收尾差(金額 − 首期 − 其餘各期合計)。
- 起始日不是 1 號時:按天數加權——首期照「起始日到月底的天數」、末期照「截止日當月天數」、中間各期以 30 天為基準分攤,末期同樣吸收尾差。
- 逐列回填攤提年月、攤提金額、累計攤提。
重算攤提前要先清空攤提表
計算攤提 偵測到攤提表已有任何一列「攤提日期」非空時會直接擋下並提示。要重算(例如改了金額或起訖日)必須先把攤提表清空再按一次。
分攤率連動費用科目(存檔檢核,AccexpSave.AllowSave)¶
存檔時,系統逐列看分攤表中「有部門代號且四種分攤率任一>0」的列,做下列把關:
- 製費分攤率 ≠ 0 → 製造費用科目(費用科目1)不可空白。
- 營費分攤率 ≠ 0 → 營業費用科目(費用科目2)不可空白。
- 管費分攤率 ≠ 0 → 管理費用科目(費用科目3)不可空白。
- 研費分攤率 ≠ 0 → 研發費用科目(費用科目4)不可空白。
- 所有有效列的四種分攤率合計需=100,否則擋存。
存檔前自動清理空列(HandleDataBeforeEndEdit)¶
存檔當下,系統會把下列「無效列」標記為刪除,不寫進資料庫:
- 費用攤提表中攤提年月為空的列。
- 費用分攤表中部門代號為空、或四種分攤率全 ≤ 0 的列。
... 匯入暫付款(FtrlimaImportExecute / SetValueByImprotRow)¶
只在新增狀態可用。按費用編號右側 ... 後,系統用 DARB_QRY_ACCEXP 撈出符合條件的暫付款/攤提單(財務類別 83/52/56 且「3.各項攤提」有傳票、或「7.直沖攤提」沖帳原幣 ≠ 0,且尚未被任何 accexp 引用),讓你挑一筆帶回主檔:費用起始日/截止日、廠商代號(含簡稱)、傳票號碼、財務單 pkid/財務單號、費用金額、費用名稱。
匯入不含費用編號
匯入來源沒有費用編號欄位,帶回後仍要自行輸入費用編號才能存檔。
其他功能1:分攤傳票(轉總帳,ExtendedFunction1)¶
按工具列其他功能1(VFP 的「分攤傳票」),系統開啟轉傳票視窗(AccexpToGlViewModel):
- 預設年月為當月(
yyyy/MM),可修改。 - 確認後系統用
DARB_TUR_SLIY_ACCEXP撈出「費用起始日 ≤ 該月月底、截止日 ≥ 該月、且該月攤提列尚未產生傳票」的資料,產生對應的總帳傳票(Sliy)與應收應付資料(Rp)。 - 轉拋後關閉視窗並重新整理(Renew),攤提表對應月份回填攤提日期與傳票號碼。
分攤傳票按月結轉
這是把預付費用「分期入帳」的步驟:每個月跑一次、結轉當月該攤提的金額到費用科目,而不是一次認列全部費用。
連結跳轉¶
- 主檔財務單號可超連結跳至暫付款 PAYAPPLY。
- 主檔與攤提表的傳票號碼可超連結跳至總帳傳票 SLIY。
列印(GetPrintViewModel)¶
按 列印 進入預付費用報表,系統把目前的費用編號同時帶入起/迄費用編號,再依年/月範圍出表。
常見問題¶
按存檔出現「請輸入費用編號」?
費用編號是主鍵且必填。新增時此欄初值為 +++,若沒改成實際編號就存檔會被擋下。由 ... 匯入暫付款時也不會帶費用編號,需自行補。
按存檔出現「分攤率總合不等於100」?
費用分攤表中所有「有部門且分攤率>0」列的製費+管費+研費+營費分攤率合計必須等於 100。請檢查是否漏填部門、分攤率打錯、或多了重複列。
按存檔出現「製造/營業/管理/研發費用科目不得空白」?
只要某列對應的分攤率不為 0,該類費用科目就必填:製費→製造費用科目、營費→營業費用科目、管費→管理費用科目、研費→研發費用科目。把對應科目補上即可。
按「計算攤提」沒有反應或被擋下?
計算攤提 要求:費用編號已填、費用起始日/截止日都有值、且攤提表中沒有任何一列已填攤提日期。若有已填攤提日期的攤提列(代表已轉過傳票)會跳訊息擋下——要重算請先把攤提表清空。VFP 舊版另檢核「截止日須大於起始日」「起訖不可同年同月」,新版未保留這兩項檢核,輸入期間時仍請留意起訖合理。
為什麼每期攤提金額不一樣?首期或末期金額特別小?
當費用起始日不是該月 1 號時,系統按天數加權:首期只算「起始日到月底」的天數、末期只算截止日當月的天數,中間各期以 30 天為基準,因此首/末期通常較小,末期還會吸收四捨五入的尾差讓總額剛好等於費用金額。
分攤傳票(其他功能1)轉不出傳票?
分攤傳票只結轉「費用起始日 ≤ 所選月份月底、截止日 ≥ 該月、且該月攤提列尚未有傳票號碼」的資料。若該月攤提已轉過(已有傳票號碼)或期間不涵蓋該月,就不會再產生傳票。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/Q-FixedAsset/images/):
accexp-step1.png— 主檔輸入畫面(識別/基本資料/期間與金額/會計科目四個 GroupBox 全貌)accexp-step2.png— 左下費用分攤表(含製費/管費/研費/營費分攤率四欄)accexp-step3.png— 按「計算攤提」後右側費用攤提表(攤提年月/金額/累計)accexp-step4.png— 費用編號旁...匯入暫付款的挑選視窗accexp-step5.png— 其他功能1(分攤傳票)的年月輸入轉傳票視窗