跳到主要内容

三表模型

在 Excel 中构建完整集成的三表模型(利润表、资产负债表、现金流量表),包含营运资本明细表、折旧摊销滚动表、债务计划表,以及使现金和留存收益勾稽的插销项。与 excel-author 配合使用。

Skill 元数据

来源可选 — 通过 aigenlabs skills install official/finance/3-statement-model 安装
路径optional-skills/finance/3-statement-model
版本1.0.0
作者Anthropic(由 AigenLabs 改编)
许可证Apache-2.0
平台linux, macos, windows
标签finance, three-statement, income-statement, balance-sheet, cash-flow, excel, openpyxl, modeling
相关 skillexcel-author, pptx-author, dcf-model, lbo-model

参考:完整 SKILL.md

信息

以下是 AigenLabs 在触发此 skill 时加载的完整 skill 定义。这是 skill 激活时 agent 所看到的指令内容。

环境

本 skill 假设使用无界面 openpyxl — 即在磁盘上生成 .xlsx 文件。 遵循 excel-author skill 关于单元格着色、公式、命名区域和敏感性分析表的规范。 交付前重新计算:python /path/to/excel-author/scripts/recalc.py ./out/model.xlsx

三表财务模型模板填写

完整填写集成财务模型模板,确保利润表、资产负债表和现金流量表之间正确勾稽。

⚠️ 核心原则 — 填写任何模板前必读

公式优先,禁止硬编码(不可妥协):

  • 每个预测单元格、滚动计算、勾稽项和小计,必须使用 Excel 公式,绝不使用预计算值
  • 使用 Python/openpyxl 时:写入公式字符串(ws["D15"] = "=D14*(1+Assumptions!$B$5)"),而非计算结果(ws["D15"] = 12500
  • 唯一允许硬编码数字的单元格:(1) 历史实际数据,(2) 假设标签页中的驱动假设
  • 如果你发现自己在 Python 中计算了一个值并将结果写入单元格 — 停下来,改写公式
  • 原因:模型必须在场景切换或假设变更时自动联动。硬编码会悄无声息地破坏所有下游完整性检查。

与用户逐步确认:

  1. 映射模板后 → 向用户展示已识别的标签页/章节,确认后再修改任何单元格
  2. 填写历史数据后 → 向用户展示历史数据块,确认数值/期间与源数据匹配
  3. 构建利润表预测后 → 运行小计检查,向用户展示预测利润表,确认后再进行资产负债表
  4. 构建资产负债表后 → 向用户展示每个期间的平衡检查(资产 = 负债 + 权益),确认后再进行现金流量表
  5. 构建现金流量表后 → 向用户展示现金勾稽(现金流量表期末现金 = 资产负债表现金),确认后再定稿
  6. 不要端到端填写整个模型后再呈现完成品 — 在每张报表处暂停,展示工作成果,尽早发现错误

格式 — 专业蓝灰配色(除非模板/用户另有指定)

保持颜色简洁。 单元格填充仅使用蓝色和灰色。不要引入绿色、黄色、橙色或多种强调色 — 简洁的模型讲究克制。

元素填充色字体色
章节标题(利润表/资产负债表/现金流量表标题)深蓝 #1F4E79白色加粗
列标题(FY2024A、FY2025E 等)浅蓝 #D9E1F2黑色加粗
输入单元格(历史数据、假设驱动项)浅灰 #F2F2F2 或白色蓝色 #0000FF
公式单元格白色黑色
跨标签页链接白色绿色 #008000
检查行/关键合计中蓝 #BDD7EE黑色加粗

共 3 种蓝色 + 1 种灰色 + 白色。 如果模板有自己的配色方案,则遵循模板。

字体颜色表示单元格类型(输入/公式/链接)。填充颜色表示所在位置(标题/数据/检查)。

模型结构

识别模板标签页组织

模板的标签页命名规范和组织方式各有不同。填写前,先查看所有标签页以了解模板结构。以下是常见标签页名称及其典型内容:

常见标签页名称对应内容
IS, P&L, Income Statement利润表
BS, Balance Sheet资产负债表
CF, CFS, Cash Flow现金流量表
WC, Working Capital营运资本明细表
DA, D&A, Depreciation, PP&E折旧摊销明细表
Debt, Debt Schedule债务计划表
NOL, Tax, DTA净经营亏损明细表
Assumptions, Inputs, Drivers驱动假设与输入项
Checks, Audit, Validation错误检查仪表板

模板审查清单

  • 确认模板中存在哪些标签页(并非所有模板都包含每张明细表)
  • 记录上表未列出的模板专属标签页
  • 了解标签页依赖关系(例如,哪些明细表汇入主报表)
  • 在每个标签页上定位输入单元格与公式单元格

理解模板结构

填写模板前,先熟悉其现有布局,确保数据录入位置正确且公式保持完整。

识别行结构

  • 在每个标签页顶部找到模型标题
  • 识别章节标题及其视觉分隔
  • 找到表示单位的行(百万美元、%、x 等)
  • 注意区分实际值与预测值期间的列标题
  • 确认期间标签(例如 FY2024A、FY2025E)
  • 识别输入单元格与公式单元格(通常通过字体颜色区分)

识别列结构

  • 确认最左列为行项目标签
  • 验证历史年份在预测年份之前
  • 注意历史期间与预测期间之间的视觉分隔线
  • 检查所有标签页的列顺序是否一致

使用命名区域 模板通常对关键输入和输出使用命名区域。录入数据前:

  • 查看模板中现有的命名区域(Excel 中:公式 → 名称管理器)
  • 常见命名区域包括:收入增长率、成本百分比、关键输出(净利润、EBITDA、总债务、现金)、场景选择单元格
  • 确保输入录入在能够汇入这些命名区域的单元格中

预测期间

  • 模板通常从最后一个历史年份起向前预测 5 年
  • 验证历史(A)与预测(E)列已清晰分隔
  • 确认列使用财年标注(例如 FY2024A、FY2025E)

利润率分析

注意:以下利润率分析仅在用户明确要求或模板明确需要时执行。如无提示,跳过本节。

在利润表(IS)标签页上计算并展示盈利利润率,以追踪运营效率并支持同业比较。

核心利润率指标

利润率公式衡量内容
毛利率毛利润 / 收入定价能力、生产效率
EBITDA 利润率EBITDA / 收入核心运营盈利能力
EBIT 利润率EBIT / 收入折旧摊销后运营盈利能力
净利润率净利润 / 收入最终盈利能力

含利润率的利润表布局

在每个利润行项目正下方展示利润率百分比:

  • 毛利润下方显示毛利率 %
  • EBIT 下方显示 EBIT 利润率 %
  • EBITDA 下方显示 EBITDA 利润率 %
  • 净利润下方显示净利润率 %

信用指标

注意:以下信用分析仅在用户明确要求或模板明确需要时执行。如无提示,跳过本节。

在资产负债表(BS)标签页上计算并展示信用/杠杆指标,以评估财务健康状况、债务承载能力和契约合规性。

核心信用指标

指标公式衡量内容
总债务 / EBITDA总债务 / 过去十二个月 EBITDA杠杆倍数
净债务 / EBITDA(总债务 - 现金)/ 过去十二个月 EBITDA扣除现金后的杠杆
利息覆盖率EBITDA / 利息费用偿债能力
债务 / 总资本总债务 /(总债务 + 权益)资本结构
债务 / 权益总债务 / 总权益财务杠杆
流动比率流动资产 / 流动负债短期流动性
速动比率(流动资产 - 存货)/ 流动负债即时流动性

信用指标层级检查

验证乐观情景呈现最优信用状况:

  • 杠杆:乐观 < 基准 < 悲观(越低越好)
  • 覆盖率:乐观 > 基准 > 悲观(越高越好)
  • 流动性:乐观 > 基准 > 悲观(越高越好)

契约合规追踪

如已知债务契约条款,添加明确的合规检查,将实际指标与契约阈值进行比较。

情景分析(基准 / 乐观 / 悲观)

在假设标签页中使用情景切换(下拉菜单),配合 CHOOSE 或 INDEX/MATCH 公式。

情景描述
基准情景管理层指引或市场一致预期
乐观情景超预期增长、利润率扩张
悲观情景低于趋势增长、利润率压缩

关键敏感性驱动因素:收入增长率、毛利率、SG&A %、DSO/DIO/DPO、资本支出 %、利率、税率。

情景审计检查:切换开关联动所有报表,所有情景下资产负债表平衡,现金勾稽,层级成立(乐观 > 基准 > 悲观,适用于净利润、EBITDA、自由现金流、各利润率)。

SEC 申报文件数据提取

如果模板明确需要从 SEC 申报文件(10-K、10-Q)中提取数据,请参阅 references/sec-filings.md 获取详细提取指引。仅在使用上市公司监管申报文件数据填写模板时才需要此参考文档。

填写模型模板

本节提供填写任意三表财务模型模板的通用指引,同时保留现有公式并确保数据完整性。

第一步:分析模板结构

录入任何数据前,彻底审查模板以了解其架构:

识别输入单元格与公式单元格

  • 寻找区分输入单元格与公式单元格的视觉提示(字体颜色、单元格底纹)
  • 常见规范:蓝色字体 = 输入,黑色字体 = 公式,绿色字体 = 跨表链接
  • 使用 Excel 的追踪引用单元格/从属单元格功能(公式 → 追踪引用单元格)了解单元格关系
  • 检查可能控制关键输入的命名区域(公式 → 名称管理器)

梳理模板流程

  • 识别哪些标签页汇入其他标签页(例如,假设 → 利润表 → 资产负债表 → 现金流量表)
  • 记录各支撑明细表及其与主报表的勾稽关系
  • 在填写前记录模板的具体行项目和结构

第二步:在不破坏公式的前提下录入数据

数据录入黄金法则

规则说明
仅编辑输入单元格除非有意替换公式,否则绝不覆盖含公式的单元格
保留单元格引用复制数据时,使用选择性粘贴值(Ctrl+Shift+V),避免用源格式覆盖公式
匹配模板单位录入数据前确认模板使用千元、百万元还是实际值
遵守符号规范遵循模板现有的符号规范(例如,费用为正数或负数)
检查循环引用如果模板使用迭代计算,确保已启用迭代计算

安全数据录入流程

  1. 确定指定用于输入的确切单元格(通常已高亮或标注)
  2. 先录入历史数据,然后验证这些期间的公式计算是否正确
  3. 录入驱动预测计算的假设驱动项
  4. 审查计算输出,确认公式按预期运行
  5. 如必须修改公式单元格,在修改前记录原始公式

处理预置公式

  • 如果公式引用了尚未填写的单元格,在所有输入完成前预期会出现临时错误(#REF!、#DIV/0!)
  • 当公式产生意外结果时,追踪引用单元格以识别缺失或错误的输入
  • 在未检查所有标签页的公式依赖关系前,绝不删除行/列

第三步:验证公式

公式完整性检查

在依赖模板输出前,验证公式是否正常运行:

检查类型方法
追踪引用单元格选择公式单元格 → 公式 → 追踪引用单元格,验证其引用了正确的输入
追踪从属单元格验证关键输入是否流向预期的输出单元格
公式求值使用公式 → 公式求值,逐步分析复杂计算
检查硬编码预测公式应引用假设项,不应包含硬编码值
用已知值测试输入简单测试值,验证公式是否产生预期结果
跨标签页一致性确保相同的公式逻辑适用于所有预测期间

常见公式问题

  • 混合绝对/相对引用导致跨期间复制时结果错误
  • 指向外部文件或已删除区域的断裂链接(#REF! 错误)
  • 收入尚未起量的早期期间出现除零错误(#DIV/0! 错误)
  • 循环引用警告(利息计算中可能是有意为之)
  • 预测列之间公式不一致(使用 Ctrl+\ 查找差异)

验证跨标签页勾稽

  • 确认出现在多个标签页上的数值是链接的(而非重复录入)
  • 验证明细表合计与主报表对应行项目勾稽
  • 检查所有标签页的期间标签是否对齐

第四步:按工作表进行质量检查

填写模板后,对每张工作表执行以下验证检查:

利润表(IS)质量检查

  • 历史期间收入数据与源数据匹配
  • 所有费用行项目加总等于报告合计
  • 小计(毛利润、EBIT、税前利润、净利润)计算正确
  • 税务计算逻辑合理(正确处理亏损情况)
  • 预测驱动项引用假设标签页(无硬编码)
  • 同比变动方向合理

资产负债表(BS)质量检查

  • 每个期间资产 = 负债 + 权益(主要检查项)
  • 现金余额与现金流量表期末现金匹配
  • 营运资本科目与支撑明细表勾稽(如适用)
  • 留存收益正确滚动:期初留存收益 + 净利润 - 股息 +/- 调整项 = 期末留存收益
  • 债务余额与债务计划表勾稽(如适用)
  • 所有资产负债表项目符号正确(资产为正,大多数负债为正)

现金流量表(CF)质量检查

  • 经营活动现金流顶部净利润与利润表净利润匹配
  • 非现金加回项(折旧摊销、股权激励等)与其来源明细表/报表勾稽
  • 营运资本变动符号正确(资产增加 = 现金使用 = 负数)
  • 资本支出与固定资产明细表或固定资产滚动表勾稽
  • 融资活动与资产负债表债务和权益科目变动勾稽
  • 期末现金与资产负债表现金匹配
  • 期初现金等于上期期末现金

支撑明细表质量检查

  • 期初余额等于上期期末余额
  • 滚动逻辑完整(期初 + 增加 - 减少 = 期末)
  • 明细表合计与主报表行项目勾稽
  • 计算中使用的假设与假设标签页匹配

第五步:跨报表完整性检查

验证各张工作表后,确认三张报表已正确集成:

检查项公式预期结果
资产负债表平衡资产 - 负债 - 权益= 0
现金勾稽现金流量表期末现金 - 资产负债表现金= 0
净利润勾稽利润表净利润 - 现金流量表起始净利润= 0
留存收益期初留存收益 + 净利润 - 股息 - 资产负债表期末留存收益= 0(根据需要调整股权激励/其他项目)

第六步:最终审查

在认为模型完成前:

  • 切换所有情景(如适用),验证每种情景下检查均通过
  • 审查所有 #REF!、#DIV/0!、#VALUE! 和 #NAME? 错误,解决或记录说明
  • 确认所有输入单元格已填写(搜索占位符值)
  • 验证所有标签页单位一致
  • 在进行任何额外修改前保存一个干净版本

模型验证与审计

本节汇总已完成模板的所有验证检查和审计程序。

核心勾稽项(必须始终成立)

所有公式详情见 references/formulas.md

检查项公式预期结果
资产负债表平衡资产 - 负债 - 权益= 0
现金勾稽现金流量表期末现金 - 资产负债表现金= 0
月度与年度现金期末现金(月度)- 期末现金(年度)= 0
净利润勾稽利润表净利润 - 现金流量表起始净利润= 0
留存收益期初留存收益 + 净利润 + 股权激励 - 股息 - 资产负债表期末留存收益= 0
权益融资资产负债表普通股/资本公积变动 - 融资活动权益发行= 0
第 0 年权益第 0 年募集权益 - 第 1 年期初权益资本= 0

符号规范参考

报表项目符号规范
经营活动现金流折旧摊销、股权激励正数(加回)
经营活动现金流应收账款增加负数(现金使用)
经营活动现金流应付账款增加正数(现金来源)
投资活动现金流资本支出负数
融资活动现金流债务发行正数
融资活动现金流债务偿还负数
融资活动现金流股息负数

循环引用处理

利息费用产生循环:利息 → 净利润 → 现金 → 债务余额 → 利息

在 Excel 中启用迭代计算:文件 → 选项 → 公式 → 启用迭代计算。设置最大迭代次数为 100,最大误差为 0.001。在假设标签页中添加断路器切换开关。

检查类别

第 1 节:货币一致性

  • 货币已在假设标签页中标识和记录
  • 所有标签页使用一致的货币符号和量级
  • 单位行与模型货币匹配

第 2 节:资产负债表完整性

  • 每个期间资产 = 负债 + 权益
  • 公式:资产 - 负债 - 权益(必须 = 0)

第 3 节:现金流量完整性

  • 现金与资产负债表勾稽(现金流量表期末现金 = 资产负债表现金)
  • 月度与年度现金:期末现金(月度)= 期末现金(年度)
  • 净利润与利润表勾稽(现金流量表净利润 = 利润表净利润)
  • 折旧摊销与明细表勾稽
  • 股权激励与利润表勾稽
  • 应收账款变动、存货变动、应付账款变动与营运资本明细表勾稽
  • 资本支出与折旧摊销明细表勾稽

第 4 节:留存收益

  • 留存收益滚动检查:期初留存收益 + 净利润 + 股权激励 - 股息 = 期末留存收益
  • 展示组成部分明细以便调试

第 5 节:营运资本

  • 应收账款、存货、应付账款与资产负债表勾稽
  • DSO、DIO、DPO 合理性检查(超出正常范围时标记)

第 6 节:债务计划表

  • 总债务与资产负债表勾稽(流动 + 长期债务)
  • 利息计算与利润表勾稽

第 6b 节:权益融资

  • 权益发行所得与资产负债表普通股/资本公积增加额勾稽
  • 权益带来的现金增加 = 权益科目增加(必须平衡)
  • 权益募集勾稽:资产负债表普通股/资本公积变动 = 融资活动权益发行(必须 = 0)
  • 第 0 年权益勾稽:第 0 年募集权益 = 第 1 年期初权益资本

第 6c 节:净经营亏损明细表

  • 第 1 年/成立时期初净经营亏损 = 0(新企业从零净经营亏损起步)
  • 仅当税前利润 < 0 时净经营亏损增加(必须实现亏损才能产生净经营亏损)
  • 递延税资产与资产负债表勾稽(净经营亏损明细表递延税资产 = 资产负债表递延税资产)
  • 净经营亏损利用额 ≤ 税前利润的 80%(2017 年后联邦限制)
  • 净经营亏损余额非负(不能利用超过可用额度)
  • 仅当税前利润 < 0 时产生净经营亏损
  • 应税收入 ≤ 0 时税务费用 = 0

第 7 节:情景层级

  • 绝对指标:乐观 > 基准 > 悲观(净利润、EBITDA、自由现金流)
  • 利润率:乐观 > 基准 > 悲观(毛利率 %、EBITDA %、净利润率 %)
  • 信用指标:杠杆方面乐观 < 基准 < 悲观(反向)

第 8 节:公式完整性

  • 营业成本、销售费用、管理费用、研发费用、股权激励由收入百分比驱动(无硬编码)
  • 预测年份间公式一致
  • 无 #REF!、#DIV/0!、#VALUE! 错误

第 9 节:信用指标阈值

  • 根据契约阈值将指标标记为绿色/黄色/红色
  • 汇总所有红色预警

主检查公式

将所有章节状态汇总为单一主检查:

  • 如果所有章节通过 → "✓ ALL CHECKS PASS"
  • 如果任何章节失败 → "✗ ERRORS DETECTED - REVIEW BELOW"

快速调试流程

当主状态显示错误时:

  1. 滚动查找红色高亮章节
  2. 识别哪个检查类别存在失败
  3. 导航至源标签页进行排查
  4. 修复根本问题
  5. 返回检查标签页验证是否已解决

数据来源 — 优先 MCP,其次网络回退

以下许多段落提到"使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP"。这些是原 Cowork 插件上下文中的商业金融数据 MCP。在 AigenLabs 中:

  • 如果已配置任何结构化金融数据 MCP(AigenLabs 支持 MCP — 参见 native-mcp skill),优先使用它获取时点可比数据、前例交易和申报文件。
  • 否则,回退至:
    • 针对 SEC EDGAR(https://www.sec.gov/cgi-bin/browse-edgar)使用 web_search / web_extract 获取美国申报文件
    • 公司投资者关系页面获取新闻稿、业绩演示文稿
    • browser_navigate 访问交互式数据门户
    • 用户提供的数据(当上下文中没有时,明确询问)
  • 绝不捏造数据。如果某个倍数、前例或申报数字无法溯源,将该单元格标记为 [UNSOURCED] 并向用户说明。

归属声明

本 skill 改编自 Anthropic 的 Claude 金融服务插件套件(Apache-2.0)。Office-JS / Cowork 实时 Excel 路径已移除;本版本通过 excel-author skill 的规范面向无界面 openpyxl。原始来源:https://github.com/anthropics/financial-services