财务报表分析技能

Other

财务报表分析技能。当用户上传财务报表 Excel 文件(包含资产负债表、利润表、现金流量表等 Sheet)并请求分析时, 站在资深财务专家视角,自动输出完整的财务分析报告,包含:报表项目增减变动表、 资产结构变动表、利润表结构变动表、财务比率综合分析(盈利/偿债/营运/成长能力指标), 以及专家综合分析总结与建议。 触发词:财务报表分析、分析财报、财务分析、资产负债表分析、利润表分析、现金流分析、 财务指标、盈利能力、偿债能力、营运能力、成长能力、ROE、ROA、毛利率、净利率、 流动比率、资产负债率、财务健康诊断、报表解读、财报分析。

Install

openclaw skills install fin-report-analysis

财务报表分析技能

概述

本技能面向企业财务报表(Excel格式)进行全方位专业分析,输出 Markdown 格式的财务分析报告。 报告覆盖五大维度,适用于财务尽调、年度复盘、经营体检等场景。

触发条件

用户上传含有财务数据的 Excel 文件,且请求进行以下任意类型的分析:

  • 财务报表整体分析 / 财务健康诊断
  • 资产、负债、利润、现金流增减变动分析
  • 各项财务比率计算(盈利/偿债/营运/成长能力)
  • 专家级财务分析总结与改进建议

工作流程

Phase 1:文件接收与预处理

  1. 确认用户已上传 Excel 文件(.xlsx / .xls / .xlsm)。
  2. 如用户未上传,提示:

    "请上传包含财务数据的 Excel 文件(通常应包含资产负债表、利润表、现金流量表等 Sheet)。"

  3. 确认文件路径后,进入分析阶段。

Phase 2:运行分析脚本

调用 scripts/analyze_financial_report.py 执行自动化分析:

python "scripts/analyze_financial_report.py" "<excel_file_path>"

脚本将:

  • 自动检测并匹配 Excel 中的资产负债表、利润表、现金流量表 Sheet(支持中英文名称模糊匹配)
  • 清洗数据,提取本期/上期两列数值
  • 输出 Markdown 格式分析报告到同目录下,文件名:{原文件名}_财务分析报告.md

环境依赖:脚本会自动检查并安装 pandasopenpyxl,无需手动安装。

Phase 3:报告内容说明

生成的报告包含五大部分:

一、报表项目增减变动分析

  • 对资产负债表、利润表、现金流量表的每个科目
  • 列出:本期金额 | 上期金额 | 变动金额(🔺/🔻标注)| 变动率

二、资产项目结构变动分析

  • 总资产为基准(100%)
  • 计算各资产项目本期占比上期占比
  • 输出占比变动(单位:百分点 pp)

三、利润表项目结构变动分析

  • 营业收入为基准(100%)
  • 计算各利润表科目本期占比上期占比
  • 输出占比变动

四、财务比率综合分析

类别主要指标
盈利能力毛利率、净利率、ROA、ROE、营业利润率
偿债能力流动比率、速动比率、资产负债率、利息保障倍数、产权比率
营运能力总资产周转率、应收账款周转率(天数)、存货周转率(天数)、流动资产周转率
成长能力收入增长率、净利润增长率、总资产增长率、净资产增长率、营业利润增长率、经营现金流增长率

五、资深财务专家综合分析与建议

  • 按盈利能力、偿债能力、成长能力逐项给出数值驱动的评价
  • 标注核心优势(✅)与风险提示(⚠️/🔴)
  • 提供 5 条改进建议

Phase 4:结果展示

  1. 使用 open_result_view 展示生成的 Markdown 报告。
  2. 使用 deliver_attachments 将报告文件交付给用户。
  3. 在回复中用简短语言概括分析亮点与主要发现。

注意事项

  • 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列)跳过该分析模块,输出提示
脚本运行报错告知错误信息,建议检查文件格式