mcpField
C
cash-flow-snapshot

cash-flow-snapshot

github.com/anthropics数据与数据库33.6k1.9k 次安装1 天前更新
代码仓库

关于 cash-flow-snapshot

cash-flow-snapshot 面向需要掌握近期流动性的企业经营者。它汇总已连接的会计与支付数据或上传的 CSV,生成 30/60/90 天预测、具名风险提示和可供审阅的文件。

主要功能

  1. 0130/60/90 天现金流预测
  2. 02基于付款差异的置信区间
  3. 03具名流动性风险提示
  4. 04聊天摘要与 XLSX 工作簿
  5. 05HTML 预测页或偏好格式

适用场景

  1. 01检查现金能否覆盖近期工资
  2. 02发现延迟付款对流动性的影响
  3. 03按时间窗口审阅预测交易

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/anthropics/knowledge-work-plugins --skill cash-flow-snapshot

安装后在 Claude Code 中输入/cash-flow-snapshot确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

reference/
gotchas.md
v2_sources.md
reference/examples/
worked-example.md

详细介绍

现金流快照

生成 30/60/90 天现金流预测,附带基于百分比方差的置信区间和具名风险标记。输出分为两部分:简明的聊天摘要和可下载的 XLSX 工作簿。

快速开始

"下个月我能发工资吗?"

Claude 会从已连接的数据源中提取当前银行余额、应收/应付账款和固定成本,计算 30、60 和 90 天窗口内的预期流入与流出,根据每位客户的付款方差应用置信区间,并按名称标记具体风险。


工作流

第 1 步:确定可用数据源

检查哪些连接器处于在线状态。一次性从所有在线的数据源中批量提取数据:

  1. 账本:MYOB、NetSuite、QuickBooks、Xero 或 Zoho Books,以已连接者为准,用于提取应收账款账龄、应付账款、固定成本和现金余额。各账本地位平等(../../shared/connector-neutrality.md);若连接了两个账本,询问哪个是权威数据源,并且仅从该账本获取总额
  2. PayPal:交易历史和结算时间
  3. Square:销售和付款历史
  4. Stripe:收款和付款历史
  5. Shopify:订单(list-orders)作为流入来源,以及付款时间。仅凭 Shopify 即可运行:对于电商业务,它往往是最大的流入来源。付款读取可能因连接器权限范围不包含 Shopify Payments 而失败,此时应向业务主询问其付款计划并据此建模;切勿推断延迟时间(reference/v2_sources.md)
  6. 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,XXXAUD X,XXXAUD X,XXX
60 天净额AUD X,XXXAUD X,XXXAUD X,XXX
90 天净额AUD X,XXXAUD X,XXXAUD X,XXX

接着,以简短的项目符号列表列出风险,标题为"⚠ 标记风险:<数量>"。

XLSX 工作簿(必须提供):先阅读 xlsx/SKILL.md,然后生成三个工作表:

  1. 摘要——包含置信区间的 30/60/90 天预测表。在每个时间窗口行下方,以内嵌子行展开该窗口流入(绿色)和流出(红色)所包含的各笔交易。这样无需离开摘要工作表即可核查估算。

  2. 明细——所有交易按时间窗口分组,每组内按日期排序。包含一列累计净额(窗口内累计流入减去流出),并在每个窗口底部加入小计行,显示总流入、总流出和净额。将过去的交易在底部单独分区并置灰,供参考。即使某个窗口为空,三个窗口也都必须有行数据——此时显示"该窗口无交易"占位行。

  3. 风险——已标记的风险,包括金额影响和所属时间窗口。

保存为 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,并遵循相同的审批关卡。

评论

支持 Markdown