程式資訊
- 程式 ID:
REC_QRY1 - 所屬子系統:I.帳款管理
- 狀態:stable
應收帳齡表¶
功能簡介¶
「應收帳齡表」把每一筆未沖銷的應收帳款,依帳齡(積欠天數)切分到不同期間,讓財會與業務主管一眼看出哪些客戶的款項已經放了多久、有多少金額逾期。它是純查詢報表,不會異動任何帳款資料,只把現有的應收明細重新彙總、分齡。
同一次查詢會同時算出五張交叉檢視的報表(以頁籤切換):
- 帳齡分析表:以客戶為單位,依「立帳日期」距今天數切到 6 個帳齡區間 + 超期,最常用來盯催收。
- 未收帳款彙總:以「結帳年月」為界,把每位客戶的未收款拆成前期未結款/本期應收款/最新未結款。
- 未收帳款明細:逐筆列出構成未收金額的每一張單據(含發票、稅額、訂單)。
- 會計師帳齡表:依「立帳月份」距今幾個月,逐月(月份01~月份12+一年以上)排列,供查帳/財報附註使用。
- 逾期帳齡表:改以「到期日」為基準分齡——只有超過收付條件約定到期日的金額才算逾期,比帳齡分析表更貼近真正的違約風險。
這支報表常用於月底結帳後的應收盤點、催收名單產生,以及提供給會計師的帳齡附表。對應 VFP 舊版 rec_qry1(程式 ID REC_QRY1)。
查詢條件面板
所有查詢條件集中在獨立的條件面板(Arage.xaml 結果頁外掛的 ArageCondition),詳見應收帳齡查詢條件。
前置需求¶
- 權限:I.ARAP →
I-120 應收帳齡表的瀏覽/列印權限。 - 基礎資料:報表內容是把既有應收帳款重新彙總,下列資料的完整度直接影響欄位是否正確——
| 資料 | 影響的結果 |
|---|---|
| 應收帳款(收款作業、立帳單據) | 所有頁籤的本體資料;未沖銷餘額=本幣應收付-沖帳本幣 |
| 客戶主檔(簡稱、業務員、區域、付款條件) | 各表的客戶簡稱、業務員姓名、區域代碼、付款條件欄 |
| 收付條件(到期日設定) | 逾期帳齡表的分齡基準(到期日) |
| 立帳日期 / 到期日 正確性 | 帳齡區間落點;日期空白或無法解析的列一律歸到「超過最後一期」 |
| 幣別與小數位設定 | 會計師帳齡表/逾期帳齡表的原幣金額、匯率反推 |
需先有資料
這支只查既有帳款,本身不建單。若客戶完全沒有未沖銷的應收款,查詢後不會出現在任何頁籤中(餘額為 0 的客戶會被濾掉)。
操作步驟¶
- 從主選單開啟 I.ARAP → 應收帳齡表(I-120)。
- 在條件面板設定查詢條件(詳見欄位說明):
- 選查詢別:
現有餘額(算到今天)或截止日期(算到指定日)。選截止日期後,右方日期欄才會開放輸入。 - 選客戶別:
出貨客戶或收款客戶,決定彙總時以哪一方的客戶代號歸戶。 - 視需要調整帳齡期間
P1~P6六個天數(預設 30/30/30/90/180/360)。 - 輸入客戶代號起訖區間(預設全部,截止帶
zzzzzz)。 - 輸入結帳年度/結帳月份(預設上個月),這是未收帳款彙總頁切「前期/本期」的分界。
- 選查詢別:
- 按工具列的
查詢。系統呼叫 SP 取回未沖銷的應收明細後,在右側五個頁籤同時算出結果。 - 切換頁籤檢視不同檢視角度的帳齡。
- 需要紙本時按
列印/預覽,選擇要印的報表(見欄位連動與附加功能)。 - 需要做後續分析時按
匯出 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
- 帳齡基準日由查詢別決定:查詢別=
截止日期且日期可解析時,分齡以你輸入的截止日為基準(對應 VFPL_DATE=CTOD(截止日期));查詢別=現有餘額則以今天為基準(VFPL_DATE=DATE())。基準日影響所有帳齡與會計師逐月的落點。 - 結帳年月只用於「未收帳款彙總」分界:彙總頁的前期/本期/前期本期小計用
結帳年度/結帳月份組成的「結帳年月」字串,和帳款期別做字串比較切割(VFP 查詢鈕的m.結帳年月=結帳年度+'/'+結帳月份)。它不影響帳齡分析表或逾期表。
按「查詢」後系統做的事¶
- 呼叫 SP
DARB_QRY_REC_QRY1取回未沖銷的應收明細(透過Log_Sys_Exec,會留執行紀錄)。 - 把單據別代碼透過語言服務翻成 財務類別名稱(
ProgramClass.RPDEF)。 - 依序計算五張報表(
NotPaidHandle → ArAgeHandle → ArDetailHandle → AccoutantArAgeHandle → 外幣彙整 → 會計師逐月 → 收付條件回填 → OverdueHandle)。 - 帳齡分齡邏輯(
ArAgeHelper.CalculateNotReceiveAmount):以「立帳日期」距基準日的天數,落到 P1~P6 累加門檻中的某一段;無法解析的日期歸「超過最後一期」。 - 逾期分齡邏輯(
ArAgeHelper.CalaculateOverdue):改以「到期日」距基準日的天數判斷,距基準日 ≤ 0 天者全進「未逾期合計」,其餘按同樣門檻分齡。 - 每一段金額都是「本幣應收付-沖帳本幣」(未收本幣餘額);原幣段用「原幣應收付-沖帳原幣」。
- 濾掉空列:帳齡分析表移除總未收為 0 的客戶後,最後補一列
Total:合計;未收帳款彙總移除五個金額全為 0 的客戶。 - 外幣反推匯率(
CreateTmpArAgeCurrency):把客戶的未收款依幣別彙整,本位幣匯率固定 1,外幣最多取兩種,匯率=本幣餘額÷原幣餘額(依該幣別小數位四捨五入)。
「最新未結款」是算出來的,不是查出來的
未收帳款彙總頁的 最新未結款 並非獨立查詢欄,而是 總未收帳款 - 前期未結款 - 本期應收款,與 VFP 完全一致。若它看起來「怪」,先確認結帳年月設定是否正確。
列印(IPrintSource / GetReports)¶
- 按
列印/預覽會提供三張 FastReport 報表(GetReports):- I120-1 帳齡分析表(
Arage1) - I120-2 未收帳款-彙總表(
Arage2) - I120-1 未收帳款-明細表(
Arage3)
- I120-1 帳齡分析表(
- 帳齡分析表的報表會帶入七段帳齡的動態表頭(
GetHeaders),例如1 ~ 30、31 ~ 60…最後一段顯示Over 720,數字隨你設定的 P1~P6 變動。 HaveReportData以「帳齡分析表是否有資料」判斷有無可印內容;沒查到資料時不會出報表。
會計師帳齡表/逾期帳齡表目前無對應列印格式
新版 GetReports 只登錄了帳齡分析表、未收帳款彙總、未收帳款明細三張 FastReport。會計師帳齡表與逾期帳齡表可在畫面檢視並透過 Excel 匯出,但尚未提供專屬列印格式。
匯出 Excel(IExcel / GenerateExcel)¶
按 匯出 Excel 會用 CopyToExcelBll 一次輸出六張工作表(檔名 Arage):
- 帳齡分析表
- 未收帳款彙總表
- 未收帳款明細表(完整明細,非僅選取客戶)
- 會計師帳齡表
- 逾期帳齡表
- 會計師簡表——精簡欄位(立帳日期/傳票號碼/帳款單號/客戶代號/客戶簡稱/幣別/原幣餘額/本幣餘額/到期日),只含未收原幣不為 0 的列,依客戶代號+立帳日期排序,對應 VFP 報表別「會計師簡表」。
主從連動(畫面內)¶
- 帳齡分析表 / 未收帳款彙總 / 未收帳款明細頁籤上方點選一列客戶(或單據),下方格線會即時展開對應的明細(用
ToLookup依客戶代號/財務單號分組後過濾)。 - 未收帳款彙總頁尾的五個合計欄是整張彙總表的加總,查詢完成時一次算好。
報表別(一般/會計師簡表)的真正作用
VFP 條件面板上的「報表別」選項並不是資料過濾條件,而是應收明細頁的 Excel 匯出變體(會計師簡表=精簡欄位、僅未收原幣不為 0)。新版以「會計師簡表」工作表呈現,不會少抓任何帳款。同理,VFP「報表選擇(彙總表/明細表)」也只是列印與匯出要套哪張版型的切換,不影響畫面五個頁籤的資料本身。
常見問題¶
查詢後某些頁籤是空的(特別是逾期帳齡表)?
逾期帳齡表以「到期日」分齡,若客戶單據沒有到期日或款項尚未到期,會全部落在「未逾期合計」而非逾期區間。帳齡分析表與逾期帳齡表分齡基準不同(立帳日 vs 到期日),數字不一致是正常的。
帳齡分析表的金額全部擠在「超過 720 天」?
分齡用的是立帳日期距基準日的天數。若立帳日期欄空白或格式無法解析,該列會一律歸到最後一段(超過最後一期)。請先確認來源帳款的立帳日期正確。另外查詢別選 現有餘額 時基準日是今天,選 截止日期 時是你輸入的日;基準日選太早也會讓較多金額落到後段。
未收帳款彙總頁的「前期/本期」分界怪怪的?
分界完全由結帳年度/結帳月份決定(與帳款期別做字串比較)。預設帶上個月,若你要看的是其他月份的前後期切分,記得改結帳年月後再按一次查詢。
金額是 0 或客戶沒出現在清單中?
每段金額是「本幣應收付-沖帳本幣」的未沖銷餘額。已全額沖銷(收款)的客戶餘額為 0,會被系統濾掉(帳齡分析表濾總未收為 0、彙總頁濾五欄全 0)。這代表該客戶已無未收款,並非漏抓。
會計師帳齡表的外幣欄(原幣金額/匯率)是空的?
只有當客戶有外幣未收款時才會帶原幣金額與反推匯率,且最多顯示兩種外幣。純本位幣的客戶原幣欄留空、匯率為 1 屬正常。
想印會計師帳齡表或逾期帳齡表卻找不到列印格式?
目前列印(FastReport)只提供帳齡分析表、未收帳款彙總、未收帳款明細三張。會計師帳齡表與逾期帳齡表請改用 匯出 Excel(會一併輸出這兩張工作表與會計師簡表)。
相關功能¶
需補截圖清單
以下截圖待功能 runtime 驗收後補拍(放 docs/I-ARAP/images/):
rec_qry1-step1.png— 條件面板(查詢別/客戶別/帳齡期間/客戶起訖/結帳年月)+ 查詢結果頁籤全貌rec_qry1-step2.png— 帳齡分析表頁籤(含主從明細展開與 Total 合計列)rec_qry1-step3.png— 逾期帳齡表頁籤(以到期日分齡)rec_qry1-step4.png— 匯出 Excel 的六張工作表(含會計師簡表)