CSV 审批工作流模板(按毛利率分档的折扣审批)
一份可以直接粘贴进来的折扣审批 CSV:三档毛利率、四条审批人泳道,以及返工循环——它们的连线到值向上指回文件里比自己更小的行号。
什么是csv 审批工作流模板(按毛利率分档的折扣审批)流程
这份文件几乎肯定不是你写的。一份记录报价审批步骤的 CSV 总是从什么地方出来的——一份 CPQ 报表、一次 CRM 导出、某人跑过并保存下来的一段 ERP 查询,或者一个定价工作簿里被另存为 .csv 的标签页,因为对方系统只肯收这一种格式。这就是 CSV 最要紧的一个事实,也是它与它出身的那个工作簿表现不同的原因。它没有公式,只有导出那一刻公式算出来的值。它没有第二张工作表,没有单元格颜色,没有合并表头,也没有列宽。它是一行行文本,一行一条记录,第一行给出列名。任何一个读者要重建这条流程所需要的东西,都必须在那些字符里,否则它就根本不在。
QueryChart 读的是一小组列名。形状是方框类型——开始、流程、决策、结束、成功、拒绝等等。方框文字是框里的标签。连线到是这一行连向的那一行,写成行号。连线文字是那条连线上的标签。连线样式、横向泳道和纵向泳道承载连线样式与两根泳道轴,并行于、备注和链接则备而不用。匹配依据的是表头名称而不是列的位置,所以你的列以什么顺序排都无所谓,而导出文件顺带过来的任何多余列——报价单号、客户、负责人、创建日期——都会被带过并忽略。把 .csv 拖到编辑器的表格区域上,或者直接把 CSV 文本粘贴进去。
一行就是一个方框,而一行在文件里的位置就是它的编号:第一条数据行是 1,第二条是 2,连线到写 7 就表示第七条数据行。审批工作流正是在这里与一份简单的作业程序分道扬镳。作业程序顺着文件往下跑,每一个连线到都比它自己所在的行大。审批链不是这样。一张被退回重做的报价单必须回到一个已经发生过的步骤,所以它的连线到值比它自己的行号小,箭头向上指回文件。下面这张图里恰好有三条连线是这样的:第 16 行指向 3,第 17 行指向 13,第 20 行指向 15。其中任何一个写错,都是手工编号的审批 CSV 导入后变成一片方框、少了一条箭头的最常见原因,因为没有任何东西会抗议——指向不存在的行的连线到会被丢弃,且不带任何提示。
这张图本身是一条按毛利率而不是按折扣比例运行的折扣审批。横向五个阶段,纵向四个角色,三道门槛决定谁必须看一眼:毛利率在 40% 及以上由销售代表批,30 到 40 交销售经理,20 到 30 交财务,低于 20 交商务总监。有两位审批人可以把报价单退回,而且都退到同一个修改步骤;那个步骤又回到毛利核算,因为价格变了毛利率也就变了,可能落进另一个档位。这个循环在第二次退回时封顶。四个终点覆盖了一张报价单真正停下来的几种方式:成交、被拒、因毛利率过低而放弃,以及无人答复直到失效。
本流程图涵盖的内容
本模板包含
- 五个阶段列——报价、毛利核算、审批、返工、出单——横跨四条角色泳道:销售代表、销售经理、财务与商务总监。在文件里它们就是横向泳道和纵向泳道两列,一行一个值,属于同一条泳道的每一行都要写得一模一样。
- 一道三级毛利率阶梯,而不是一道审批关卡:“折后毛利率是否达到 40%?”在销售代表这一级放行,“折后毛利率是否达到 30%?”唤醒销售经理,“折后毛利率是否达到 20%?”唤醒财务,低于 20% 的一律走向“为商务总监准备交易说明”。
- 两条退回路线汇入同一个返工步骤。“销售经理是否批准?”和“财务是否批准?”都带着一条通向“调整折扣、价格或条款”的分支,所以文件里只有一个修改步骤,而不是每位审批人各有一个,另有两行各自的连线到值指向它。
- 这一整组页面反复提醒的那条向后的连线。“是否第二次被同一审批人退回?”是第 16 行,而它的第一次退回分支连线到写着 3——向上指回文件里的“计算折后毛利率”,因为改过的价格是一个新的毛利率,可能落进另一个档位。
- 一个封了顶的循环,而不是一个敞口的循环。“是否第二次被同一审批人退回?”把第二次退回引出这个圈,走向“坚持这个折扣还是放弃?”,在那里这笔交易要么往上走到总监,要么停下,于是没有任何东西能在销售代表和某一位审批人之间无休止地弹来弹去。
- 一个客户侧的回路和四个各自独立的终点。“客户是否在报价单失效前接受?”可以把报价单退回去重做,而整条流程结束于“订单已按批准的毛利率成交”“折扣被拒绝且报价单已关闭”“因毛利率过低而放弃该交易”或“报价单已失效且未成交”。
何时使用本模板
- 你们的 CRM 或 CPQ 把报价审批导出成一份 CSV,而有人问你审批流程到底是什么样。
- 折扣是在聊天和邮件里批下来的,门槛靠口口相传,没人拿得出一份写下来的阶梯。
- 你有一张记录审批步骤的表格,而每一次试着手工重画,都会把那些退回路线弄丢,因为它们是往回走的。
- 你导入的一份 CSV 画出了方框却没有画全箭头,而你怀疑问题出在那些把工作退回去的行上。
- 你正在为一次审计或一份董事会材料撰写折扣政策,需要把档位、审批人和升级路径放在一页纸上。
生成此图的 CSV 文件
每行一个步骤。「连线至」列中的数字是行号——正是它画出了连线,也正是大多数文件缺少的那一列。
| # | 形状 | 方框文字 | 连线到 | 连线文字 | 横向泳道 | 纵向泳道 |
|---|---|---|---|---|---|---|
| 1 | Start | 收到客户的折扣要求 | 2 | 报价 | 销售代表 | |
| 2 | Process | 录入产品行、标价与申请折扣 | 3 | 报价 | 销售代表 | |
| 3 | Process | 计算折后毛利率 | 4 | 报价 | 销售代表 | |
| 4 | Process | 写明申请折扣的理由 | 5 | 报价 | 销售代表 | |
| 5 | Decision | 折后毛利率是否达到 40%? | 6, 7 | 达到 40% 及以上, 低于 40% | 毛利核算 | 销售代表 |
| 6 | Approval | 由销售代表批准并标注毛利率 | 19 | 审批 | 销售代表 | |
| 7 | Decision | 折后毛利率是否达到 30%? | 8, 10 | 30% 至 40%, 低于 30% | 毛利核算 | 销售经理 |
| 8 | Process | 销售经理核对理由与采购量承诺 | 9 | 审批 | 销售经理 | |
| 9 | Decision | 销售经理是否批准? | 19, 15, 22 | 批准, 退回修改, 拒绝折扣 | 审批 | 销售经理 |
| 10 | Decision | 折后毛利率是否达到 20%? | 11, 13 | 20% 至 30%, 低于 20% | 毛利核算 | 财务 |
| 11 | Process | 财务对照客户历史核查毛利率 | 12 | 审批 | 财务 | |
| 12 | Decision | 财务是否批准? | 19, 15, 13 | 批准, 退回修改, 上报商务总监 | 审批 | 财务 |
| 13 | Process | 为商务总监准备交易说明 | 14 | 审批 | 商务总监 | |
| 14 | Decision | 商务总监是否批准? | 19, 18, 22 | 批准, 附条件批准, 拒绝折扣 | 审批 | 商务总监 |
| 15 | Process | 调整折扣、价格或条款 | 16 | 返工 | 销售代表 | |
| 16 | Decision | 是否第二次被同一审批人退回? | 3, 17 | 第一次退回, 第二次退回 | 返工 | 销售经理 |
| 17 | Decision | 坚持这个折扣还是放弃? | 13, 23 | 坚持并上报商务总监, 因毛利率过低而放弃 | 返工 | 商务总监 |
| 18 | Process | 在报价单上记录总监提出的条件 | 19 | 审批 | 商务总监 | |
| 19 | Process | 向客户发出已批准的报价单 | 20 | 出单 | 销售代表 | |
| 20 | Decision | 客户是否在报价单失效前接受? | 21, 15, 24 | 接受, 要求更大折扣, 到期前无答复 | 出单 | 销售代表 |
| 21 | Success | 订单已按批准的毛利率成交 | 出单 | 销售代表 | ||
| 22 | Reject | 折扣被拒绝且报价单已关闭 | 出单 | 销售经理 | ||
| 23 | End | 因毛利率过低而放弃该交易 | 出单 | 商务总监 | ||
| 24 | End | 报价单已失效且未成交 | 出单 | 销售代表 |
#,形状,方框文字,连线到,连线文字,横向泳道,纵向泳道
1,Start,收到客户的折扣要求,2,,报价,销售代表
2,Process,录入产品行、标价与申请折扣,3,,报价,销售代表
3,Process,计算折后毛利率,4,,报价,销售代表
4,Process,写明申请折扣的理由,5,,报价,销售代表
5,Decision,折后毛利率是否达到 40%?,"6, 7","达到 40% 及以上, 低于 40%",毛利核算,销售代表
6,Approval,由销售代表批准并标注毛利率,19,,审批,销售代表
7,Decision,折后毛利率是否达到 30%?,"8, 10","30% 至 40%, 低于 30%",毛利核算,销售经理
8,Process,销售经理核对理由与采购量承诺,9,,审批,销售经理
9,Decision,销售经理是否批准?,"19, 15, 22","批准, 退回修改, 拒绝折扣",审批,销售经理
10,Decision,折后毛利率是否达到 20%?,"11, 13","20% 至 30%, 低于 20%",毛利核算,财务
11,Process,财务对照客户历史核查毛利率,12,,审批,财务
12,Decision,财务是否批准?,"19, 15, 13","批准, 退回修改, 上报商务总监",审批,财务
13,Process,为商务总监准备交易说明,14,,审批,商务总监
14,Decision,商务总监是否批准?,"19, 18, 22","批准, 附条件批准, 拒绝折扣",审批,商务总监
15,Process,调整折扣、价格或条款,16,,返工,销售代表
16,Decision,是否第二次被同一审批人退回?,"3, 17","第一次退回, 第二次退回",返工,销售经理
17,Decision,坚持这个折扣还是放弃?,"13, 23","坚持并上报商务总监, 因毛利率过低而放弃",返工,商务总监
18,Process,在报价单上记录总监提出的条件,19,,审批,商务总监
19,Process,向客户发出已批准的报价单,20,,出单,销售代表
20,Decision,客户是否在报价单失效前接受?,"21, 15, 24","接受, 要求更大折扣, 到期前无答复",出单,销售代表
21,Success,订单已按批准的毛利率成交,,,出单,销售代表
22,Reject,折扣被拒绝且报价单已关闭,,,出单,销售经理
23,End,因毛利率过低而放弃该交易,,,出单,商务总监
24,End,报价单已失效且未成交,,,出单,销售代表运作方式
导入之前先用文本编辑器打开这份文件
先看原始字符。分隔符是逗号还是分号?只要系统的列表分隔符是分号,Excel 写出来的就是分号,而欧洲大陆多数地方正是如此,因为那里逗号已经被用作小数点。一份分号文件按逗号文件来读,你会得到一列,整行都塞在里面。带重音的字符也要看:如果它们变成乱码,这份文件就不是正在被当作的那个编码。而如果只有第一列怎么都对不齐,通常的原因是 Excel 的“CSV UTF-8”导出在第一个表头前面写了一个看不见的字节顺序标记——把那个表头重打一遍,或者另存为普通 CSV。
给文件写上编辑器读得懂的表头名称
第一行必须给出列名:形状、方框文字、连线到、连线文字、连线样式、横向泳道、纵向泳道。匹配依据的是名称,所以列的顺序自由,导出文件产出的每一个多余列都会顺带过来并被忽略。请把表头上面的标题行或筛选条件行删掉——CSV 里没有表头块这个概念,所以第 1 行的一句报表标题会让你真正的表头变成普通数据。表头拼错也不算错误;它只是变成了一列什么都不做的列,所以请逐一确认你打算用的那几列都到位了。
在写下第一个连线到之前,先给行编号
一行的编号就是它在数据里的位置:第一条数据行是 1,第二条是 2,以此类推。接线之前先把编号写在旁边,然后再写连接。事后插入一行,会给它下面的每一行重新编号,也会把每一个指向它们的连线到重新指向别处,所以请先把行的清单定稿,再动手写箭头。
最后再写向后的连线,并且每一条都念出来
每一次退回,都是一个比自己所在行更小的连线到。这里“是否第二次被同一审批人退回?”是第 16 行,它第一次退回的连线到是 3;第 17 行指向 13;第 20 行指向 15。请把每一条当成一句话念出来——第 16 行退回第 3 行,也就是“计算折后毛利率”——因为一个差了一位的向后编号,坐在文件里看上去仍然完全合理,而它画出的是一条指向错误方框的箭头,而不是根本没有箭头。
别让逗号进到连线到和连线文字里
这两列是按对应顺序读取的逗号分隔列表,所以第 20 行的连线到写着 21,15,24,而它的连线文字写着 接受,要求更大折扣,到期前无答复——三个目标、三个标签,按位置对齐。分支标签里的逗号会被读成又一条分支,这也是这张图里没有任何一个连线标签含有逗号的原因。方框文字是单个值,所以只要字段加了引号,逗号就没问题:“录入产品行、标价与申请折扣”能完好地走完一个来回,同样的文字不加引号则会变成两列。
把你们自己的数字填进档位
40、30 和 20 都是占位数字。请照着你们自己的价目表来设,让最高一档覆盖大多数报价;如果你们多数交易都落在第一道门槛以下,那么每一张报价单都会变成一次审批,队列就变成了流程本身。顺手也把毛利率的定义写清楚——折后毛利率,对照的是哪一个成本口径——因为一个门槛的可靠程度,取决于与之相比的那个数字,而在 CSV 里那个数字是一个没有公式支撑的快照。
常见问题
在 CSV 里怎么写一个返工循环?
用一个比自己所在行更小的连线到值。CSV 里没有箭头;唯一能造出一条连线的,是连线到列里的一个行号,而没有任何规则要求这个数字必须大于当前行。一条退回路线的写法和别的连接完全一样,唯一的差别是它向上指而不是向下指。在这张图里,修改步骤是第 15 行,而第 9、12、20 行都点了它的名:前两个是审批人给出的向前引用,第三个是客户步骤给出的向后引用。第 16 行随后又指回第 3 行。有两件事要当心。一个没有出口的循环会顺利导入,读起来就是一条永远结束不了的流程,所以请用一个判断给它封顶——这里是“是否第二次被同一审批人退回?”。而指向不存在的行的连线到会被丢弃且不带提示,所以一条向后连线上差了一位,表现出来是少一条箭头,而不是一个错误。
一份 CSV 要有哪些列才能导入成流程图?
有七列在干活。形状定方框类型——开始、流程、决策、结束、成功、拒绝,以及编辑器认识的其他形状。方框文字是标签。连线到填这一行连向的一个或多个行号,用逗号分隔。连线文字按同样的顺序填连线标签,这也正是这两列必须一起读的原因。连线样式接受“绿色虚线”这样的描述。横向泳道和纵向泳道把这一行放在两根泳道轴上。此外还有并行于、备注和链接。列是按表头名称而不是按位置匹配的,你的导出文件产出的任何其他列都会被带过并忽略——所以一份直接来自 CRM、有十五列的 CSV 也能顺利导入,只有那七列真正被读取。
为什么我的 CSV 导入后有方框却没有箭头?
四个原因,大致按出现频率排列。连线到列里填的是步骤名称而不是行号,而一个标签不是一个引用。表头行缺失、拼错,或者坐在一句报表标题下面,于是那一列根本没被匹配上。文件是分号分隔的却被当成逗号分隔来读,结果整行都落进第一列,每一行只有一个形状而没有别的。或者编号干脆就是错的,通常是因为插了一行却没有重新编号。最后这一种最难发现,因为指向不存在的行的连线会被静默丢弃:图照样画出来,看上去很完整,只是少了一条路线。
折扣审批工作流该用什么门槛?
用毛利率的档位,而不是折扣比例的档位,而且档数要少到大家记得住。折扣比例是错的那根轴,因为同样打八五折,在一件产品上很宽裕,在另一件上已经低于成本;折后毛利率则在整个价目表上可比。三档、四级审批人是常见的形状,也就是这里画的这一种:销售代表放行 40% 及以上的,销售经理管 30 到 40,财务管 20 到 30,低于 20 的交商务总监。数字由你们来定。一组好门槛的检验标准,是有多大比例的报价在第一级就通过——如果多数都要另一个人看一眼,那么要么价目表有问题,要么门槛有问题,而这两笔账都会算到审批流程头上。
在这件事上 CSV 和 Excel 文件有什么不同?
CSV 是系统的产出,而不是你干活的地方。它承载的是值而不是公式,所以一列早上十点导出的毛利率,存的就是那一刻公式算出来的数字;成本变动之后再导出一次,会得到另一份文件,而文件里没有任何东西说明有什么变过。它只有一张表、没有第二张工作表,所以你那条毛利率公式指向的对照表并没有跟着过来。它完全没有格式,这一点在这里只有一个后果:在工作簿里用单元格颜色表示的审批级别,在 CSV 里什么都不表示,如果这个级别要紧,它就得单独占一列。作为交换,CSV 是纯文本——你可以读它、比对它,一眼看清系统交给你的到底是什么,连线到列里的行号也在其中。