办公文档
需要做30/60/90天现金流预测…
当用户问“预测我的现金流”“我发得出工资吗”或提到“资金跑道”“现金紧张”时,基于账本、支付平台或CSV数据生成30/60/90天现金流预测。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 38/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
需要做30/60/90天现金流预测、判断特定
解决思路
- 识别可用数据源:检查哪些连接器在线,一次性批量拉取所有在线源——账本(MYOB、NetSuite、QuickBooks、Xero或Zoho Books,取已连接者)用于AR账龄、AP、固定成本和现金余额(各账本为对等源,若连接了两个需询问哪个是记录来源,只取该源的合计);PayPal用于交易历史和结算时间;Square用于销售和打款历史;Stripe用于扣款和打款历史;Shopify用于订单(list-orders)作为流入及打款时间(Shopify单独即可运行,但打款读取可能因连接器权限不含Shopify Payments而失败,此时向业主询问打款计划并据此建模,绝不推断延迟);无连接器时用CSV上传。若无连接器在线且无附件,请用户连接数据源或上传CSV(收入/支出表格数据,任意合理格式)。在输出中注明使用了哪些源,这影响置信区间宽度。
- 始终确定期初现金余额——“能否发工资”问的是余额而非净额。在Step 2拉取,或询问:“业务账户现在有多少钱,截至哪一天?”绝不假设。若无人知道,在输出标题标注“无期初余额——仅净变动”并从风险标记中移除手头现金。
- 从账本拉取:资产负债表(银行和现金余额及截至日期,即期初余额;MYOB不持有此数据);AR账龄报告(客户名、发票金额、发票日期、到期日、逾期天数);AP(供应商名、应付金额、到期日);经常性固定成本(租金、工资、订阅,查找经常性交易)。
- 从Gusto(若已连接)拉取:下次工资发放的日期和预期金额,以及常规发薪周期——用真实数字而非从经常性交易推断工资。当Gusto与账本对工资不一致时,以Gusto的时间和金额为准并在输出中说明。
- 从PayPal/Stripe/Square拉取:结算历史(交易日期、金额、结算日期);用结算延迟(交易日期→打款日期)计算各源的平均和方差支付延迟。
- 从CSV上传拉取:解析为收入/支出表格数据;必需列(命名灵活):date、amount、type(income或expense)、description;若列含义不明确,展示表头行并请用户确认映射。
- 计算历史付款时间:对每个AR客户(或CSV中的收入源)计算平均付款延迟(从发票/交易日期到收款的平均天数)和付款方差(最近6–12笔付款延迟的标准差);用方差设定置信区间宽度。若某客户付款记录少于3笔,用总体均值作为点估计并应用默认±30%方差区间;在CSV数据上若有足够历史(每源≥3笔付款),从实际付款方差计算区间,不要假设±30%。
- 构建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%——更高方差意味着数据太薄无法建模,改为标记(见Step 5)。
- 标记具名风险:扫描使低区间估计为负或造成流动性紧张的条件。每个风险生成一行标记:迟付风险(“客户X历史上迟付18天;这将其USD 8,400发票从30天窗口移到第48天”);工资紧张(“工资USD 22,000于4月15日到期。4月1日期初余额USD 31,000,加上流入减去流出,使4月14日低区间手头现金为USD 19,200。短缺风险:USD 2,800。”需要来源明确的余额);数据稀薄警告(“客户Y仅有2笔付款记录——置信区间设为默认±30%”);无连接器警告(“仅基于CSV数据运行——无实时AP或经常性成本数据。置信区间比正常更宽”)。按严重程度(美元影响最大者优先)限制为前5个风险。
- 交付聊天摘要(始终):用markdown表格而非围栏代码块展示预测(聊天界面渲染markdown表格,围栏块显示为原始等宽文本)。结构:标题行“Cash Flow Snapshot — <date range>”;来源“Source(s): <connectors used>”;期初余额“Opening balance: AUD X,XXX as of <date>”(或“none on file — net change only”)。然后以markdown表格展示预测,金额带业务货币代码(绝不使用裸符号):列Window/Expected/Low/High,行30-day net、60-day net、90-day net。然后在“⚠ Risks flagged: <count>”下以简短项目符号列表展示风险。
- 交付XLSX工作簿(始终):先读xlsx/SKILL.md,然后生成三个工作表:1. Summary——30/60/90预测表及置信区间;每个窗口行下方内联展开子行,显示构成其流入(绿色)和流出(红色)的个别交易,使估计可在Summary表内审计。2. Detail——所有交易按窗口分组,组内按日期排序;包含运行净额列(窗口内累计流入减流出)和每个窗口底部的子合计行(总流入、总流出、净额);过去交易在底部单独区域灰显供参考;确保三个窗口都有行即使某窗口为空——显示“No transactions in this window”占位行。3. Risks——标记的风险及美元影响和受影响窗口。保存为cash-flow-snapshot-[YYYY-MM-DD].xlsx。
- 交付预测页面(始终,与聊天摘要并列——绝不替代它),按业主存储的输出偏好交付——绝不默认markdown文件。检查“## Business context”块的“Output preference”:视觉制品(默认)——以内部风格将完整预测渲染为HTML页面,30/60/90天净额为统计磁贴,置信范围作为每个磁贴的上下文行,交易明细为右对齐tabular-nums金额的表格,每个风险标记带状态药丸(预计短缺为critical,迟付和数据稀薄为warn),来源和期初余额放在小头部面板;docx/md/notion/canva偏好——以该形式交付相同内容(DOCX或markdown文件、通过连接器创建的Notion页面(命名目标,绝不覆盖)、或通过Canva连接器创建的Canva Doc(每次运行新设计,以日期命名,表格变为列表)),若Notion或Canva未连接则回退到视觉制品并说明原因;XLSX仍一并交付。Best for skill:使用视觉制品——预测需一眼读懂且经常重跑。
- 运行后:用一行说明刚发生的事——预测已构建、风险已具名。然后提供单个最相关的下一步,外加至多两个邻近项:若标记了工资紧张,“can I make payroll”运行/plan-payroll;“Who owes me money?”运行invoice-chase以提前收款;“Close the month”运行/close-month使下次预测基于干净账本。最多三个提议,且绝不重复业主本次会话已拒绝的提议。
- 审批门:此技能为只读——生成预测前无审批门。交付后提醒用户:“This forecast is based on [sources listed]. It is not a substitute for accounting advice — verify with your bookkeeper before making financing decisions.”
- 更多来源和计划:读reference/v2_sources.md获取完整映射——Shopify(支付流入时间,常是商业业务最大单笔流入,结算有值得建模的延迟);NetSuite(记录账本,AR、AP、固定成本和现金余额通过报告和SuiteQL);Xero(记录账本:账龄应收、账单、银行余额及组织货币和财年);Ramp(尚未入账的卡支出,是预测悄悄乐观的最常见原因);Ramp balances(真实业务和资金账户余额及历史,当业主在Ramp开户时这是来源明确的期初余额而非需回忆的数字);MYOB(MYOB店铺的AR和AP腿,只读,且完全不持有银行或现金余额——绝不从中获取期初余额)。预测逻辑不变,这些是同一模型的额外腿。
- 按计划运行:此技能可调度。月度预设是在月初前的现金提醒。在业主觉得有用的一次预测后提议一次:“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.”调度是此技能的属性,无单独命令。
- QuickBooks汇总字段会撒谎:在引用QuickBooks汇总对象的任何合计前读../../shared/quickbooks-report-traps.md——AP账龄汇总将供应商信用净入其桶中可能显示负逾期数字,P&L汇总可能对真实行报告费用为零。合计各行,或使用明细调用。
- 参考文件:当连接器返回意外数据或方差极端时加载reference/gotchas.md;当为新数据形态建模输出格式时加载reference/examples/worked-example.md。
- 使用未列出的工具:此技能中命名的连接器是测试路径而非墙。若业主希望此流程使用未连接或未列出的工具,提供build-connector——它先检查连接器目录,否则通过Zapier连接,绝不手工对原始API构建。连接存在后,该工具像任何其他可选连接器一样加入此技能,受相同审批门约束。
适用边界 · 注意事项
- 此技能为只读,不适用于需要修改账本或执行付款的场景
- 无任何连接器在线且用户无法提供CSV时无法运行
- MYOB不持有银行或现金余额,不能从中获取期初余额