分配的含义

单台分配,是指把一台带序列号的具体机器分配给且仅分配给一张订单。序列号通常是 VIN。在分配发生之前,订单只是对“某一型号的一台机器”的需求;分配之后,订单就对应一台具体的机器,有它自己的历史、位置和成本。

这一区分很重要,因为分销商卖的不是型号,而是单台机器。每台机器都有自己的到岸成本、状态、到港日期,以及在仓库、集装箱或经销商场地中的位置。同一型号的两台机器,毛利可能不同。把它们当作可互换,是大多数对账问题的起点。

一条合理的分配规则很简短:任何时刻,一台机器只对应一张有效订单。本文其余内容,都是围绕守住这条规则展开的。

库存订单与期货订单

经销商要一台机器,常见有两种方式。

  • 库存订单。 机器已在分销商库存中。由于 VIN 已知,可以立即分配。
  • 期货订单(预订单)。 机器在途,或尚未生产。订单按预期供货下达,VIN 可能还不在系统中,因此订单先等待,待货到并录入序列号后再完成分配。

期货订单就是延后分配的订单。系统仍应显示它预计由哪一批货来满足。

为什么两张订单会争同一台机器

同一台机器同时被两张订单需要,这很正常。某地区的经销商要了某热门型号的最后一台;一小时后另一家经销商也要同一型号,而销售代表知道这台机器就在最近的仓库里;一张期货订单在等一批包含这台机器的货;还有零售客户走进来要求看这台车。

这里没有人犯错。错误在于让两张订单都以为自己拥有这台机器。

决定权必须在系统,而不是人。这意味着分配必须是原子操作:两个请求先后紧挨着到达时,一个成功,另一个被明确告知该机器已被占用。电子表格做不到可靠地这样,任何人都能改的状态字段也做不到。检查与写入必须合为一步,这样竞争的失败方看到的是拒绝,而不是被悄悄覆盖。

通常的生命周期

大多数有序列号的设备都遵循同样的路径,各地略有差异。

  • 可用。 机器在库存中,未分配。
  • 已预留或已分配。 机器绑定到一张订单,其他人不能再拿。
  • 已开票。 已为该机器开具发票。这笔销售从此成为财务事实。
  • 已付款。 已收到并核销付款。
  • 已交付。 机器已离开分销商的控制,到达经销商或终端客户手中。

每一步都应留下记录:谁做的、何时做的、依据哪份单据。机器当前的状态,是这些记录的汇总,而不是某人手工覆盖输入的自由文本字段。

预留通常可以释放,后果很小。已开出的发票则不能直接消失,因为它可能已经进入了别人的账簿。

交易发生变化时

交易总在变化:经销商的融资落空,客户改选了颜色,机器在运输中受损,价格录错了,或经销商在货到之前取消了期货订单。

正确的处理取决于机器走到了哪一步,而系统应让正确的做法成为最容易的做法。

  • 开票之前,释放分配。机器回到可用状态,订单上会显示它释放了该机器、何时释放、为什么。
  • 开票之后,用冲销作废发票。机器回到可用状态,只是因为冲销记录这样规定。
  • 付款之后,还要冲销付款,使应收款、现金记录和机器状态一起回退。

每种情况下,都是通过增加一条记录来恢复先前的状态,而不是抹掉一条记录。

释放机器不等于删除销售

这两个动作经常被混淆,代价很高。

释放机器,意味着订单不再占有这台机器。机器回到可分配的池子里,可以分给别的订单。订单本身以及它经历过的一切,都保留在记录中。

删除销售,则是假装这笔交易从未发生。它抹去了以下证据:经销商曾下单、有人批准过、发票曾开出、这台机器曾属于别人。

在订单的生命周期内,一次分配可以被释放很多次而不造成任何损害,前提是每次释放本身都有记录。已开票的销售则不同:它是已经对外发出的承诺,要撤销它,唯一诚实的做法是在记录上如实说明。

冲销原则

会计称之为 storno(冲销):通过登记一笔相反的分录来更正,而不是修改原分录。这个原则不难表述。

绝不删除,也不悄悄清零已过账的交易。创建一条带有原因、与原交易关联的冲销记录,让它沿着原交易经过的同一批下游记录回溯,使净效果为零,同时保留证据。

以一笔必须取消的已开票销售为例。原过账影响了多处:机器状态变为已售,确认了销货成本,开立了应收款,可能还计提了佣金。规范的冲销是一份独立的单据,与原单据关联,并写明原因,例如“客户融资被拒”。这份单据随后沿同样的路径回溯:机器回到可用,成本分录被抵销,应收款被清除。如果已收款,付款状态也一并冲回。

之后,原记录和冲销记录都仍然可见。任何人查看历史,都能看到卖了什么、撤销了什么、谁做的、为什么。

为什么删除会破坏审计与对账

删除一行看起来很整洁,却会引发几个日后才暴露的问题。

  • 编号出现断档。 发票号和订单号通常是连续的。缺号会引出“删掉了什么”的疑问,而没人能回答。
  • 下游记录成了孤儿。 如果销售被删而成本分录还在,或者反过来,库存价值与销货成本就互相矛盾,账目与仓库不再对得上。
  • 原因丢失。 取消原因是有价值的数据:它显示融资在哪里失败、哪些型号被退回、哪些经销商会改主意。被删除的记录不带任何原因。
  • 争议中无从辩护。 当经销商说“我们从没订过这个”或“是你们取消的”时,历史记录是双方仅有的证据。
  • 隐蔽的滥用。 如果低权限用户能删除高权限用户已确认的内容,系统就信错了人。撤销已确认的交易,应该需要更高的角色、需要填写原因,并留下痕迹。

悄悄清零一条记录,即保留这一行但把金额改成零,是同一个问题更隐蔽的形式。

价格变更的双人审批

价格错误通常是无心之失:有人导入了错误的文件,或者小数点移错了位。双人审批就是针对它的控制措施:准备价格变更的人,不能是批准它的人。

关键词是“强制执行”。很多企业有政策,规定应由第二个人复核价格。政策依赖每个人在忙碌的一天里照做;系统规则则不同:如果批准人与准备人是同一个登录账号,批准步骤就会拒绝。没有跳过的设置,没有管理员例外,两个人的姓名都记录在这次变更下。

价格还应通过一个独立的步骤生效。准备一个批次并不会改变经销商支付的价格,批准才会。这种分离意味着,错误的批次可以在触及任何一张订单之前被驳回。

评估您自己系统的检查清单

请用下面的问题来检视您现在的软件或电子表格流程。

  • 同一台带序列号的机器,是否可能同时(哪怕很短暂)绑定到两张有效订单?
  • 期货订单是否显示它在等哪一批货?那批货到货数量不足时会怎样?
  • 发票取消时,系统是创建带原因的关联冲销,还是有人把那一行删掉?
  • 冲销能否一次操作就把机器状态、销货成本和付款状态都恢复到原来的位置?
  • 权限有限的用户,能否撤销经理已确认的事项?
  • 随便挑一个缺失的发票号,您能解释它的去向吗?
  • 同一个人能否既准备又批准同一次价格变更?阻止这一点的是系统,还是一份政策文件?

如果有几个答案是“我不确定”,说明这些记录靠的是习惯在维持,而不是系统。

小结

单台分配一次只把一台带序列号的机器分给一张订单,系统必须拒绝第二个请求,而不是让人事后再去协调。交易发生变化时,用一条关联且写明原因的冲销记录,让它沿库存、成本和付款回溯;对已过账的内容,绝不删除,也不悄悄清零。