一篇算账的文章。不谈感受,只摆数。
对象是一家年订单四千二百多单的图文快印店,四个人,年营收两百来万。它要一套管报价、排产、送货的系统。
两套方案的报价:定制开发五万二,工期七十天,报价规则引擎另算;一句话生成,当天可用,报价规则按自己的八项要素建。
这篇文章把这笔账拆到能对着自己店套用的程度。
一、先把「漏」量化
老板郑立诚最初的估算是一年漏五万多,但他说不清漏在哪儿。这是我们做任何成本分析前的通病:只有一个总数,没有分项。
上线一年后,数据出来了,漏项可以拆成三类:
| 错漏类型 | 占比 | 单笔平均影响 | 年度金额 | 特征 |
|---|---|---|---|---|
| 算漏项(覆膜、装订、打孔、模切) | 半数以上 | 约亏三十五元 | 约二点四万 | 单向亏损,客户无感知 |
| 记错价(纸价未更新、人情让价) | 约三成 | 约四十元 | 约一点九万 | 双向,报高跑单 |
| 漏收加急费 | 约两成 | 约五十元 | 约一点一万 | 根本不是「错」,是没这个科目 |
三类合计五点四万,和老板原先估的「五万多」基本吻合。但只有拆开后才知道该动哪一刀。
第一类占一半以上,是最值得先解决的。它的可怕之处在于完全静默:报低了,钱自己吃,客户还挺满意,所以不会有任何投诉、任何反馈。系统里也看不出异常——单子照样成交,账上照样有收入,只是每一单的毛利薄了一层。
这是所有小店经营里最隐蔽的一类损耗:不产生任何信号。
二、定制五万二,钱花在哪儿
方案的模块拆分是这样的:报价模块(含规则引擎配置,另计)、生产排期、送货跟踪、基础资料与权限。
五万二的构成,粗略估一下:
- 需求调研与建模:约百分之二十
- 报价规则引擎:约百分之三十五(这部分被单列为「另计」,所以实际总价高于五万二)
- 排期与工序:约百分之二十
- 送货与基础模块:约百分之十五
- 测试与实施:约百分之十
看上去合理。但定制项目的真实成本有三块不在报价单上:
第一块,工期内的持续漏损。 七十天按两个月十一天算,月均二十七单错漏,这期间又漏了约六十单。按单笔平均影响三十七元算,二千二百块。这一块不大,但它揭示了一个更重要的问题:你在为「未来能用」付钱的过程中,现在的漏一直在漏。
第二块,需求返工。 这是定制项目最大的隐性成本。老板的原话是「报价要自动算」,这句话对开发来说至少有五个歧义点:
- 纸价按克重还是按令计价
- 数量的阶梯折扣是分段计算还是整体套档
- 覆膜按面积还是按张
- 装订是否包含封面材料
- 异形工艺的刀模费是一次性还是按单分摊
每一个歧义点都要开会确认。而老板在会上常说的「你按行规来就行」,恰恰是最危险的回答——行规在他店里不适用。
第三块,改动成本。 小店的规则是一年改十几次的:纸价涨、加设备、多一种工艺、老客户让价幅度调。定制项目的每一次改动都要报价、排期、等。改一次报一次价的系统,第二年会变成摆设。
三、一句话那条路,成本结构完全不同
先看它的输入。老板写的一句话是:
「我开一家图文快印店,前面接单后面车间,要一个系统管报价开单、生产排期和送货跟踪,报价要按我的纸、工艺、数量自动算出来,不能再靠脑子记。」
提交后系统先追问三件事——这一步在定制项目里叫「需求澄清」,通常由产品经理做,要耗掉两三周和若干次会议。在这里它变成了三个必须由老板本人回答的问题:
① 您的报价计算规则主要属于哪种类型?
固定单价×数量+工艺附加费
② 车间生产排期希望如何管理?
按订单先后顺序自动排队
③ 送货跟踪需要覆盖哪些环节?
店内自提通知与签收确认
这三段答案,恰好就是前文那张报价公式里八个维度和三个系数的定义。定制项目里最贵、最容易走样的那部分工作,在这里由老板自己完成了。
成本结构如下:
显性成本:零。 没有开发费,没有实施费。
隐性成本一:把规则写出来的时间。 老板花了三个晚上。第一晚整理价目,八项要素、每项几档,对着十一年攒下的报价单一条条捋,捋到十一点,捋出四十多处他和前台记的不一样。第二晚拆工序,列了二十多项「平时不收钱的顺手活」,一项项决定收不收。第三晚录客户和历史单。
三个晚上,按他自己的时间成本算,不值多少钱。但他后来说,这三个晚上的收获超过了过去三年——因为这是他第一次把自己的规矩写下来。
隐性成本二:双轨期。 十天,本子和系统并行。十天里对了三十七单,九单差出十块以上,全在「顺手活」和「老客户让价」这两处。
隐性成本三:习惯改造。 这一块最贵,而且没法用钱衡量。前台从「我算给你听」变成「我选给你看」,车间从「白板看活」变成「看板打勾」,都需要两三周的别扭期。
三块加起来,总投入大概是「三个晚上加十天双轨加三周别扭」。对比五万二加七十天,这个成本结构是数量级的差别。
四、报价规则引擎,到底是不是「引擎」
这是我认为最值得写的一段。
软件公司把这个模块叫「报价规则引擎」,五个字,听起来是个技术活。但拆开看,快印店的报价逻辑是什么?
单价 = 纸张成本(纸种, 克重, 尺寸, 数量)
+ 印刷成本(色彩, 单双面, 数量) × 阶梯系数(数量)
+ 覆膜成本(膜种, 面积, 数量)
+ 装订成本(方式, 页数, 册数)
+ 后道成本(工序项, 数量)
+ 加急系数(交期)
总价 = 单价 × 数量 × (1 - 让价比例)
这里面没有循环、没有递归、没有状态机、没有并发。只有加法、乘法、分段函数、查找表。
用工程术语说:这是一个纯函数的组合,输入是一组枚举和数值,输出是一个金额。它没有副作用,不需要事务,不需要考虑幂等。
这种逻辑,用配置表达比用代码表达更合适。 原因很简单:代码要写、要测、要发版;配置只要改一行。
真正复杂的是排产——那才是多约束优化问题:五台设备各有最小批量、各有可承印尺寸、各有开机成本,工序之间有前后依赖,急单有优先级。这块才值得写代码。
但绝大多数快印店的痛点在报价,不在排产。用定制的钱去解决一个加法问题,是这个行业最常见的一笔浪费。
五、报价界面:把「计算」变成「选择」
生成出来的报价界面,本质是把上面那个公式做成了十排选择框:
品类型 → 纸张 → 克重 → 成品尺寸 → 数量 → 单双面 → 覆膜 → 工艺 → 后道 → 交期
每选一项,金额重算一次。选完,金额定住,底下展开明细。
明细这一栏是整个设计里最关键的部分。它把「总价」拆成五个可见项:纸、印刷、覆膜、后道、加急。
为什么关键?因为它改变了议价的对话结构。
- 没有明细:客户说「太贵了」,你说「这个价真不赚」。这是防守。
- 有明细:客户说「太贵了」,你说「覆膜一项八十,这道去掉,价马上下来」。这是引导。
前者是把价格当成一个黑箱来争,后者是把价格当成一组选项来谈。同一笔生意,成交率和毛利都不一样。
还有一个字段值得单说:同款历史价。同一客户、同一规格,系统调出上次成交价并排显示。客户说「去年不是这个价」,两张单摊一起,涨在纸价还是在工艺,一眼清楚。
这条解决的是「涨价说不清」这个老问题。客户不是不能接受涨价,是不能接受说不清的涨价。
六、数据建模:为什么「八项要素」是个好结构
从数据结构看,这个报价模型是典型的维度建模:
- 事实:订单(一单一记录)
- 维度:纸张、克重、尺寸档、数量档、工艺、覆膜、装订、交期档
- 度量:单价、金额、成本、毛利
八项要素就是八个维度。维度建模的好处是可枚举、可聚合、可回溯。
实际落地时,这张表的建法有几个坑:
坑一:把「工艺」建成一个自由文本字段。 一开始图省事,工艺写「覆哑膜+压痕+圆角」,看着方便,三个月后就废了——没法按工艺统计毛利,没法算哪道工艺最赚钱。
坑二:数量档用固定档位而不是区间。 快印的数量折扣是分段的:一百到三百一个价、三百到一千一个价。如果按固定档位(一百、三百、五百、一千)存,客户要四百五十张就没法算。要用区间,且区间要能改。
坑三:纸价和历史单耦合。 价目表改一处全店生效,但历史单的价格不能变。这意味着订单必须冗余存一份当时的单价快照,不能只存外键去关联价目表。这一条如果一开始没想到,第二年改价的时候会出大事——所有历史单的金额会跟着变。
这三个坑,定制开发和配置化落地都会遇到。区别是:配置化的场景下,改结构是一句话的事;代码化的场景下,改结构要改表、改接口、改前端、回归测试。
七、生成的不只是报价表
这一段是我最初最没预料到的。
我以为一句话生成的是「一张会算价的表」,因为它问的三个问题里,第二个是报价规则。但生成出来的清单列出来一看,报价只是一小块。完整是这样:
1、角色权限:
郑立诚最先定的不是报价规则,是权限。他的原话是:价格不能让学徒看见。
角色划下来是这样的:
① 店长:维护花材、BOM配方,审核采购,统筹节日预售、排期、对账,查看经营看板
② 店员接单:录入线下订单、跟进小程序订单,安排配送、登记交付
③ 花艺师:按BOM领料制作花束,填报物料消耗 ④骑手:接收配送任务,签到送达
2、表单:报价单最重,工序卡最杂
表单,按郑立诚关心程度排:
① 客户档案:存储常客基础信息,方便快速调取
② 纸张物料库:定义各类纸张的基础成本与规格
③ 工艺项目库:定义各类印刷工艺的收费标准
④ 产品报价单:用于给客户快速测算报价,不直接产生业务流水
⑤ 销售订单:正式成交的业务单据,关联生产与财务
⑥ 生产任务单:车间执行的指令单,由订单自动生成
⑦ 完工确认单:记录生产结束后的质检与入库信息
3、流程:
销售订单审批流程:前台接单员发起订单,折扣低于8折或金额大于5000元需店长审批,其余自动通过,审批同意则流程结束,拒绝退回发起方。
这条流真正管住的是三件事:
一是谁卡住了。 哪张单在哪道工序停了多久,一屏可见。以前郑立诚得走到车间问「那个标书到哪了」,现在看一眼就知道卡在覆膜。
二是加急凭什么加塞。 加急单在流程里是红色,排产时自动前置。但它有代价——系统把这单的加班成本单独记账,月底一笔一笔列给郑立诚看。他说这一条让他第一次知道,「顺手加个急」一年多花多少钱。
三是交期怎么倒推。 交期不是拍脑袋定的,是按工序标准耗时倒推的。客户说后天要,系统一看六道工序加起来要三天,当场告诉你不接。接了就要加档,加档就要加钱。
除了这条主流程,还有两条自动规则,不走审批:
一是工序超时自动推送。任何一道工序超过计划完成时间半个工作日,往郑立诚那儿推一条。推送只到知情,不自动催车间。催人的事还是人做,系统只负责让老板知道。
二是待取超期自动提醒客户。货做好待取超过两天,系统给客户发一条提醒,同时在待取列表里把这一单标黄。以前前台待取的件常年堆着二十多件,没人知道哪件躺了多久。
4、三个看板:老板看钱,接单看期,车间看活
① 门店运营总览:展示店铺整体经营状况,包含接单量、营收、待办事项及趋势排行等指标
② 车间生产监控:展示车间实时负荷与进度,包含排队任务、完工情况、延期预警及工序积压指标
三个看板,对应三种人操心的事,一个是刻意没有做的——郑立诚原本想要四个,郑立诚要的那个「客户满意度」,最后没做,因为店里没有数据来源。
老板看板每天早上看一屏:昨日单量、昨日金额、本月累计、毛利、加急单占比与加急费收入、超时工序数、待取超两天件数、待开票与欠款、纸张库存预警。
接单看板看的是另一套:今日待接单、今日待报价、在制单进度、今日可取件、待取超期、今日该提醒的客户。
车间看板挂在车间墙上,是一块屏。内容只有三样:待排产队列、每台设备当前在做什么、今日必须完成的单。上面没有任何价格和金额——这一条是吕成提的,他说车间屏上出现钱,活儿就干不踏实。
三块看板有一处共同的克制:都不显示历史曲线。郑立诚的原话是,看板上放曲线他就去分析曲线了,没空干活。看板只回答一个问题:现在该做什么。
三块里郑立诚看得最勤的是那个「超时工序数」。他说以前一天下来只知道很乱,不知道乱在哪;现在那个数一冒头,他就知道今天该去车间哪一侧站着。
5、智能体:
八、一年后的实际收益
| 指标 | 改前 | 改后 | 差额 |
|---|---|---|---|
| 报价错漏率 | 百分之七点八 | 百分之零点五 | 降七点三个点 |
| 年错漏单数 | 三百二十七 | 约二十一 | 少三百零六单 |
| 年度漏损金额 | 约五点四万 | 约三千五 | 省约五万 |
| 加急费收入 | 基本为零 | 一点一万 | 增一点一万 |
| 车间加班 | 月均三十八钟头 | 月均十一钟头 | 少二十七钟头 |
| 交期准时率 | 八成二 | 九成八 | 提十六个点 |
| 客户催单 | 日均九次 | 日均两次 | 少七次 |
| 送货白跑 | 年二十五趟 | 年五趟 | 少二十趟 |
直接可量化的是六万一(五万漏损加一点一万加急费)。五万二的定制报价,一年回本,这个账看着还行。
但真正的差别在第二年和第三年:
- 定制方案的第二年,改一次报一次价,老板大概率不改了,系统开始和生意脱节。
- 配置方案的第二年,纸价涨了改一处,加了设备加一行,多一种工艺加一项。系统跟着生意一起长。
判断一套小店系统的价值,不能看第一年省了多少,要看第二年它还改不改得动。
九、剩下的百分之零点五,是工具管不了的
改后还有约二十一单错漏。全部集中在一类:客户临时改规格。
单子开了,客户说尺寸换一下、纸换一下。前台改单,忘了改价。系统不知道「改单必重算」这条规矩——它只知道数据变了,不知道业务上这意味着要重新报价。
这类问题只能靠流程,不能靠工具。现在的做法是一张贴在收银台边上的纸:「改单必重算」。
反过来看,这恰好说明一个判断工具好坏的标准:好工具不是把所有事都管住,是把能管的都管住,让人有力气去管那一件管不住的。
如果一个系统上线后,老板还在为「漏算覆膜」这种事操心,那它没解决问题,只是换了个地方堆放问题。
十、给要算这笔账的人的四个参数
如果你也想算自己店这笔账,四个数就够了:
一、年订单数。 四千二百是我们这家的数。你的可能是一千二,也可能是八千,直接决定漏损的绝对值。
二、单均金额。 四百六十。单均越高,单笔错漏的影响越大。
三、错漏率。 这个你没数据,但可以估:抽最近一百单,重新按现在的价目算一遍,看有多少单对不上。这个方法土,但比拍脑袋准。
四、改规则的频率。 一年改几次?纸价、工艺、让价幅度。这个数决定你该买「能改的」还是「能撑的」。
四个数算完,结论通常很清楚:漏损金额超过系统价格的一半,且规则一年改五次以上,就该往配置化走;反之,如果你的复杂度在排产的多约束优化上,定制才划算。
十、常见问题
问一:快印店的报价太杂,系统真能算全吗?
算不全的部分,先建八项主干,剩下的走「其他工艺」手工补。跑三个月,把补得最多的三项加进主干,两年下来就贴住自家生意了。
问二:老师傅不愿意把价目交出来怎么办?
先跟他讲清楚:价目交出来,人更值钱。价目在脑子里,他只值一个岗位;价目在系统里,他值一套规矩。真要留一手,那这家店的风险本来就不在系统上。
问三:四千多单,客户档案录得完吗?
不用录完。常来的两百多家录进去,剩下的随手建。老单子只留近三个月的典型单做参考,别追历史全量——翻旧账的时间成本比收益高。
问四:急单加价,客户会不会跑?
跑的是本来只认便宜的。肯为急付钱的客户,才是撑住这行的客户。而且加价之后能真按时交,比不加价还晚半天,口碑差得远。
问五:工序卡会不会让车间觉得被盯着?
会,头两周最明显。转折是吕成发现工序卡能替他挡插队——客户催,他指屏幕,不用自己当坏人。工具只要帮人挡一次难,人就认它。
问六:纸价涨了怎么改,改一处全店生效吗?
价目表改一处全店生效,历史单的价格不变。这一条很重要:改价不能改旧账,否则对不上账,客户也会觉得你在事后加价。
问七:让价五个点八个点,是谁定的?
老板定的,而且要让全店知道。让价规则不透明的店,最后一定是会哭的孩子有糖吃,老实客户多付钱,这不是做生意,是赌运气。
问八:以后想换系统,这些单子和价目带得走吗?
客户、订单、工序、价目表都能导成表格。价目表是最值钱的那张表,建的时候就要想好它必须能导出——能导出,才叫自己的资产。