一个项目做完,
到底花了多少钱?
钱赚了不少,为什么手里还是没钱?这个单到底该不该接?报这个价,会不会把下个月的现金流拖垮?
这三句,是一个人开公司的人每天真的在问的。CashLens 一句一句替你算清楚。
说一句、拍一张、导一份,发票图片、数电发票 PDF、项目工时 Excel 报销表、微信支付宝账单,散在各处的数据归拢进一本账。往下是两件事:下个月会不会缺钱,这单接不接、报多少。
按项目接活的公司,一个活到底赚没赚算不清
活动执行、广告、会展、设计工作室——一个活一个价,几个项目并行跑。票散在微信、支付宝、报销表和邮箱里,到了月底,只剩一句“这单到底赚没赚”,没人答得上来,下次报价还是凭感觉。
问题从来不是不会记账,而是记完了也没人告诉你下一步怎么办。多数工具停在记账和报表,管不到“决策”这一层。
目标人群口径:全国登记在册个体工商户约 1.25 亿户(国家市场监督管理总局,截至 2024 年 9 月底)[1];全国一人有限责任公司(OPC)存量超 1600 万家[2]。人口规模不等于可达市场,CashLens 服务的是其中“按项目报价、自己管钱的小项目制公司”(活动 / 广告 / 会展 / 设计类)这个子集,而非全部个体工商户。
一层内核,三层能力
你不用学记账,也不用懂财务。说一句话、拍一张票、导一份账单,剩下的三步我们替你走:先把钱归拢,再把账照见,最后在决策点上给一句话。
入口有好几种,账本只有一本:拖一张发票、拖一张报销表、拖一个装满票据的文件夹,都能记一笔。背后是三件事,归拢、照见、建议。
说一句、拖一份,都记进同一本账
1. 图片:发票或小票 JPG / PNG,真实数电发票实弹已过;2. PDF:数电发票 PDF 有文本层就本机直读;3. Excel 报销表:读表取数,并提取表内嵌入的票据图做双源核对,以表内数字为准;4. CSV 账单:微信、支付宝官方账单一键导入。说一句(文字或语音)同样能记一笔,语音本地实弹转写已跑通,按复赛节奏接入。拖一整个文件夹进来时,第一层文件夹名就是项目名,导入后随时可改。所有数据汇入一本不可变的“事件账本”,官方导出才是正道,不做不稳定的平台自动同步。
拖进来的不一定是一张票:系统先判这一页是什么——票面、付款凭证(取实付)、待支付页、订单列表、聊天 / 文字截图——再决定记不记账,每条都写清为什么;截图里若有退款,实付与退款两个数由识别读出、净额由代码相减,备注把三个数摆出来对账;订单列表与付款凭证按时间配对(同一天且相差 ≤5 分钟算同一笔),没配上的如实列出。读出来的东西不会自己进账:先进“待确认”,你确认(可顺手改归属项目与分类)才入账,也支持批量确认 / 批量丢弃(丢弃进回收站,点一下就能撤回,撤回不写账本);扫不出来的图直接告诉你是哪几张要重传,导入跑到一半还能取消。四类输入通道已实装页面类型判定已实装待确认与人工确认已接入工作台导入可中途取消项目归集已实装
不看记了多少笔,看钱撑不撑得住
把流水变成财务画像 + 30/90 天现金流区间预测 + 待唤醒动作。状态可升可降、会过期、能从账本重建,所以“记了一笔”不等于“现金流健康”。
在决策点上,给一句有依据的话
这单接不接、报多少,结合现金垫底、历史回款周期、时间成本给出报价下限与理由;缺口提前 30 天预警,把“怕断粮”变成“提前备粮”。
同一种“没人管钱”,两种完全不同的账
一个人干活的人,每天问的是“这单接不接、报多少”;开着店、带着几个人的老板,每天问的是“这批货进不进、工钱和发票怎么算”。问题不一样,要算的账也不一样。
CashLens 不做通用记账。下面两栏,左边是他们真实的钱长什么样,右边是我们怎么接。
活动 / 会展项目公司每天真正在问的是:这个活花了多少?下次报多少?
他们的钱,长这样
- 一个项目一堆票:打印、打车、搭建、外包工时散在微信、支付宝、报销表和邮箱里,月底对不上这一单到底花了多少。
- 多个项目并行:钱进的一个账户、出的一个账户,谁的钱算哪个项目全靠记忆,串了账就再也分不清。
- 垫钱与回款不同步:先垫材料与人工,甲方两三周后才回款,账上看着有钱、实际是欠着的。
- 下次报价还是凭感觉:这一单到底赚没赚说不清,报价只能“照着上次差不多”。
CashLens 怎么解决
一个项目一张账,把这个项目从收到付的钱都挂到它身上——票、账单、报销表、外包工时,最后给你一张表:这个活收了多少、花了多少、净赚多少。这是产品的第一句承诺,也是唯一第一天就能兑现的东西。已实装 · 工作台可用
关账时对一次账:账面 vs 有账单凭证的收入 vs 已收票据,差额说人话(手续费没记 / 还差几张票)。有几栏出几栏,没导入过账单就不摆“到账 0 元”。已实装
报价下限(可复算),由账本里的历史时薪 × 工时 × 税负反推,每个数字可追到具体那笔账;缺带工时的收入记录时直接说“算不出”,不拿默认值假装算出报价。给的是依据,不替你拍板。后端已实装 · 工作台已出决策卡
现金流预测,按你的收入节奏预测未来 30/90 天区间(带置信带),缺口提前预警,把“怕断粮”变成“提前备粮”。
假设检验闭环,报价时说“3 天回款”,账本发现该客户实际要 3 周,就自动标记偏差,下次报价自动参考。规划中
报税收入归集,收入自动按季度归集,按分类、客户、月份拆开,不再临时翻流水。到点主动提醒尚未实装。归集已实装 · 提醒规划中
产品里的一次真实决策
工作室 / 小团队每天真正在问的是:这单赚没赚?工钱、报销、发票怎么算?
他们的钱,长这样
- 一摊多角色账:员工工时工分、报销发票、进货款、日营收,混在一起手工算。
- 发票是硬刚需:客户要开票、自己报销要票、季度报税要归集,一票都不能丢。
- 月底结算靠 Excel 来回传:工时 × 单价 × 加班,人情账和账本永远分不清。
CashLens 怎么解决
项目归集、票据与报销表导入、开票、报税、工时汇总均已实装并跑过实测;图片 / PDF / Excel 报销表走统一上传入口,工作台已支持拖拽导入;末项属决策引擎、规划中
按项目归集,报销和收入都记到具体项目上(例如某个门店、某趟出差),月底各归各的,一眼看清哪个项目赚了、哪个项目垫了多少。项目名随时可改,改名不影响已经记下的账;没指定项目的先放在一起,之后再归。拖整个文件夹进来时,第一层文件夹名直接就是项目名。已实装
报销票据归集,发票拍照、PDF 上传或整张报销表拖进来,金额、日期、商户自动识别,你确认后入账(证据 0.85)。识别结果必须人工确认,机器加人,才计 0.85。发票图片、数电发票 PDF、整张 Excel 报销表都能收;报销表以表内数字为准,嵌入图的识别结果只用于核对,机器不覆盖人写的数。已实装 · 上传入口已接入工作台
开票信息生成,按客户汇总账本里的收入明细,备好税目候选、金额与价税合计,开票记录可追溯。税目只给候选、开票状态需你确认,不代开发票。后端已实装 · 工作台展示规划中
报税收入归集,季度收入自动归集,按分类、客户、月份三个维度拆开,不再临时翻流水。只归集事实,不算应纳税额,不给筹划建议。后端已实装 · 工作台展示规划中
工时 / 工分自动汇总,把整张项目工时 Excel 拖进来,自动认列、按人汇总,出工资参考表。列认不出时交你确认,不猜列;一次可以拖多张;语音口述工时规划中。已实装 · 已接入工作台
进货决策,把进货翻译为接单决策的进货版:这批货压多少现金、多久回本。规划中
产品里的一次月底结算
月底那张工资表,是拖进去出来的
已实装 · 已接入工作台 解析端点已跑过实测:自动认表头、认列、按人汇总;工作台支持拖文件与拖整个文件夹,文件夹名自动成为项目名三个创新,指向同一个差异:
财务决策层的“可信”
它说的数字,你敢不敢照着做决定?下面三件事,就是让这句话站得住的全部理由。
不是又一个记账工具,是把你散落的钱变成能支撑决策的证据。
1. 财务状态引擎
证据驱动 · 防幻觉
每次收支按证据强度分级入账,只有真实证据才能改变财务状态,系统不猜测你的健康度。
2. CashPulse 预测
区间预测 · 绝不玄学
基于你的历史收入节奏,输出未来 30/90 天现金流区间(90% 区间按历史波动以正态近似估算,样本不足时如实标注不可信),可信度低时明示“现金流不明”,而不是给一个假装精确的数字。
3. 假设检验闭环
记忆体 · 越用越准规划中
每次决策记录“当初假设”,账本自动检验偏差。报价时以为 3 天回款、实际 3 周,偏差会被标记,下次报价自动参考。
一次分析,持续陪伴。这是“财务记忆体”的复利,也是与记账工具的分水岭。
采集 → 理解 → 建议 → 反馈
你说一句话出去,一句建议回来。中间走四步,四步转一圈就是一圈复利。
采集
说一句 / 拍一张 / 拖一个文件夹,四类文件(图片、PDF、Excel 报销表、CSV 账单)任选,成本趋近于零。
→理解
事件账本 → 财务状态引擎:画像、区间、可信度。
→建议
决策点给依据:接单报价、缺口预警;报税提醒属规划。
→反馈
周报 + 假设检验回灌账本,修正下一次建议。规划中
1 个 Agent + 3 个 SKILL(当前)· MVP 定稿 8 项功能
说人话:一个 Agent 当大脑,遇到什么事就翻开对应的一本“操作手册”。记账、预测、报价各是一本,谁该上场由它按需挑,你只管说人话。
SKILL 是方法论文件(Markdown),不是常驻进程。三个数字别混:当前实际在用 3 个 SKILL(记账 / 接单决策 / 现金流预测)· MVP 定稿 8 项功能 · 方法论侧规划 33 个 SKILL,其余按 Phase 2/3 渐进补齐。
财务状态引擎
证据分级 · 状态标签
已实装记账 accounting
采集 · 分类 · 入账
已落地现金流预测 cashflow-forecast
CashPulse · 区间预测
已落地接单决策 order-decision
报价下限 · 三道闸门
已落地用真实票据验证,而不是嘴上说说
我们不说“技术领先”,只说跑过什么、错在哪、打算怎么修。
核心工程链路已实测,以下是四项代表性实弹记录,如实呈现,包括发现的问题与修复结果。其余标注“规划中”的能力尚未实装。
1. 云端 LLM 视觉识别 · 真实数电发票 2026-09-04 实弹
| 字段 | 识别结果 | 判定 |
|---|---|---|
| 金额(价税合计 ¥530.00) | 530.0 | 正确 |
| 开票日期 2026-08-26 | 2026-08-26 | 正确 |
| 商户(销售方) | 上海·餐饮商户(隐私打码) | 正确 |
| 分类 / 明细 | 餐饮 · 餐饮费 ¥500 + 6% 税 | 正确 |
| 发票号码(20 位) | 当时漏读 1 位 | 09-24 已修复 |
票据识别在工作台里可选三档(本机模型 / 云端模型 / 不使用模型),随时可换;数电发票 PDF 另有本机解析通道,可直接读出结构化字段。用一张真实电子发票端到端实测,核心字段全对;发票号码 20 位漏读 1 位的缺陷如实记录后已修复,做法见下方第 3 项。语音转写与账本数据留在本地。
2. 引擎五项能力实测 2026-08-28 实弹
| 判定项 | 结果 |
|---|---|
| SKILL 注入(财务 SKILL 自动触发) | 通过 |
| MCP 工具注册(查现金流状态) | 通过 |
| 中文财务指令路由 | 通过 |
| FastAPI 后端直连引擎 | 通过 |
| 开发期编排实验:SKILL 注入 → MCP 取数 → 多视角审议 | 已留痕 · 未进产品链路 |
第 5 项是开发期在引擎工作区做的编排实验:主引擎加载 SKILL、真调 MCP 取数,再让记账 / 现金流 / 风控三个视角各自独立给意见、由主引擎汇总成一张联合评估表(2026-08-28 与 09-28 两次实测,后一次三段耗时重叠 2.0 倍,原始事件流留痕在 08-实测/)。产品运行时走的是更简单的一条确定性链路(见下条):数值由本地账本计算,LLM 不参与数值。
3. 小微能力补课、四类输入通道与本地模型档 2026-09-24 实弹
| 实弹项 | 做法 | 结果 |
|---|---|---|
| 四类输入通道打通 | 图片 / PDF / Excel 报销表 / CSV 账单统一采集入口;拖文件夹自动建项目 | 11 条草稿合计 ¥1,346.35 |
| 报销表双源对账 | 表内数字为准,嵌入图识别结果只用于核对,机器不覆盖人写的数 | 对账差额 ¥0.00 · 核对 10/10 |
| 发票号码漏位修复 | 20 位硬校验 + 用 PDF 自带文本层做双源交叉核对 | 19/19 通过 |
| 工时 Excel 导入汇总 | 纯标准库解析 xlsx,自动认表头与列,按人汇总 | 端到端通过 |
| 开票 / 报税归集 | 账本同源聚合:按客户、按季度两个维度 | 端到端通过 |
| 本地模型档(本机推理) | 本机视觉模型识别同一张真实发票 | 6 字段全对 |
| 接单决策(报价该不该接) | 确定性计算:历史时薪由账本反推(**逐单时薪取中位数**),三道闸门(现金流垫底 / 回款周期 / 税后到手),报价下限 = 时薪 × 工时 ×(1 + 税负 + 平台抽成) | 实弹:历史时薪 ¥210.00/时 · 报价下限 ¥4,200.00 · 低于这个线判「不接」 |
| 工程规模 | 后端端点 37 个 · 后端单测 509 条 · 页面行为回归 16 项 | 全部通过 |
以上各项均已在真实材料上跑通。号码这条最关键:漏位是票据识别里的稳定缺陷,修复不靠反复重试模型,而是加两道确定性关卡。一是格式硬校验,20 位不匹配就不得自动入账;二是用数电发票 PDF 自带的版式文本层做双源交叉核对,只在两源恰好差一个 0 时采纳文本层值,候选不唯一一律转人工。真实票据复测已拿回完整 20 位号码,全程在本机完成。本地模型档用本机视觉模型识别同一张发票,金额、日期、商户、分类与 20 位号码全部正确(单张样本,不作强弱结论)。工时表与归集同理:认不出的列交用户确认,只出参考表与事实归集,不猜、不替用户下结论。
四类输入通道这条同样是真材料实弹:客户的发票形式与统计形式各不相同,所以图片、PDF、报销表、账单四类都要能在基础功能里收。用一份真实项目材料(一张酒店数电发票 PDF,加一张 10 行的 Excel 报销表)走完整流程:把文件夹拖进来就自动建好项目,11 条草稿合计 ¥1,346.35,与表内总计差额 ¥0.00,双源核对 10/10 全对。报销表以表内数字为准,嵌入图的识别结果只用于核对,机器不覆盖人写的数。
接单决策这条要说清它「不做什么」。它给的是报价下限与三道闸门,不是替你拍板:历史时薪从账本反推,所以账本里没有带工时的收入记录时,它会直接说「算不出你的历史时薪」,而不是拿一个默认值假装算出报价;引用现金流预测时同时标注这是「近 90 天累计净流」的代理口径,因为账本里没有「当前余额」这个量,它需要你自己填。实测两种情形都验过:构造账本下算出时薪 ¥210.00/时、下限 ¥4,200.00;空账本下判定为「再考虑」、报价下限留空。税后口径也单独设了一道闸门,因为「税前看着达标、税后并不达标」是这个人群最常见的误判。
4. 采集判定:一页一页认,谁该记、谁不该记 2026-09-28 实弹
| 实弹项 | 做法 | 结果 |
|---|---|---|
| 付款凭证当票据 | 先判这一页是什么:账单详情页与支付成功页各取一条“实付”;待支付页不记账、改为列成候选,备注写清付款状态由你判 | 真图四笔各就各位(11.20 经营 / 77.00 人情 / 72.00 经营 / 57.70 交通) |
| 退款减净额 | 识别只负责读“实付”与“已退款”两个数,净额由代码相减,备注把三个数摆出来对账 | 78 − 6 = 72,按净额入账 |
| 订单列表 ↔ 付款凭证配对 | 同一天且相差 ≤5 分钟算同一笔,金额只作附注;没配到的如实列出、不自动记账 | 实测相差 44 秒判为同一笔,另一条如实列为没配到 |
| 聊天 / 文字截图按图里结构记账 | 不是票面时逐行读回文字,只列该付的钱;图里自己算出的合计、以及算式里被再引用一次的数都不重复列 | 那张报账图正好 3 条:186.79 交通 / 110 经营 / 549.6 餐饮 |
| 导入中途取消 | 点“取消”断开那条进度流:正在读的那张会跑完,后面的文件一个都不开始 | 隔离后端实测:取消后两个 CSV 零草稿 |
| 读不出来就请他重传 | 扫不出金额的图不再沉默:逐文件与汇总都点名是哪几张,建议重新上传 | 同一张图两次结果不一致的缺陷已如实记录 |
| 丢弃可撤回 | 丢弃改成软删除进回收站,那句小字后面一个「撤回」,撤回不写任何账本事件 | 界面级核对 9 项全过(拦住端点造假数据,账本零写入) |
这批口径全部由真实用户拿真图逐张验收后定下来,也包含被他当场纠正的地方。最典型的是订单列表:最早的改法是“列表页一律不记账”,用户反问“你是不是只从 78 元这个数字判断的?我是按一张图的支付时间和另一张图的打印时间来判定的”——于是重做成按时间配对(同一天且相差 ≤5 分钟算同一笔),金额只作附注。另有一条我自己造成的静默失灵:改了识别提示词却忘了推进版本号,缓存继续返回旧结构的识别结果,症状是字段都在、内容是旧的;现在指纹改成提示词正文的哈希,改一个字旧缓存自动失效。金额仍然全部来自原文,记哪几笔由你在“待确认”里决定,机器不替你挑、不自动入账。
纪律:AI 自报不可信。每个 SKILL 都要配 golden case 与真实数据实弹验证,这条纪律从第一天就写在开发规范里。
三步走:先跑通一笔订单,再谈产品化
不写新代码,先带着现有工具去服务 3 家小项目制公司。有人愿意先付钱,才谈下一步。
以下为当前路线,每一步都先拿到真实结果再对外说;没做到的不提前讲。
手工交付 3 家
用现有工具接 3 家小项目制公司(活动 / 广告 / 会展 / 设计),每家交一份项目成本明细表;客户材料走隔离数据目录,不碰本机真账本。
≥2 家先付钱
判据不是"说好",是"先付钱"。达到才谈打磨成正式产品;都说好但没人付,功能就留在 CashLens 内当卖点,不单独立项。
才谈产品化
邀请制在线实例已上线(一码一账,不公开注册);仍不追求规模,付费验证仍是主线。
两种场景,各走一遍
上面说的两种人,这里各有一段能点的剧本。跟着走一遍,看它每一步怎么答。
也可以自己输入,或用麦克风说一句,试试你平时会说的话。