CSV 审批工作流模板(按毛利率分档的折扣审批)
一份可以直接粘贴进来的折扣审批 CSV:三档毛利率、四条审批人泳道,以及返工循环——它们的连线到值向上指回文件里比自己更小的行号。
生成此图的 CSV 文件
每行一个步骤。「连线至」列中的数字是行号——正是它画出了连线,也正是大多数文件缺少的那一列。
| # | 形状 | 方框文字 | 连线到 | 连线文字 | 横向泳道 | 纵向泳道 |
|---|---|---|---|---|---|---|
| 1 | Start | 收到客户的折扣要求 | 2 | 报价 | 销售代表 | |
| 2 | Process | 录入产品行、标价与申请折扣 | 3 | 报价 | 销售代表 | |
| 3 | Process | 计算折后毛利率 | 4 | 报价 | 销售代表 | |
| 4 | Process | 写明申请折扣的理由 | 5 | 报价 | 销售代表 | |
| 5 | Decision | 折后毛利率是否达到 40%? | 6, 7 | 达到 40% 及以上, 低于 40% | 毛利核算 | 销售代表 |
| 6 | Process | 由销售代表批准并标注毛利率 | 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,Process,由销售代表批准并标注毛利率,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 是纯文本——你可以读它、比对它,一眼看清系统交给你的到底是什么,连线到列里的行号也在其中。