財務報表分析技能
概述
本技能面向企業財務報表(Excel格式)進行全方位專業分析,輸出 Markdown 格式的財務分析報告。
報告覆蓋五大維度,適用於財務盡調、年度復盤、經營體檢等場景。
觸發條件
使用者上傳含有財務資料的 Excel 檔案,且請求進行以下任意型別的分析:
- 財務報表整體分析 / 財務健康診斷
- 資產、負債、利潤、現金流增減變動分析
- 各項財務比率計算(盈利/償債/營運/成長能力)
- 專家級財務分析總結與改進建議
工作流程
Phase 1:檔案接收與預處理
- 確認使用者已上傳 Excel 檔案(
.xlsx / .xls / .xlsm)。
- 如使用者未上傳,提示:
"請上傳包含財務資料的 Excel 檔案(通常應包含資產負債表、利潤表、現金流量表等 Sheet)。"
- 確認檔案路徑後,進入分析階段。
Phase 2:執行分析指令碼
呼叫 scripts/analyze_financial_report.py 執行自動化分析:
python "scripts/analyze_financial_report.py" "<excel_file_path>"
指令碼將:
- 自動檢測並匹配 Excel 中的資產負債表、利潤表、現金流量表 Sheet(支援中英文名稱模糊匹配)
- 清洗資料,提取本期/上期兩列數值
- 輸出 Markdown 格式分析報告到同目錄下,檔名:
{原檔名}_財務分析報告.md
環境依賴:指令碼會自動檢查並安裝 pandas、openpyxl,無需手動安裝。
Phase 3:報告內容說明
生成的報告包含五大部分:
一、報表專案增減變動分析
- 對資產負債表、利潤表、現金流量表的每個科目
- 列出:本期金額 | 上期金額 | 變動金額(🔺/🔻標註)| 變動率
二、資產專案結構變動分析
- 以總資產為基準(100%)
- 計算各資產專案本期佔比與上期佔比
- 輸出佔比變動(單位:百分點 pp)
三、利潤表專案結構變動分析
- 以營業收入為基準(100%)
- 計算各利潤表科目本期佔比與上期佔比
- 輸出佔比變動
小蔥技能站7w4.net發現了升級外掛。
四、財務比率綜合分析
| 類別 |
主要指標 |
| 盈利能力 |
毛利率、淨利率、ROA、ROE、營業利潤率 |
| 償債能力 |
流動比率、速動比率、資產負債率、利息保障倍數、產權比率 |
| 營運能力 |
總資產週轉率、應收賬款週轉率(天數)、存貨週轉率(天數)、流動資產週轉率 |
| 成長能力 |
收入增長率、淨利潤增長率、總資產增長率、淨資產增長率、營業利潤增長率、經營現金流增長率 |
五、資深財務專家綜合分析與建議
- 按盈利能力、償債能力、成長能力逐項給出數值驅動的評價
- 標註核心優勢(✅)與風險提示(⚠️/🔴)
- 提供 5 條改進建議
Phase 4:結果展示
- 使用
open_result_view 展示生成的 Markdown 報告。
- 使用
deliver_attachments 將報告檔案交付給使用者。
- 在回覆中用簡短語言概括分析亮點與主要發現。
注意事項
- Sheet 自動匹配:指令碼支援中英文名稱模糊匹配(資產負債表/Balance Sheet/資產 等)。
若某 Sheet 未能自動匹配,報告中會註明"資料不足",可提示使用者檢查 Sheet 名稱。
- 資料格式要求:Excel 中第一列為科目名,第二列為本期資料,第三列為上期資料(常見格式)。
若格式不同(如多年橫排),指令碼會嘗試自適應,但效果因檔案而異。
- 多年期報表:若檔案包含3年及以上資料,成長能力指標會更有參考意義;
當前指令碼主要取前兩列(本期/上期),如需多年趨勢分析,可在報告中補充說明。
- 貨幣單位:指令碼不處理單位換算,報告中數值與原始資料單位一致(元/萬元/億元均可)。
- 保密提示:處理完成後,如使用者有資料安全顧慮,建議告知檔案僅在本地處理,不上傳到外部服務。
踩坑經驗
- 資產/負債分Sheet格式:部分企業將資產負債表拆分為"資產"和"負債"兩個Sheet(如本技能測試檔案"深圳市羊城晚報文化發展有限公司"),指令碼已支援自動檢測併合並。
- 附註列干擾:標準報表第2列通常為附註編號(如"附註五"),為非數值列,指令碼通過"至少15%行是純數字"的列識別邏輯自動跳過。
- Sheet簡稱匹配:有些檔案用"資產"、"負債"、"利潤"、"現流"等簡稱命名Sheet,SHEET_ALIASES中已覆蓋這些別名。
- clean_df中的join報錯:pandas讀取含NaN的行時,row.astype(str)可能報
expected str instance, float found,需改為 row.fillna("").astype(str) 才能正確join。
- lambda中float型別報錯:對Series執行apply時,若列中含有float型別值,需在lambda內部呼叫
str(v) 轉換後再執行正則匹配。
錯誤處理
| 場景 |
處理方式 |
| 檔案未上傳 |
提示上傳檔案 |
| 檔案格式不是Excel |
提示僅支援 .xlsx/.xls/.xlsm |
| Sheet 未匹配到 |
在報告中標註,提示檢查Sheet名稱 |
| 資料列不足(<3列) |
跳過該分析模組,輸出提示 |
| 指令碼執行報錯 |
告知錯誤資訊,建議檢查檔案格式 |