跳轉到

程式資訊

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

應收帳齡表

功能簡介

「應收帳齡表」把每一筆未沖銷的應收帳款,依帳齡(積欠天數)切分到不同期間,讓財會與業務主管一眼看出哪些客戶的款項已經放了多久、有多少金額逾期。它是純查詢報表,不會異動任何帳款資料,只把現有的應收明細重新彙總、分齡。

同一次查詢會同時算出五張交叉檢視的報表(以頁籤切換):

  1. 帳齡分析表:以客戶為單位,依「立帳日期」距今天數切到 6 個帳齡區間 + 超期,最常用來盯催收。
  2. 未收帳款彙總:以「結帳年月」為界,把每位客戶的未收款拆成前期未結款/本期應收款/最新未結款。
  3. 未收帳款明細:逐筆列出構成未收金額的每一張單據(含發票、稅額、訂單)。
  4. 會計師帳齡表:依「立帳月份」距今幾個月,逐月(月份01~月份12+一年以上)排列,供查帳/財報附註使用。
  5. 逾期帳齡表:改以「到期日」為基準分齡——只有超過收付條件約定到期日的金額才算逾期,比帳齡分析表更貼近真正的違約風險。

這支報表常用於月底結帳後的應收盤點、催收名單產生,以及提供給會計師的帳齡附表。對應 VFP 舊版 rec_qry1(程式 ID REC_QRY1)。

查詢條件面板

所有查詢條件集中在獨立的條件面板(Arage.xaml 結果頁外掛的 ArageCondition),詳見應收帳齡查詢條件

前置需求

  • 權限:I.ARAP → I-120 應收帳齡表瀏覽列印 權限。
  • 基礎資料:報表內容是把既有應收帳款重新彙總,下列資料的完整度直接影響欄位是否正確——
資料 影響的結果
應收帳款(收款作業、立帳單據) 所有頁籤的本體資料;未沖銷餘額=本幣應收付-沖帳本幣
客戶主檔(簡稱、業務員、區域、付款條件) 各表的客戶簡稱、業務員姓名、區域代碼、付款條件欄
收付條件(到期日設定) 逾期帳齡表的分齡基準(到期日)
立帳日期 / 到期日 正確性 帳齡區間落點;日期空白或無法解析的列一律歸到「超過最後一期」
幣別與小數位設定 會計師帳齡表/逾期帳齡表的原幣金額、匯率反推

需先有資料

這支只查既有帳款,本身不建單。若客戶完全沒有未沖銷的應收款,查詢後不會出現在任何頁籤中(餘額為 0 的客戶會被濾掉)。

操作步驟

  1. 從主選單開啟 I.ARAP → 應收帳齡表(I-120)
  2. 在條件面板設定查詢條件(詳見欄位說明):
    1. 查詢別現有餘額(算到今天)或 截止日期(算到指定日)。選 截止日期 後,右方日期欄才會開放輸入。
    2. 客戶別出貨客戶收款客戶,決定彙總時以哪一方的客戶代號歸戶。
    3. 視需要調整帳齡期間 P1P6 六個天數(預設 30/30/30/90/180/360)。
    4. 輸入客戶代號起訖區間(預設全部,截止帶 zzzzzz)。
    5. 輸入結帳年度/結帳月份(預設上個月),這是未收帳款彙總頁切「前期/本期」的分界。
  3. 按工具列的 查詢。系統呼叫 SP 取回未沖銷的應收明細後,在右側五個頁籤同時算出結果。
  4. 切換頁籤檢視不同檢視角度的帳齡。
  5. 需要紙本時按 列印預覽,選擇要印的報表(見欄位連動與附加功能)。
  6. 需要做後續分析時按 匯出 Excel,一次匯出六張工作表。

條件面板與查詢結果

小技巧

改了任一條件(例如帳齡期間天數、結帳年月)後,再按一次 查詢 即可重算;五個頁籤都是同一次查詢的結果,不需逐頁重跑。要把畫面資料帶出做後續分析,按工具列的 匯出 Excel(一次輸出六張工作表)。

欄位說明

查詢條件(條件面板)

欄位 必填 說明/格式/預設
查詢別 現有餘額=帳齡算到今天;截止日期=帳齡算到指定日。預設 現有餘額
截止日期 僅在查詢別=截止日期 時開放(截止日期IsEnabled)。格式 yyyy/MM/dd,預設今天
客戶別 出貨客戶收款客戶,決定歸戶用的客戶。預設 出貨客戶
客戶代號(起~訖) 客戶代號區間。預設起=空、訖=zzzzzz(含全部客戶)
帳齡期間 P1~P6 六段帳齡的天數寬度,最多 3 位數。預設 30 / 30 / 30 / 90 / 180 / 360
結帳年度 4 位西元年。預設上個月所屬年度
結帳月份 2 位月份。預設上個月(DateTime.Now.AddMonths(-1)

帳齡期間是「累加」不是「各段獨立」

P1~P6 是各段的寬度,分齡用的門檻是逐段累加:第 1 段=0~P1 天、第 2 段=P1~P1+P2 天、以此類推。預設值在表頭上呈現為 30/60/90/180/360/720 天,超過 P1+…+P6(預設 720 天)的金額落入「超過 720 天」。

帳齡分析表(頁籤 1)

欄位 說明
客戶代號/客戶簡稱/付款條件 客戶基本資料;最後一列為 Total: 全部合計
30 / 60 / 90 / 180 / 360 / 720 天 各帳齡區間的未收本幣金額(依立帳日期距基準日的天數落點)
超過 720 天 即「前期未結款」,超出最後一期的未收款
總計 六段+超期之和=該客戶總未收本幣
(下半格線)明細 點選上方客戶列,下方展開該客戶構成未收的逐筆單據

未收帳款彙總(頁籤 2)

欄位 說明
前期未結款 帳款期別早於「結帳年月」的未沖銷餘額
本期應收款 帳款期別等於「結帳年月」的未沖銷餘額
前期本期小計 帳款期別 ≤ 結帳年月 的未沖銷餘額
最新未結款 =總未收帳款-前期未結款-本期應收款(即帳款期別晚於結帳年月者)
總未收帳款 該客戶全部未沖銷本幣餘額
頁尾五個合計欄 整張彙總表上述五欄的總和(SetTotalValue

未收帳款明細(頁籤 3)

逐筆列出構成未收金額的單據,欄位包含 公司簡稱/客戶代號/年度月份/帳款期別/業務員/財務單號/立帳日期/收款日期/交易日期/到期日/幣別/原幣應收/沖帳原幣/匯率/本幣應收/沖帳本幣/未收原幣/未收本幣/統一編號/稅別/稅額/發票號碼/發票抬頭/發票金額/備註/訂單編號/傳票號碼 等。選取上方明細列,下方展開該財務單號的品項明細(品號/品名/數量/單價/單位/原幣未稅/原幣含稅/本幣未稅/本幣含稅/客戶訂單號)。

會計師帳齡表(頁籤 4)

欄位 說明
月份01~月份12 依立帳月份距基準月幾個月歸戶(月份01=本月與未來、月份02=上個月…月份12=11 個月前)
一年以上 距今 12 個月以上的未收款
應收帳款 各月+一年以上之和
幣別/原幣金額/幣別1/原幣金額1/本幣金額/匯率 客戶有外幣未收時,取最多兩種外幣的原幣餘額並反推匯率(本幣÷原幣)
上方為彙整列、下方為逐月細表 兩格線分別綁 AccountantArAge1s(彙整:前4月/前56月/前789月/前101112月/一年以上)與 AccountantArAges(逐月)

逾期帳齡表(頁籤 5)

欄位 說明
未逾期合計 到期日尚未到(距基準日 ≤ 0 天)的未收款
Day30~Day720 以「到期日」分齡的逾期金額(門檻同 P1~P6 累加)
Over720 逾期超過最後一期者
應收總額 該客戶全部未收本幣
逾期合計/原幣金額/幣別/匯率 逾期金額合計與外幣資訊

欄位連動與附加功能

這一節說明「選了什麼、按了什麼,系統會怎麼算」,全部依實際程式碼。

條件面板的連動

  • 選「截止日期」查詢別,旁邊日期欄才會啟用QueryType 設為 EndingDate 時,截止日期IsEnabled 變 true,日期輸入框才可填;選回 現有餘額CurrentAmount)會把它鎖住。
  • 查詢別 + 客戶別組合成 SP 的查詢參數:送進 SP(DARB_QRY_REC_QRY1)的查詢別 lp_p1 = 客戶別碼+查詢別碼:
    • 出貨客戶(0)+現有餘額(1)= 1
    • 出貨客戶(0)+截止日期(2)= 2
    • 收款客戶(10)+現有餘額(1)= 11
    • 收款客戶(10)+截止日期(2)= 12
  • 帳齡基準日由查詢別決定:查詢別=截止日期 且日期可解析時,分齡以你輸入的截止日為基準(對應 VFP L_DATE=CTOD(截止日期));查詢別=現有餘額 則以今天為基準(VFP L_DATE=DATE())。基準日影響所有帳齡與會計師逐月的落點。
  • 結帳年月只用於「未收帳款彙總」分界:彙總頁的前期/本期/前期本期小計用 結帳年度/結帳月份 組成的「結帳年月」字串,和帳款期別做字串比較切割(VFP 查詢鈕的 m.結帳年月=結帳年度+'/'+結帳月份)。它不影響帳齡分析表或逾期表。

按「查詢」後系統做的事

  1. 呼叫 SP DARB_QRY_REC_QRY1 取回未沖銷的應收明細(透過 Log_Sys_Exec,會留執行紀錄)。
  2. 把單據別代碼透過語言服務翻成 財務類別名稱ProgramClass.RPDEF)。
  3. 依序計算五張報表(NotPaidHandle → ArAgeHandle → ArDetailHandle → AccoutantArAgeHandle → 外幣彙整 → 會計師逐月 → 收付條件回填 → OverdueHandle)。
  4. 帳齡分齡邏輯ArAgeHelper.CalculateNotReceiveAmount):以「立帳日期」距基準日的天數,落到 P1~P6 累加門檻中的某一段;無法解析的日期歸「超過最後一期」。
  5. 逾期分齡邏輯ArAgeHelper.CalaculateOverdue):改以「到期日」距基準日的天數判斷,距基準日 ≤ 0 天者全進「未逾期合計」,其餘按同樣門檻分齡。
  6. 每一段金額都是「本幣應收付-沖帳本幣」(未收本幣餘額);原幣段用「原幣應收付-沖帳原幣」。
  7. 濾掉空列:帳齡分析表移除總未收為 0 的客戶後,最後補一列 Total: 合計;未收帳款彙總移除五個金額全為 0 的客戶。
  8. 外幣反推匯率CreateTmpArAgeCurrency):把客戶的未收款依幣別彙整,本位幣匯率固定 1,外幣最多取兩種,匯率=本幣餘額÷原幣餘額(依該幣別小數位四捨五入)。

「最新未結款」是算出來的,不是查出來的

未收帳款彙總頁的 最新未結款 並非獨立查詢欄,而是 總未收帳款 - 前期未結款 - 本期應收款,與 VFP 完全一致。若它看起來「怪」,先確認結帳年月設定是否正確。

列印(IPrintSource / GetReports)

  • 列印預覽 會提供三張 FastReport 報表(GetReports):
    • I120-1 帳齡分析表Arage1
    • I120-2 未收帳款-彙總表Arage2
    • I120-1 未收帳款-明細表Arage3
  • 帳齡分析表的報表會帶入七段帳齡的動態表頭GetHeaders),例如 1 ~ 3031 ~ 60…最後一段顯示 Over 720,數字隨你設定的 P1~P6 變動。
  • HaveReportData 以「帳齡分析表是否有資料」判斷有無可印內容;沒查到資料時不會出報表。

會計師帳齡表/逾期帳齡表目前無對應列印格式

新版 GetReports 只登錄了帳齡分析表、未收帳款彙總、未收帳款明細三張 FastReport。會計師帳齡表與逾期帳齡表可在畫面檢視並透過 Excel 匯出,但尚未提供專屬列印格式

匯出 Excel(IExcel / GenerateExcel)

匯出 Excel 會用 CopyToExcelBll 一次輸出六張工作表(檔名 Arage):

  1. 帳齡分析表
  2. 未收帳款彙總表
  3. 未收帳款明細表(完整明細,非僅選取客戶)
  4. 會計師帳齡表
  5. 逾期帳齡表
  6. 會計師簡表——精簡欄位(立帳日期/傳票號碼/帳款單號/客戶代號/客戶簡稱/幣別/原幣餘額/本幣餘額/到期日),只含未收原幣不為 0 的列,依客戶代號+立帳日期排序,對應 VFP 報表別「會計師簡表」。

主從連動(畫面內)

  • 帳齡分析表 / 未收帳款彙總 / 未收帳款明細頁籤上方點選一列客戶(或單據),下方格線會即時展開對應的明細(用 ToLookup 依客戶代號/財務單號分組後過濾)。
  • 未收帳款彙總頁尾的五個合計欄是整張彙總表的加總,查詢完成時一次算好。

報表別(一般/會計師簡表)的真正作用

VFP 條件面板上的「報表別」選項並不是資料過濾條件,而是應收明細頁的 Excel 匯出變體(會計師簡表=精簡欄位、僅未收原幣不為 0)。新版以「會計師簡表」工作表呈現,不會少抓任何帳款。同理,VFP「報表選擇(彙總表/明細表)」也只是列印與匯出要套哪張版型的切換,不影響畫面五個頁籤的資料本身。

常見問題

查詢後某些頁籤是空的(特別是逾期帳齡表)?

逾期帳齡表以「到期日」分齡,若客戶單據沒有到期日或款項尚未到期,會全部落在「未逾期合計」而非逾期區間。帳齡分析表與逾期帳齡表分齡基準不同(立帳日 vs 到期日),數字不一致是正常的。

帳齡分析表的金額全部擠在「超過 720 天」?

分齡用的是立帳日期距基準日的天數。若立帳日期欄空白或格式無法解析,該列會一律歸到最後一段(超過最後一期)。請先確認來源帳款的立帳日期正確。另外查詢別選 現有餘額 時基準日是今天,選 截止日期 時是你輸入的日;基準日選太早也會讓較多金額落到後段。

未收帳款彙總頁的「前期/本期」分界怪怪的?

分界完全由結帳年度/結帳月份決定(與帳款期別做字串比較)。預設帶上個月,若你要看的是其他月份的前後期切分,記得改結帳年月後再按一次查詢

金額是 0 或客戶沒出現在清單中?

每段金額是「本幣應收付-沖帳本幣」的未沖銷餘額。已全額沖銷(收款)的客戶餘額為 0,會被系統濾掉(帳齡分析表濾總未收為 0、彙總頁濾五欄全 0)。這代表該客戶已無未收款,並非漏抓。

會計師帳齡表的外幣欄(原幣金額/匯率)是空的?

只有當客戶有外幣未收款時才會帶原幣金額與反推匯率,且最多顯示兩種外幣。純本位幣的客戶原幣欄留空、匯率為 1 屬正常。

想印會計師帳齡表或逾期帳齡表卻找不到列印格式?

目前列印(FastReport)只提供帳齡分析表、未收帳款彙總、未收帳款明細三張。會計師帳齡表與逾期帳齡表請改用 匯出 Excel(會一併輸出這兩張工作表與會計師簡表)。

相關功能


需補截圖清單

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

  1. rec_qry1-step1.png — 條件面板(查詢別/客戶別/帳齡期間/客戶起訖/結帳年月)+ 查詢結果頁籤全貌
  2. rec_qry1-step2.png — 帳齡分析表頁籤(含主從明細展開與 Total 合計列)
  3. rec_qry1-step3.png — 逾期帳齡表頁籤(以到期日分齡)
  4. rec_qry1-step4.png — 匯出 Excel 的六張工作表(含會計師簡表)