我做了一个在线报价单 SaaS:用 Schema 和公式引擎,替代 Excel 出单
做了几年 ent 和工具类产品,身边最常见的一个「看起来简单、实际很烦」的流程,是报价。
销售改一版 Excel,公式被谁删了一格;发给客户的 Word 换台电脑版式就乱;客户回一句「数量改成 200」,整张表又要重算一遍。大公司有 ERP,中小团队和独立开发者接私活时,往往只能靠表格硬扛。
于是我做了 Quotely:一个浏览器里就能用的动态报价系统。现阶段完全免费,注册即可用完整功能。



产品地址:https://quote.comtools.cn
客户视角示例(免登录):打开一份真实报价单
出品方:ComTools
- 为什么不继续用 Excel?
Excel 很强,但当「报价」变成一条业务线时,它会露出几个结构性问题:
痛点 实际后果
公式散落在单元格里
多人改模板,一格错整表错
版式不适合对外
截图发微信、PDF 导出难看
历史报价难检索
桌面一堆 报价单-最终-v3-真最终.xlsx
客户无法在线查看
来回传附件,改一版发一版
字段无法按行业扩展
外贸要 Incoterms,工程要分项,IT 要人天
Quotely 的思路很简单:把结构、计算、导出拆开。
结构交给模板(可视化拖拽,底层是 JSON Schema)
计算交给公式引擎(改数量,总价自动更新)
导出交给 PDF / 在线分享链接
销售只填业务数据,不必修公式、不必调边距。
- 产品能做什么
面向外贸、制造、工程装修、IT 服务、广告等需要频繁出单的团队:
可视化模板构建器
左侧字段库、中间 A4 画布、右侧属性面板。文本、数字、图片、选项、公式、产品明细表都可以拖上去。内置 12+ 行业预设,复制后微调即可。
动态公式引擎
数量 × 单价、折扣、税率、汇总行联动。公式写在模板层,填单时不会被误删。字段名支持中文,例如 小计 = 数量 * 单价。
客户库 / 产品库
常用客户和 SKU 沉淀下来,创建报价时直接引用,少重复录入。
PDF 导出 + 在线分享
一键导出可打印 PDF;或生成免登录链接,可加访问码。能看到浏览次数,链接可作废重发。
中英双语
外贸场景可切英文站,客户打开的是同一份结构、不同语言界面。
现阶段注册即免费,无模板数量、无报价数量限制。早期更在意把工作流做顺,而不是先收钱。
- 技术选型(给同好看的部分)
栈比较克制,方便一个人维护:
Next.js 15 App Router + TypeScript
Tailwind + shadcn/ui
Supabase Auth + PostgreSQL
公式引擎自研(tokenize → parse AST → 依赖图拓扑求值)
@react-pdf/renderer 出 PDF
表单 Schema 驱动,字段类型可扩展(Text / Number / Image / Formula / 产品表……)
几点刻意做的设计:
Schema 驱动,不硬编码字段
报价单不能做成「固定 8 个输入框」。外贸要规格和交期,装修要材料/人工分项,软件要人天。字段类型做成可插拔,模板存 JSON,运行时按 schema 渲染。业务逻辑放在 features/,UI 只负责展示。
公式引擎独立于 UI
词法分析支持 Unicode 标识符(中文字段名),解析成 AST 后缓存;再根据依赖建图,按拓扑序求值,避免循环引用把页面卡死。改一个数量,只重算受影响的字段。
这比把公式塞进 Excel 单元格稳得多:规则在模板里,实例里只有数据。
分享页与编辑页拆开
客户打开 /s/[token],不需要账号。访问码、浏览次数、作废链接都是报价跟进里很实际的需求——Excel 做不到这一环。
-
10 分钟发出第一份报价
注册登录,进控制台
模板库选一个行业预设(或从零拖)
配好明细列和汇总公式,保存结构
基于模板建报价,填客户和明细
点「分享」,把链接发给客户
客户浏览器查看,可下载 PDF
图文版:6 步发出第一份专业报价单 -
和「再做一个表单生成器」的区别
网上表单工具很多,Quotely 只盯报价这一件事:
画布按 A4 / 打印版式设计,不是普通问卷
产品明细表、汇总行、收款信息是一等公民
公式为计价服务,不是通用脚本沙箱
输出物是「能发给客户的报价单」,不是收集上来的答卷
不做重型 ERP。中小团队往往只需要:模板统一、算得准、PDF 好看、链接能点开。
- 欢迎试用和拍砖
产品还在早期,缺的功能肯定有(审批流、更细的团队权限、开放 API 等在规划里)。如果你也:
接私活还在 Word 里改报价
团队共享一份 Excel,三天两头修公式
想自己做垂直 SaaS,对 Schema + 公式这条路感兴趣
欢迎直接用,或留言吐槽。
Quotely:https://quote.comtools.cn
示例报价:点此查看客户看到的页面
感谢阅读。若觉得有用,帮忙转给还在和 Excel 死磕的同事——比给我点赞更实在。

浙公网安备 33010602011771号