如果一家公司現在有 12.0 的可用現金,營收在成長,而且每個月實際收到的客戶現金也都比前一個月多,你會在什麼時候開始擔心?這個案例真正麻煩的月份不是現金最低的 M6,而是更早的 M4。把未來六個月的收付款放進時間軸後,M6 的 ending available cash 會降到 3.8,低於公司自己設定的 4.0 minimum cash。若可行的營運或融資方案大約需要兩個月才能發揮效果,等到 M6 才處理已經太晚,M4 就可能是必須啟動行動的時間。

這裡的 4.0、兩個月 lead time 與 M4 trigger 都只是教學假設,不是 benchmark。它們的用途是把 runway 從「還剩幾個月」改成一個更能管理的問題:未來哪個時間點會碰到安全邊界,為什麼會碰到,以及在那之前還剩多少反應時間。

Profit 不等於 cash 的會計時間差前面已經談過,IFRS Conceptual Framework提供了這個基礎。這篇直接往下一層走,處理公司還有正數現金時,流動性如何先一步變得不安全。

先把「有多少現金」改成「有多少現金真的能用」

這個案例故意從 opening available cash = 12.0 開始,不再另外對帳上現金打折。因為真正要先釐清的不是折多少,而是哪些資金本來就不該被放進短期 runway。同樣都是 cash,使用權可能完全不同:日常 operating cash 通常可以拿來支應近期義務;restricted cash、代收客戶資金,或卡在不同法人裡的資金,可能有用途、契約、法規或匯轉時間限制。未動用的 credit facility 也不能只因為額度存在就全部算進來,還要看條件是否已經滿足,以及公司需要錢的那一天到底能不能真的 draw down。

Association for Financial Professionals 對 liquidity management 的討論關心的是企業在需要時能否取得資金;美國公開公司 MD&A 的流動性要求也會把現金需求與內外部資金來源放在同一個分析脈絡。這裡沿用同一個實務直覺:若一筆錢趕不上到期付款,它在那次決策裡就不能和可立即使用的現金視為同一件事。

所以後面的 11.5、10.1、7.3 到 3.8,都沿用同一個 available-liquidity 口徑。

Working Capital 會讓成長先吃掉現金

先看一筆正常的成長訂單。公司今天先採購、備貨、付薪資與履約成本,客戶四十天後才付款。這筆訂單可以有毛利,也可以讓營收增加,但在這四十天裡,公司需要自己把資金缺口撐住。

缺口通常藏在三個地方。AR 代表收入或交付已經發生,現金還在客戶手上;Inventory 代表現金已經投入,但貨還沒換成收款;AP 則把供應商付款往後推。短期 cash forecasting 因此會回到 receipts 和 disbursements 的實際日期,AFP 的方法也是從這種現金事件出發。

如果想把三段週期壓成一個數字,可以用 CCC = Inventory Days + DSO - DPO。但 CCC 只能當摘要。DSO 下降,可能是催收真的改善,也可能只是客戶 mix 變了;DPO 拉長,可能是供應商給了更好的條件,也可能只是公司開始晚付。真正要追問題時,還是得看應收帳齡與爭議、庫存組成、採購節奏、付款條款,以及 DSO、DPO、Inventory Days 的分母與 day-count 是否一致。CFA Institute 的 CCC 介紹適合用來理解 mechanics,不足以替代底層營運診斷。

先收客戶錢、後付供應商的模式,平時甚至可能讓成長帶進現金,但 timing 也可能在壓力下反轉。Tripadvisor 在 2020 Form 10-K中描述過這種情況:正常時旅客現金先進來、供應商之後收款;2020 年需求驟降且取消增加後,新進旅客現金不足以覆蓋持續的供應商付款,working-capital contribution 轉為明顯不利。這只證明 reversal 確實可能發生,不代表所有 negative-working-capital business 都會照同一路徑走。

Kiymaz、Haque 與 Choudhury 2024 的比較研究則顯示,working-capital 與公司績效的關係會隨 component 與經濟環境變動,也沒有一個可以跨公司套用的「理想 CCC」。

把 receipts 和 payments 放回月份,最低點才看得見

以下六個月全部是同一個教學案例,沒有 benchmark 含義。

月份Cash receiptsCash paymentsEnding available cash解讀
Opening12.0起始可用流動性
M1+2.5-3.011.5小幅淨流出
M2+2.8-4.210.1備貨/供應商付款增加
M3+3.0-5.87.3稅款 + working-capital 壓力
M4+3.4-5.25.5成長持續,但 cushion 快速縮小
M5+3.8-4.64.7靠近最低現金安全線
M6+4.2-5.13.8跌破 4.0 Minimum Cash

M1 到 M6 的 receipts 從 2.5 增加到 4.2,ending cash 卻一路下降。Payments 更大,而且稅款、備貨、供應商付款、退款、年度費用或 capex 這類現金事件都落在特定日期,不會平均地散在每個月。單看「平均每月 burn」很容易把真正的低點磨平;Gross burn、net burn、free cash flow 也不能混成同一個指標,因為 cash scope、融資、capex、working-capital assumption 或 minimum-cash threshold 只要換一個,runway 的答案就可能跟著變。

Deloitte 的 13-week cash-flow forecasting是一種常見的 practitioner pattern,主要價值是把近期收付款拉到足夠細的時間粒度,固定更新 forecast,再拿 actual 回頭校正。13 週不是普遍的會計強制週期,也不是所有公司的標準 horizon;看多遠、做到多細,仍然取決於決策速度與現金事件的節奏。

M6 是這個六個月 horizon 的 cash low point:3.8

4.0 才是這家公司的安全邊界

公司要把 minimum cash 設在哪裡,通常得自己面對幾個現實:下一輪薪資與不可取消支出有多大、收付款波動有多高、預測通常會偏多少、哪些 cash 不能自由移動,以及緊急措施真正需要幾天或幾週才能生效。不同公司得到的數字本來就不會一樣。這裡的 4.0 不是市場 benchmark,也不是 IFRS 替公司規定的比例,只是案例預先設定的管理邊界。

把這條線放回案例,M5 還有 4.7,沒有 breach;M6 剩 3.8,現金仍然是正數,卻已經落到 4.0 以下。

按照這條 4.0 的政策線,M6 記為 breach。

Breach 在 M6,但決策日期可能已經落在 M4

這個案例假設可行的營運或融資 response 需要大約 兩個月 execution lead time。從 M6 往回推,action trigger 會落在 M4,當時 ending available cash 還有 5.5。

這兩個月沒有任何普遍性。砍掉可取消支出也許很快;降庫存要等採購與供應週期;重新談付款條件取決於供應商;銀行授信、股權融資或資產出售通常需要更多準備,而且第一個方案可能失敗。

每一種 response 都有自己的 execution time、成功機率、可逆性與等待成本。

這也說明為什麼管理層在 M4 仍可能面臨真實決策。5.5 看起來離零很遠,但如果公司的安全線是 4.0,而真正能改變路徑的措施要兩個月後才見效,M4 就不再只是「還有很多現金」的一個月份。

在這個例子裡,M6 是 breach date;M4 是因為兩個月假設而得到的最晚啟動點。換一個 response,日期也會跟著換。

折線圖顯示可動用現金從 Opening 的 12.0 降至 M6 的 3.8,並在 M6 跌破 4.0 的 Minimum Cash;在約兩個月的示意反應時間假設下,M4 的 5.5 是較早的 Action Trigger。

Runway 應該隨著實際現金一起更新

一個月後,這張表很可能已經不一樣。如果 DSO 降低,先確認是不是真的多收到了現金,而不是客戶 mix 改變;如果 DPO 拉長,要看供應商是否正式給了更好的條件,而不是單純逾期;如果庫存下降,也要一起看缺貨與服務水準。Working-capital 指標要和 actual cash release 以及 counter-metrics 放在一起,才知道變化是改善還是把風險移到別的地方。

新的 actual 也會直接改變 low point。客戶提早付款,M6 可能不再是最低點;一筆延遲收款、退款增加或新的大額付款,可能把 breach 往前推。這時候原本的兩個月 lead time 不會自動消失,反而會讓剩下的反應時間一起縮短。

所以這個案例之後真正要持續更新的是 forecast 本身,而不是守著「12.0 開始、還有幾個月」的舊答案。若下一次重算把 breach 從 M6 推到 M5,原本看似充裕的 M4,就只剩一個月緩衝。

References