关于 cash-flow-snapshot
cash-flow-snapshot 面向需要掌握近期流动性的企业经营者。它汇总已连接的会计与支付数据或上传的 CSV,生成 30/60/90 天预测、具名风险提示和可供审阅的文件。
主要功能
- 0130/60/90 天现金流预测
- 02基于付款差异的置信区间
- 03具名流动性风险提示
- 04聊天摘要与 XLSX 工作簿
- 05HTML 预测页或偏好格式
适用场景
- 01检查现金能否覆盖近期工资
- 02发现延迟付款对流动性的影响
- 03按时间窗口审阅预测交易
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ anthropics/ knowledge-work-plugins --skill cash-flow-snapshot安装后在 Claude Code 中输入/cash-flow-snapshot确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
reference/gotchas.mdv2_sources.mdreference/examples/worked-example.md详细介绍
现金流快照
生成 30/60/90 天现金流预测,附带基于百分比方差的置信区间和具名风险标记。输出分为两部分:简明的聊天摘要和可下载的 XLSX 工作簿。
快速开始
"下个月我能发工资吗?"
Claude 会从已连接的数据源中提取当前银行余额、应收/应付账款和固定成本,计算 30、60 和 90 天窗口内的预期流入与流出,根据每位客户的付款方差应用置信区间,并按名称标记具体风险。
工作流
第 1 步:确定可用数据源
检查哪些连接器处于在线状态。一次性从所有在线的数据源中批量提取数据:
- 账本:MYOB、NetSuite、QuickBooks、Xero 或 Zoho Books,以已连接者为准,用于提取应收账款账龄、应付账款、固定成本和现金余额。各账本地位平等(
../../shared/connector-neutrality.md);若连接了两个账本,询问哪个是权威数据源,并且仅从该账本获取总额 - PayPal:交易历史和结算时间
- Square:销售和付款历史
- Stripe:收款和付款历史
- Shopify:订单(
list-orders)作为流入来源,以及付款时间。仅凭 Shopify 即可运行:对于电商业务,它往往是最大的流入来源。付款读取可能因连接器权限范围不包含 Shopify Payments 而失败,此时应向业务主询问其付款计划并据此建模;切勿推断延迟时间(reference/v2_sources.md) - CSV 上传:当没有连接任何连接器时使用
如果没有在线的连接器,也没有附加文件,请让用户连接数据源或上传 CSV(收入/支出表格数据,任何合理格式均可)。在输出中注明所用的数据源,因为这会影响置信区间的宽度。
务必确定期初现金余额:"我能否发工资"问的是余额,而不是净额。在第 2 步提取余额,或询问:"企业账户目前有多少钱?截至哪一天?"切勿假设余额。 如果无人知晓,请在输出标题处注明"无期初余额——仅显示净变动",并从风险标记中去掉库存现金相关项。
第 2 步:提取数据
从账本提取:
- 资产负债表:银行和现金余额及截止日期——即期初余额(MYOB 不提供此数据;参见
reference/v2_sources.md) - 应收账款账龄报告:客户名称、发票金额、开票日期、到期日、逾期天数
- 应付账款:供应商名称、应付金额、到期日
- 定期固定成本:房租、工资、订阅费(查找定期交易)
已连接 Gusto 时提取:
- 下一次工资发放的日期和预计金额,以及常规薪酬周期——这是最大固定成本的真实数据,而不是从定期交易中推断工资。若 Gusto 与账本的工资数据不一致,以 Gusto 的时间和金额为准,并在输出中说明
从 PayPal / Stripe / Square 提取:
- 结算历史:交易日期、金额、结算日期
- 利用结算延迟(交易日期至付款日期)计算每个数据源的平均付款延迟及其方差
从 CSV 上传提取:
- 按收入/支出表格数据解析
- 必需列(命名可灵活):日期、金额、类型(收入或支出)、描述
- 若列含义不明确,展示表头行并请用户确认字段映射
第 3 步:计算历史付款时间
对每位应收账款客户(或 CSV 中的每个收入来源),计算:
- 平均付款延迟——从开票/交易日期到收款之间的平均天数
- 付款方差——最近 6–12 次付款中付款延迟的标准差
- 使用方差确定置信区间宽度(参见第 4 步)
若某客户的付款次数少于 3 次,则以总体均值作为点估计,并默认应用 ±30% 的方差区间。若基于 CSV 数据运行且历史记录充足(每个数据源 ≥3 次付款),则应根据实际付款方差计算区间——不得假设为 ±30%。
第 4 步 — 构建 30/60/90 天现金流预测
生成三个时间窗口:0–30 天、31–60 天、61–90 天。
对每个窗口计算以下内容:
| 项目 | 计算方法 |
|---|---|
| 预期流入 | 窗口内到期的应收账款(AR),按平均回款延迟进行调整 |
| 预期流出 | 窗口内到期的应付账款(AP)+ 窗口内发生的固定成本 |
| 净现金头寸 | 流入 − 流出 |
| 置信区间 | ± 加权平均回款差异,占预期流入的百分比 |
置信区间公式:
band_pct = weighted_avg_stddev_days / avg_payment_lag_days
low = net_cash × (1 − band_pct)
high = net_cash × (1 + band_pct)
将 band_pct 保留一位小数。上限为 ±50%。如果差异更大,说明数据不足以建模,应改为标记(见第 5 步)。
第 5 步 — 标记具体风险
扫描可能使低位区间估算转为负值或造成流动性紧张的情况。对发现的每项风险,生成一行标记:
- 延迟付款风险: "客户 X 历史上平均延迟 18 天付款;这会将其 8,400 美元的发票从 30 天窗口移至第 48 天。"
- 工资发放紧张: "工资(22,000 美元)于 4 月 15 日支付。4 月 1 日期初余额为 31,000 美元,加上流入、减去流出后,4 月 14 日低位情景下的现金余额为 19,200 美元。短缺风险:2,800 美元。需要有据可查的余额数据。"
- 数据不足警告: "客户 Y 仅有 2 笔付款记录,置信区间已设为默认的 ±30%。"
- 未接入连接器警告: "当前仅使用 CSV 数据运行,没有实时的应付账款或定期成本数据。置信区间比正常情况更宽。"
按严重程度(美元影响金额从大到小)仅保留前 5 项风险。
Step 6 — 交付输出
聊天摘要(必须提供)。预测使用 markdown 表格,而不是代码块——聊天界面会渲染 markdown 表格,代码块会显示为原始等宽文本。格式如下:
- 标题行:现金流快照 — <日期范围>
- 数据来源:<使用的连接器>
- 期初余额:AUD X,XXX,截至 <日期>(或:暂无记录——仅显示净变动)
然后以 markdown 表格形式呈现预测,金额须附带企业的货币代码(../../shared/currency-and-locale.md),不得只使用货币符号:
| 时间窗口 | 预期 | 低值 | 高值 |
|---|---|---|---|
| 30 天净额 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 60 天净额 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
| 90 天净额 | AUD X,XXX | AUD X,XXX | AUD X,XXX |
接着,以简短的项目符号列表列出风险,标题为"⚠ 标记风险:<数量>"。
XLSX 工作簿(必须提供):先阅读 xlsx/SKILL.md,然后生成三个工作表:
-
摘要——包含置信区间的 30/60/90 天预测表。在每个时间窗口行下方,以内嵌子行展开该窗口流入(绿色)和流出(红色)所包含的各笔交易。这样无需离开摘要工作表即可核查估算。
-
明细——所有交易按时间窗口分组,每组内按日期排序。包含一列累计净额(窗口内累计流入减去流出),并在每个窗口底部加入小计行,显示总流入、总流出和净额。将过去的交易在底部单独分区并置灰,供参考。即使某个窗口为空,三个窗口也都必须有行数据——此时显示"该窗口无交易"占位行。
-
风险——已标记的风险,包括金额影响和所属时间窗口。
保存为 cash-flow-snapshot-[YYYY-MM-DD].xlsx。
预测页面(必须提供,与聊天摘要一并交付,不可替代聊天摘要),并依据企业主人存储的输出偏好交付——切勿默认生成 markdown 文件。请检查 ## Business context 区块中的 Output preference(共享样式指南规则,../../shared/artifact-style.md):
- 可视化产物(默认): 以既定风格将完整预测渲染为 HTML 页面。30/60/90 天净额使用统计卡片,每张卡片的上下文行显示置信区间;交易明细为表格,金额右对齐并使用等宽数字;每个风险标记带有状态标签——预计资金短缺使用 critical(严重),迟付款客户及数据不足类标记使用 warn(警告);数据来源和期初余额置于小型页眉面板中。
- docx / md / notion / canva 偏好: 以该形式交付相同内容——DOCX 或 markdown 文件,通过连接器创建的 Notion 页面(指定目标位置,绝不覆盖现有页面),或通过 Canva 连接器创建的 Canva 文档(每次运行均新建设计,并以日期命名;表格转换为列表);若 Notion 或 Canva 未连接,则退回可视化产物,并说明原因。XLSX 仍需一并交付。
- Skill 偏好: 使用可视化产物——预测需要一目了然地阅读,且经常重新运行。
运行之后
用一行话说明刚刚完成的工作:预测已生成,风险已列明。然后提出最相关的单个后续步骤,并最多附带两个相关建议:
- 若标记了工资资金紧张:“我能否发放工资”将运行
/plan-payroll。 - “谁欠我钱?”将运行
invoice-chase,提前推进催收。 - “结账本月”将运行
/close-month,使下一次预测基于已整理的账目。
最多提供三条建议,且不得重复本次会话中用户已拒绝的建议。
审批关卡
本 Skill 为只读操作——生成预测前无需审批关卡。
交付后提醒用户:
"本预测基于[列出的数据来源]。它不能替代会计建议——在做出融资决策前,请与您的簿记人员核实。"
更多数据源与定时任务
完整映射请阅读 reference/v2_sources.md:
- Shopify:回款到账时间。对电商企业而言,它往往是最大的单笔现金流入,而且结算存在延迟,需要纳入建模
- NetSuite:权威账本,在规模较大的企业中较为常见。包括应收账款(AR)、应付账款(AP)、固定成本,以及通过报表和 SuiteQL 获取的现金余额
- Xero:权威账本。提供账龄应收款、应付账单、银行余额,以及机构的记账货币和财年
- Ramp:尚未入账的卡片支出,这是预测悄然偏乐观的最常见原因
- Ramp 余额:真实的企业账户和资金管理账户余额,附带历史记录。当业主的账户开在 Ramp 时,期初余额即来自数据源,而不再需要业主自行回忆
- MYOB:MYOB 用户的应收账款(AR)和应付账款(AP)数据。只读,并且完全不包含银行或现金余额。切勿从 MYOB 获取期初余额
预测逻辑本身不会因此改变。这些只是接入同一模型的额外数据来源。
按计划运行
此 Skill 支持定时运行。月度预设用于在月份切换前提前提示现金状况。
在业主认可某次预测结果后,提供一次设置选项:
Want this monthly, a few days before month end? That's when it's most useful,
and it's the same forecast you just got.
定时运行是此 Skill 自身的功能,没有单独的命令。
QuickBooks 汇总字段可能有误。 在引用 QuickBooks 汇总对象中的任何总额之前,请阅读 ../../shared/quickbooks-report-traps.md。应付账款账龄汇总会将供应商贷项计入各账龄区间,可能显示负数的逾期金额;损益表汇总可能在存在实际明细行的情况下将费用显示为零。请对明细行求和,或改用明细接口。
参考文件
| 文件 | 加载时机 |
|---|---|
reference/gotchas.md | 当连接器返回异常数据或差异极端时 |
reference/examples/worked-example.md | 为新的数据结构设计输出格式时 |
使用未列出的工具
本 Skill 中提及的连接器是经过测试的路径,并非唯一选择。如果业主希望此流程使用未连接或未列出的工具,可提供 build-connector。它会先检查连接器目录,否则通过 Zapier 连接,绝不会直接对原始 API 手动开发。连接建立后,该工具将与其他可选连接器一样加入本 Skill,并遵循相同的审批关卡。