数字为何站得住

完整的机制说明

这一页之所以存在,是因为“请相信我们的仪表板”不是一个论证。以下每一项都是一个设计决定,且都有你可以亲自验证的后果。

盘点表 · 07号店 · 2026年8月31日 · 版式 v3

行号 物料 实盘
013 鸡腿肉(去骨) 18.400
014 冬阴功酱(自制) 6.250
015 椰浆 400 毫升 42.000
016 椰糖(块装) 9.750
017 香茅(已修整) 3.100
第 014 行的差异 −2.750 公斤 · RM 41.25

在纸上盘点,在账上核实。

没有人会捧着平板走进冷藏库。所以那张盘点表本身就是产品:打印出来,用笔点数,出来时拍张照。

  1. 打印盘点表 分店所有在库物料,逐行编号,每行留出填写框。四个角标,加上一个记录版式版本的二维码。
  2. 拍照上传 四个角标让识别程序反推出你拍摄的角度,因此每个数字都是从它被打印的那个框里读出来的,而不是靠猜测某一列大概在哪里。
  3. 该拒绝的时候会拒绝 版式版本不被识别的表格会被直接拒收。错误的数字比没有数字更糟,所以它绝不会自行编造。
  4. 盘点结果带成本入账 审批后,差额按你当前的加权平均价写入账本。差异从此是一个数字,而不是一场争论。

账本只增不改

每一次库存变化就是一行不可修改的记录。没有任何东西被原地更新,也没有任何东西被删除。

  • 收货、销售扣减、生产领用或产出、损耗、调拨的一条腿、盘点更正、期初余额 — 每一项都是独立一行,各有各的来源。
  • 库存结余是这些记录的物化结果,从来不是某人直接写下的一个数。
  • 因为什么都不会被覆盖,已结的期间就保持已结。上个月的数字,还是你签字时的那个数字。
  • 期初余额本身也是一个图层,而不是对总量的断言。更正它是追加一笔冲销加一笔重录,而不是修改原始记录。

成本是加权平均,并且解释得清

原料成本以移动加权平均结转。成品成本靠遍历它的配方树算出。

  • 每一笔入库按已有库存的权重融入运行均价,出库不改变均价。
  • 系统同时保留运行均价与每一笔业务本身的实际成本,因此一个反常的均价可以追溯到把它推动的那张收货单。
  • 成品成本沿配方边递归展开至原料,逐行代入损耗率,并统一折算到该物料的基本单位。
  • 缺失的原料成本得出的是“无成本”,绝不是零 — 输入端的缺口因此无法悄悄伪装成一个漂亮的低食材成本率。

差异由两个被记录的事实推算而来

配方要求用多少、厨房实际用了多少,两者都记录在这次生产上,差额永远重新计算。

  • 理论用量,是按实际产出数量、依配方应当消耗的量。
  • 实际用量,是真正领走的量。两者都记录在这次生产记录上。
  • 差异本身从不存储 — 这意味着系统里不存在任何一个字段,能让人把某个月调得好看一点。
  • 没人计划过的批次照样作为批次被记录,因此计划与现实之间的差距始终可见,不会被吸收掉。

盘点表是一份带版本的契约

打印的几何尺寸保存在两处 — 打印它的软件与读回它的识别程序 — 而且双方都知道版本号。

  • 四个实心方块打印在已知的位置上。识别程序找到它们,反解出这一页在你照片里的姿态,因此每个数字都是从它被打印的那个框里读出来的。
  • 如果只认出三个角标,第四个会被反推出来,同时这一页会被降级处理,而不是被默默接受。
  • 二维码里带着版式版本号。识别程序遇到不认识的版本会拒收,而不是按错误的尺寸去裁切。
  • 当编码读取失败时,可以退回用打印的行号来匹配 — 但仅限于重建出来的清单行数与表格上声明的完全一致时。

在途的货不属于任何人

在发出与签收之间,被调拨的库存挂在一个专用账上,那不是一间真实分店。

  • 它没有地点记录,因此永远不会出现在分店选择器、范围选择器或权限授予里。
  • 一次调拨的两条腿,在单据关闭时合计恰好为零。
  • 只要短少尚未处理,收货就无法关闭 — 这正是维持上面那条成立的原因。
  • 花在从未送达的那部分货上的运费,会随它一起核销,而不是留下一笔无从解释的成本。

钱保留它自己的币种

每份单据既记录成交时的原币金额,也记录换算结果与所用汇率。

  • 单据本币金额是人看到的主数字。
  • 本位币金额才是集团层面合计时可以合法相加的那个。
  • 汇率在单据写入时随单锁定,绝不反向计算,也绝不通过第三种货币中转。
  • 缺汇率会被拒绝,永远不会被默认为 1.0。

这套系统拒绝做的事

每家供应商都会告诉你他们的软件能做什么。以下是我们的软件拒绝去做的事 — 通常这才是更有用的那份清单。

它不会读一张自己不认识的盘点表

未知的版式版本会被拒收,而不是按错误的尺寸去解读。错误的数字比没有数字更糟。

它不会把缺失的汇率当作 1

这份单据会被拒绝。一个建立在编造汇率上的合并数字,比一个没能出现的合计更糟。

它不会为一个算不出成本的物料编个成本

缺失的投入成本得出的是“无成本”,不是零。该物料会作为数据质量问题被报出来。

它不允许你修改已过账的单据

更正是抵销旧记录的新分录。历史不可编辑 — 包括我们自己也不能。

它不允许一个角色授予编辑者本身没有的权限

你只能授予自己拥有的权限,因此管理角色不会成为获取一切的后门。

它不会逼厨房去迎合计划

计划外的批次照实记录。与计划之间的差异是一个拿来看的数字,而不是一个要悄悄消掉的麻烦。

带一个月的数字来

四十五分钟,你的数字,你的屏幕。文件你留着,问题我们带来。