Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help


title: “3 Statement Model — Build integrated IS/BS/CF financial workbooks in Excel” sidebar_label: “3 Statement Model” description: “Build integrated IS/BS/CF financial workbooks in Excel”

{/* 本页面由 website/scripts/generate-skill-docs.py 根据该技能的 SKILL.md 文件自动生成。请直接编辑源文件 SKILL.md,而非此页面。 */}

三报表模型

在 Excel 中构建集成的资产负债表、利润表和现金流量表财务工作簿。

技能元数据

来源可选 — 通过 hermes skills install official/finance/3-statement-model 安装
路径optional-skills/finance\3-statement-model
版本1.0.0
开发者Anthropic(由 Nous Research 改编)
许可协议Apache-2.0
支持平台linux、macos、windows
标签finance、three-statement、income-statement、balance-sheet、cash-flow、excel、openpyxl、modeling
相关技能excel-author、pptx-author、dcf-model、lbo-model

参考:完整的 SKILL.md 文件

:::info 以下是当触发该技能时 Hermes 会加载的完整技能定义。当技能处于激活状态时,智能体将依据此内容执行操作。
::

环境要求

该技能依赖 无界面版 openpyxl — 你需要在磁盘上生成 .xlsx 格式的文件。 请遵循 excel-author 技能的规范来设置单元格颜色、公式、命名范围以及敏感性分析表。 在交付结果前请先重新计算: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、利润表利润表
BS、资产负债表资产负债表
CF、CFS、现金流量表现金流量表
WC、营运资本营运资本表
DA、D&A、折旧及固定资产折旧与摊销表
Debt、债务表债务明细表
NOL、Tax、DTA净经营亏损表
Assumptions、Inputs、Drivers参数假设与输入值
Checks、Audit、Validation错误校验面板

模板审查检查清单

  • 确认模板中包含哪些标签页(并非所有模板都包含所有表格)
  • 记录上述列表之外、特定于该模板的标签页
  • 了解标签页之间的依赖关系(例如,哪些表格为主要报表提供数据)
  • 查明每个标签页中的输入单元格与公式单元格的位置

理解模板结构

在填充数据之前,先熟悉模板的现有布局,以确保数据被输入到正确的位置,且公式保持完整。

识别行结构

  • 查看每个标签页顶部的模型名称
  • 识别各章节标题及其视觉分隔标识
  • 找到标注有“百万美元”、“%”、“倍”等单位的行
  • 注意区分显示实际数值与预测数值的列标题
  • 确认周期标签(如FY2024A、FY2025E)
  • 区分输入单元格与公式单元格(通常通过字体颜色来区分)

识别列结构

  • 确认最左侧列中的项目标签
  • 验证历史年份是否位于预测年份之前
  • 注意区分显示历史数据与预测数据的视觉边界
  • 检查所有标签页中的列顺序是否一致

使用命名范围 模板通常会为关键输入项和输出项设置命名范围。在输入数据之前:

  • 查看模板中现有的命名范围(在Excel中可通过“公式”→“名称管理器”查看)
  • 常见的命名范围包括:营收增长率、成本百分比、核心指标(净收入、EBITDA、总债务、现金)、情景选择单元格
  • 确保将数据输入到这些命名范围所对应的单元格中

预测周期

  • 模板通常会从最后一个历史年份开始向前预测5年
  • 确认历史数据列(A)与预测数据列(E)有明显区分
  • 验证各列是否采用财年标识格式(如FY2024A、FY2025E)

利润率分析

注意:仅当用户提出要求或模板明确需要时,才进行以下利润率分析。若无相关指示,请跳过此部分。

在“损益表”选项卡中计算并显示利润率,以便追踪运营效率并进行同业比较。

需包含的核心利润率指标

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

带有利润率指标的损益表布局

在每一项利润项目下方直接显示对应的百分比:

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

信用指标

注意:仅在用户提出要求或模板明确指定时,才需进行以下信用分析。若无相关要求,请跳过此部分。

在“资产负债表”选项卡中计算并显示信用/杠杆指标,用以评估企业的财务健康状况、债务承受能力以及契约履行情况。

需包含的核心信用指标

指标公式衡量内容
总债务/EBITDA总债务 / 近期12个月EBITDA杠杆比率
净债务/EBITDA(总债务 - 现金) / 近期12个月EBITDA扣除现金后的杠杆水平
利息保障倍数EBITDA / 利息支出偿还债务的能力
债务/总资本总债务 / (总债务 + 股东权益)资本结构
债务/股东权益总债务 / 总股东权益财务杠杆程度
流动比率流动资产 / 流动负债短期流动性
速动比率(流动资产 - 存货) / 流动负债即时流动性

信用指标层级评估

需确保“乐观情景”下的企业信用状况最优:

  • 杠杆比率:乐观情景 < 基准情景 < 悲观情景(数值越低越好)
  • 利息保障倍数:乐观情景 > 基准情景 > 悲观情景(数值越高越好)
  • 流动性:乐观情景 > 基准情景 > 悲观情景(数值越高越好)

条款合规性监控

若已知债务相关条款,可设置专门的合规性检查机制,将实际指标与条款设定的阈值进行对比。

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

在“假设”选项卡中使用下拉式场景切换功能,并结合CHOOSE函数或INDEX/MATCH函数来实现不同场景下的计算。

场景描述
基准情景管理层给出的指导数值或市场普遍预期值
乐观情景成长速度超出预期,利润率有所提升
悲观情景成长速度低于预期,利润率面临压力

需重点分析的影响因素:营收增长、毛利率、销售与管理费用占比、应收账款周转期/应付账款周转期/应付票据周转期、资本支出占比、利率水平、税率。

情景审计检查:包含所有报表的开关控制、各情景下的资产负债表余额、现金平衡情况,以及层级约束(对于净利润、EBITDA、FCF及利润率而言,层级顺序为“上行值 > 基准值 > 下行值”)。

SEC申报文件数据提取

如果模板要求从SEC申报文件(10-K、10-Q)中提取数据,请参阅references/sec-filings.md以获取详细的提取指南。仅当需要使用监管文件中的上市公司数据来填充模板时,才需要参考该文档。

完成模型模板

本部分提供通用指导,帮助您在完成任何三表财务模型模板的同时,保留现有公式并确保数据完整性。

第1步:分析模板结构

在输入任何数据之前,请先仔细研究模板,了解其架构:

区分输入单元格与公式单元格

  • 寻找用于区分输入单元格与公式单元格的视觉提示(字体颜色、单元格阴影等)
  • 常见规则:蓝色字体表示输入值,黑色字体表示公式,绿色字体表示对其他工作表的链接
  • 可使用Excel的“追踪引用/依赖项”功能(公式 → 追踪引用)来了解单元格之间的关联关系
  • 检查可能用于控制关键输入值的命名范围(公式 → 名称管理器)

梳理模板的逻辑流程

  • 确定哪些标签页之间存在数据流转关系(例如:假设条件 → IS模型 → BS模型 → CF模型)
  • 记录所有辅助时间表及其与主报表的关联方式
  • 在填入数据之前,先详细记录模板的各项具体条目及结构

第2步:填写数据而不破坏公式

数据录入的黄金法则

规则说明
仅编辑输入单元格除非有意替换公式,否则切勿覆盖包含公式的单元格
保留单元格引用复制数据时请使用“粘贴值”功能(Ctrl+Shift+V),以避免因源格式问题而覆盖公式
统一模板中的单位格式在输入数据前,确认模板是采用千位分隔、百万位分隔还是直接显示数值
遵循符号约定按照模板既定的符号规则填写(例如:将支出标记为正数或负数)
检查循环引用若模板涉及迭代计算,请确保已开启“迭代计算”功能

安全的数据录入流程

  1. 找出专门用于输入数据的单元格(通常会有高亮显示或标签标识)
  2. 先输入历史数据,随后验证对应时期的公式计算是否正确
  3. 输入用于驱动预测计算的假设条件参数
  4. 查看计算结果,确认公式按预期运行
  5. 若必须修改某个公式单元格,请在更改前先记录下原始公式

处理预置公式

  • 如果公式引用了您尚未填写的单元格,在所有输入完成之前,可能会出现临时性错误(如 #REF!、#DIV/0! 错误)。
  • 当公式产生非预期结果时,可通过追溯依赖项来找出缺失或错误的输入数据。
  • 在删除行或列之前,务必检查所有工作表中是否存在对该行/列的公式引用。

第3步:验证公式

公式完整性检查

在依赖模板输出之前,需先确认公式运行正常:

检查类型方法
追溯依赖项选中包含公式的单元格 → 点击“公式”选项卡 → 选择“追踪依赖项”,以确认其引用的输入数据是否正确
追溯被引用项确认关键输入数据已正确传递至预期输出单元格
计算公式值使用“公式”选项卡中的“计算公式”功能,逐步查看复杂计算过程
检查硬编码值预测公式应基于假设条件,而非包含硬编码的固定数值
使用已知值进行测试输入简单的测试值,验证公式是否能输出预期结果
确保跨工作表一致性确认相同的公式逻辑在所有预测期间均得到应用

需注意的常见公式问题

  • 混合使用绝对引用和相对引用,导致在不同期间复制公式时出现错误结果
  • 对外部文件或已删除区域的引用失效,从而引发 #REF! 错误
  • 在收入尚未开始增长的早期期间出现除以零的情况,导致 #DIV/0! 错误 | 循环引用警告(在计算利息等场景中可能是有意为之) |
  • 不同预测列中的公式逻辑不一致(可使用 Ctrl+\ 查找差异) | 验证跨表格关联关系
  • 确认多个表格中显示的数值是相互关联的(而非重复数据)
  • 核实预算汇总值与主报表中的对应明细项一致
  • 检查所有表格中的期间标签是否对齐

第4步:按表格进行质量检查

在填写完模板后,需对每张表格执行以下验证:

利润表(IS)质量检查

  • 各历史时期的收入数值与原始数据相符
  • 所有费用明细项的合计值与报告的总额一致
  • 小计项(毛利润、息税前利润、息税前亏损、净利润)的计算正确
  • 税务计算逻辑合理(能正确处理亏损情况)
  • 预测参数引用的是假设信息表(无硬编码值)
  • 不同期间的变动趋势合理

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

  • 所有时期的资产总额均等于负债总额加上所有者权益(核心检查项)
  • 现金余额与现金流量表中的期末现金余额一致
  • 流动资产账户与相关辅助预算表数据相符(如适用)
  • 留存收益的结转计算正确:期初留存收益 + 净利润 - 股息 +/- 调整项 = 期末留存收益
  • 债务余额与债务预算表数据一致(如适用)
  • 所有资产负债表项目的符号均正确(资产为正,大多数负债也为正)

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

  • 财务总监报表中的净收入应与利润表中的净收入一致
  • 非现金项目调整(如折旧、摊销等)需与其对应的来源表格或报表相互匹配
  • 流动资产变动的符号应正确(资产增加意味着现金流出,故显示为负值)
  • 资本支出需与固定资产明细表或固定资产结转数据相一致
  • 筹资活动应与资产负债表中债务及权益账户的变动相对应
  • 期末现金余额应与资产负债表中的现金余额一致
  • 期初现金余额应等于上一期的期末现金余额

辅助表格质量检查

  • 期初余额应与上一期的期末余额相等
  • 结转逻辑需完整(期初余额 + 增加额 - 减少额 = 期末余额)
  • 各表格的合计数应与主报表中的相关项目一致
  • 计算中所使用的假设条件需与“假设”选项卡中的内容相符

第5步:跨报表一致性检查

在验证完各单独报表后,需确认这三份报表已正确整合:

检查项公式预期结果
资产负债表平衡资产 - 负债 - 所有者权益= 0
现金一致性检查经营活动产生的现金流量期末现金余额 - 资产负债表现金余额= 0
净收入关联检查利润表净收入 - 经营活动产生的现金流量期初净收入= 0
留存收益计算上一期留存收益 + 净收入 - 股息支出 - 资产负债表期末留存收益= 0(必要时需根据折旧等项目进行调整)

第6步:最终审核

在认定模型完整之前:

  • 依次查看所有场景(如适用),确认每种情况下的校验都能通过
  • 检查所有的 #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 部分:营运资本

  • AR、库存及应付账款与资产负债表相关联
  • DSO、DIO、DPO的合理性检查(若超出正常范围则标记异常)

第6节:债务明细表

  • 总债务与资产负债表中的流动负债及长期负债相关联
  • 利息计算与损益表相关联

第6b节:股权融资

  • 股权发行所得资金与资产负债表中普通股及股东权益的增加额相关联
  • 来自股权融资的现金增加额等于股东权益账户的增加额(两者必须保持平衡)
  • 股权融资平衡关系:资产负债表中普通股的变动量/股东权益的变动量 = 股权发行带来的现金流净额(该值必须为0)
  • 第0年的股权融资平衡关系:第0年的股权融资额 = 第1年的期初股东权益

第6c节:亏损结转明细表

  • 第1年/企业成立时的期初亏损结转额为0(新成立企业初始无亏损结转)
  • 仅当息税前利润为负数时,亏损结转额才会增加(必须实际发生亏损才能形成亏损结转)
  • 税盾与资产负债表中的递延所得税资产相关联
  • 亏损结转的利用比例不得超过息税前利润的80%(符合2017年后的联邦法规限制)
  • 亏损结转余额必须为非负值(不得超出可用额度进行利用)
  • 仅当息税前利润为负数时才会产生亏损结转
  • 当应纳税所得额为或低于0时,税费为0

第7节:情景层级结构

  • 绝对指标:乐观情景 > 基准情景 > 悲观情景(净利润、息税折旧及摊销前利润、自由现金流)
  • 利润率指标:乐观情景 > 基准情景 > 悲观情景(毛利率、息税折旧及摊销前利润率、净利润率)
  • 信用指标:杠杆率的乐观情景 < 基准情景 < 悲观情景(顺序相反)

第8节:公式完整性

  • 销售成本、销售与营销费用、一般与管理费用、研发费用以及销售业务成本均按收入的比例计算(无硬编码值)
  • 各预测年度的公式保持一致
  • 不存在#REF!、#DIV/0!、#VALUE!等错误

第9节:信用指标阈值

  • 根据预设阈值将指标标记为绿色/黄色/红色
  • 显示所有红色警示的汇总信息

主检查公式

将所有模块的状态汇总为一项整体主检查结果:

  • 若所有模块均通过检查 → “✓ 所有检查均通过”
  • 若有任何模块未通过检查 → “✗ 检测到错误——请查看下方内容”

快速调试流程

当主状态显示存在错误时:

  1. 滚动页面找到被标为红色的模块
  2. 确定是哪一类检查出现了故障
  3. 转至“来源”标签页进行详细排查
  4. 解决根本问题
  5. 返回“检查”标签页确认问题已解决

数据来源 —— 首选 MCP,备用网页搜索

下文多处提到“使用 S&P Kensho MCP / Daloopa MCP / FactSet MCP”。这些均来自原有 Cowork 插件环境中的商业金融数据 MCP 工具。在 Hermes 中:

  • 如果您已配置了任何结构化的金融数据 MCP(Hermes 支持 MCP 功能,详见 native-mcp 技能),建议优先使用它们来获取特定时间点的对比数据、历史交易记录及财报信息。
  • 否则,可采取以下替代方案:
    • 对于美国公司的财报文件,可使用 web_search / web_extract 功能在 SEC EDGAR 网站(https://www.sec.gov/cgi-bin/browse-edgar)上搜索;
    • 从公司官网的投资者关系页面获取新闻稿和盈利报告;
    • 使用 browser_navigate 功能访问交互式数据门户;
    • 采用用户提供的数据(当上下文信息不足时需主动询问用户)。
  • 绝不可编造数据。如果无法找到相关倍数、历史案例或文件编号,应将该数据单元标记为 [UNSOURCED],并向用户明确说明。

出处标注

该智能体技能基于 Anthropic 的 Claude for Financial Services 插件套件(Apache-2.0 许可协议)开发。原版本中用于处理 Office-JS 和 Cowork 在线 Excel 文件的功能已被移除;当前版本则遵循 excel-author 智能体技能的规范,通过无界面方式调用 openpyxl 库来实现相应功能。原始代码地址:https://github.com/anthropics/financial-services