ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

SAGE-ERP浓度采购全链路:从折百标志到收货成本因子

SAGE-ERP浓度采购全链路:从折百标志到收货成本因子

简介:《SAGE-ERP采购模块操作手册》面向ERP实施顾问、采购业务人员与系统操作新手,聚焦采购流程从基础数据到订单执行、收货退货的规范落地。文档围绕产品浓度管理、供应商资料维护与新建、供应商报价审核、折百与不折百采购订单、采购收货及无来源退货等环节展开,强调含量、毛净数量、收货成本因子与浓度默认值等关键字段的处理逻辑,并对折百规则中容易混淆的字段给出提示,便于读者对照系统界面完成配置与日常操作。包内共1个doc文件,约220KB,篇幅紧凑,适合打印或随岗查阅。已有210人学习,可作为采购模块培训、流程梳理和操作排错时的参考材料。

1. 收货单上的 50KG 和库存里的 20KG:差的 30KG 去哪了

SAGE-ERP 采购模块的操作手册里,最容易被跳过的不是订单怎么开,而是产品控制页签上那个“浓度管理”的勾。经常遇到的情况是:采购员按订单收了 50KG 毛重、浓度 40%,库存台账只多了 20KG 净含量,财务的成本又按另一个单价在跑,三边对不上就开始怀疑系统。根子几乎都在这份手册覆盖的那条链路上——浓度百分比、折百标志、供应商数量、收货成本因子,四个参数错一个,后面全是连锁反应。这份 SAGE-ERP 采购模块操作手册把基础数据、供应商报价、订单、收货、退货串成一条线,适合做浓度类物料采购的采购员、实施顾问和负责月结对账的财务。下面按实际操作的先后顺序拆,重点讲参数为什么这么填。

2. 基础数据先立住:产品浓度开关与供应商档案的字段闭环

采购模块的前半段几乎没有“操作感”,全是建档。但恰恰是这一步决定了后面订单能不能建、收货能不能折。我在实施现场看到的返工,八成不是操作员手慢,而是建档阶段少勾一个框、少填一个字段,等到做单时才发现下拉框是空的,只能回头重来。

2.1 产品控制页签:浓度管理不是“有浓度就得勾”

路径是 基础数据 > 产品 > 产品控制页签,在“存货管理”区域把“浓度管理”选上,再到控制页签的“其他”里设置“浓度百分比”。手册里有一句提醒非常关键:不是所有有浓度的产品都需要设成“浓度管理”,只有 BOM 和计划面向净含量的产品才需要。

这句话翻译成实操判断就是:这个物料的后续动作,是按“里面有多少有效成分”来算的,还是按“有几桶、几公斤”来算的。判断口径我一般用下面几条:

  • 该物料进 BOM,BOM 用量按净含量下达,勾“浓度管理”。比如配方里写“有效成分 20KG”,仓库里领的是 40% 浓度的原料,那领料单必须能自动换算成 50KG 毛重。
  • 生产计划、MRP 运算按净含量跑需求,勾。否则计划算出来的需求量和采购量永远差一个浓度系数。
  • 只是采购回来带个浓度标签,库存按桶数或毛重记账,成本也按毛重算,不勾。硬勾上去,等于给每一张单据都套上一层折算,纯属自找麻烦。
  • 同一物料存在多个浓度批次并且要分开管理,别指望一个浓度字段扛下来,常见做法是拆成不同的物料编码,浓度作为物料属性固化。

浓度百分比的填法要特别留意。手册写的是“浓度百分比”,实操中多数环境填 40 代表 40%,而不是 0.4。但不同环境对小数位的解释不完全一致,我一般会先在测试库建一条 40% 的试单,走一遍订单到收货,看系统算出来的净数量是不是订单数量除以 0.4,对上了再批量维护。这一步看着笨,能省掉后面几十条数据的返工。

提示:浓度字段一旦被历史单据引用过,后期修改会连带影响新单据的默认值,改之前先在测试环境跑一遍收货,确认库存数量和金额都对得上再动生产库。

没勾“浓度管理”的后果比想象中严重:订单上的含量字段失去意义,折百标志选了也不生效,收货时的收货成本因子无从谈起,最后整条链路退化成纯毛重采购。如果业务上确实需要净含量口径,只能靠线下 Excel 手工折算,对账时就是一个黑匣子。

2.2 供应商建档:几个页签里哪些字段会卡住下游

新建供应商的路径是 基础数据 > 商业伙伴 > 供应商,右键选择供应商种类,然后逐个页签填。手册把要填的字段列得很细,但没说哪些是“填了好看”、哪些是“不填就做不了单”。我按影响程度重新排一遍。

标识页签填简称和供应商名称。简称是后续所有单据上的显示名,建议定一套编码规则,比如“地区+品类+序号”,别直接用全称,否则订单列表里全是长名字,找起来费劲。

地址页签填地址、电话、传真。手册里这个页签叫“客户地址”,字面上容易让人以为填错了地方,实际上就是供应商的联系地址,照填即可。这个页签的字段对单据流转没影响,但对收货单打印、对账单抬头有影响,别空着。

分类页签选“到期日基础”。这个字段决定收货生成批次时,到期日从哪一天开始往后推。填错的表现很隐蔽:收货能过,批次也能生成,但保质期算出来是错的,等到临期预警不响才发现。

报表控制页签是重点:供应商类型选“正常”或“潜在”,信用控制选“不检查”,再选省份和采购类型。供应商类型为“潜在”时,常见做法是允许建档但不允许直接下采购订单,需要先转成“正常”,或者下单时系统给出提示。如果新供应商刚建档就下不了单,先看这里。信用控制选“不检查”,意思是不校验信用额度,避免订单一提交就被额度拦住——这是采购模块常见的基础设置,具体是否适用取决于财务那边的应收政策。采购类型会影响订单的默认流程和报表归类,选错了单据能开,但统计口径会歪。

财务页签填付款条件和税则。付款条件直接带到应付,税则影响订单和收货的税额计算。这两个字段填错,采购这边一切正常,财务月结时会对出一堆差异。

追踪页签填提前期。提前期不参与采购单据的即时校验,但它影响计划端建议下单的日期,属于“当时看不出、事后全错位”的字段。

银行页签填开户行和账号,付款流程会取这里的值。联系人页签只有“名称”是必填,其余可选。

填完所有页签后点“新建”,一个新的供应商资料才建立起来。后期要改,改完点“保存”。这两个按钮的区别是血泪经验:新建是创建记录,保存是提交修改。有人在新建界面填完一整套字段,顺手点了“保存”,结果系统里什么都没生成,回头查半天以为是权限问题。

2.3 从字段到单据:一张映射表

把上面这些散落的字段压成一张表,实施时可以直接拿去当检查清单用。

页签关键字段影响的下游单据填错的典型现象
标识简称、供应商名称全部单据显示订单列表重名,无法区分
分类到期日基础收货批次、临期预警批次到期日整体偏移
报表控制供应商类型采购订单潜在供应商下不了单
报表控制信用控制采购订单提交被额度拦截
报表控制采购类型订单默认流程、报表统计口径错位
财务付款条件、税则应付、税额采购正常,财务对不上
追踪提前期计划建议下单日建议日期整体偏晚
银行开户行、账号付款付款批次失败
联系人名称(必填)单据联系人栏打印件空白

产品那边的浓度设置同理,也要落到一张对照上:勾了浓度管理的产品,订单会出现含量和折百标志;收货时会出现收货成本因子和收货浓度;库存按净含量记账,成本按净价核算。没勾的产品,这些字段要么不出现,要么填了不参与计算。两套口径混在同一个仓库里,盘点时必然出问题。

建档这一段做完,建议做一次“空跑验证”:拿一个勾了浓度管理的产品、一个正常状态的供应商,建一张 1KG 净含量的测试订单,走完审核、终审、收货,看库存增加的是 1KG 净含量还是 1 除以浓度之后的毛数量。跑通了再放开给业务用,跑不通就在基础数据里找原因,比事后追单据省事得多。

3. 从报价到订单:有效期、阶梯数量与折百换算的三个口径

报价和订单是采购模块里最容易“看起来对、算起来错”的两段。报价阶段的单价口径、订单阶段的折百标志、收货阶段的成本因子,本质上是同一件事在三个环节的三种表达方式。这三处只要有一处理解偏了,金额就会在某个环节突然翻倍或者腰斩。

3.1 报价单的三步选:时间段、产品、供应商

路径是 采购 > 价格 > 供应商报价。新建一张报价单,动作顺序是固定的三步。

第一步,确认有效时间段,格式是 yy-mm-dd 到 yy-mm-dd。这个区间不是备注,是硬约束:只有订单日期落在区间内的报价,才会被订单取价。所以跨年度的框架协议不要图省事写成一条从年初到年尾的记录,中途调价时没有地方改,只能再补一条,两条区间一重叠,取价就变成玄学。常见做法是按季度或者按调价节点拆成多条,区间首尾不重叠。

第二步,双击产品栏的空格,右键,选择需要的产品。手册里有一句注:需要报价栏能跟请购单相连接。意思是这张报价单要能挂到请购单上,请购转订单的时候才能把价格带过来。如果报价单是孤立建的、没有和请购需求关联,那么转订单时价格栏很可能是空的,需要手工补。这一步在很多项目里被简化成“先建报价、再建订单”,结果就是订单价格靠人肉记忆,错一次查半天。

第三步,右键供应商空格,选择供应商。同一张报价单里可以放多个供应商的多个产品行,按行组织,不要按单据组织。有些操作员习惯一个供应商建一张报价单,几十家供应商就是几十张单,审核工作量翻几倍,还容易漏。

三步做完,再填数量和单价。这里有个顺序问题:先选产品和供应商,再填最小最大数量和单价,最后点“新建”,然后“审核”。审核之前报价单不参与取价,很多人卡在这一步,明明价格录了,订单就是带不出来,原因就是没审核。

3.2 最小/最大数量与单价:阶梯价怎么填才被订单认

最小数量和最大数量构成一个数量区间,同一产品同一供应商可以有多行,每行一个区间、一个单价,这就是最简单的阶梯价。手册里注明“最好有可以不填”,意思是这两个字段不是强制项,留空代表不限。

留空和不留空的行为差异要提前确认清楚。有些环境把“最小数量为空”解释成 0 起,有些解释成不参与区间匹配。我一般建议:阶梯价的第一档最小数量明确填一个大于 0 的小值,最后一档最大数量留空表示上不封顶,中间每一档的首尾严格相接,不留空洞也不重叠。

区间重叠是最常见的翻车点。比如 1 到 100 报 10 元,100 到 500 报 9 元,那么数量正好 100 的时候两行都命中,系统取哪一行取决于内部排序,今天取到 10 元、明天取到 9 元都有可能。正确写法是 1 到 99、100 到 499、500 以上,边界值只出现一次。

单价的口径要在报价阶段就定死。报价单上的价格,通常是净数量口径(元/KG 净)。等到了订单,如果折百标志选“是”,价格继续按净数量走,没问题;如果折百标志选“否”,价格要按毛数量走,这时候报价单带出来的净价直接用在毛数量上,金额就会放大 1 除以浓度的倍数。40% 浓度的物料,金额直接放大 2.5 倍。这个错误不会报错,只会让成本悄悄跑偏。

3.3 折百与不折百:净数量、毛数量、价格口径三件事

到了 采购 > 订单 > 订单,核心就剩一个问题:这张订单是按净数量结算,还是按毛数量结算。手册给的规则很清楚,我把它拆成两条并列的路径。

折百订单:产品数量填净数量(折百后数量),含量必须录入,折百标志选“是”。此时“供应商数量”等于“订单数量”,价格是净数量价格。

不折百订单:产品数量同样填净数量(折百后数量),含量必须录入,折百标志选“否”。此时“供应商数量”根据“订单数量”和含量换算成毛数量,价格是毛数量价格。

把这两条写成公式:

  • 折百:供应商数量 = 订单数量;金额 = 供应商数量 × 净价
  • 不折百:供应商数量 = 订单数量 ÷ 浓度;金额 = 供应商数量 × 毛价

举个具体数字。订单数量 20KG(净),浓度 40%。

折百场景:供应商数量 20KG,净价 10 元/KG,金额 200 元。 不折百场景:供应商数量 = 20 ÷ 0.4 = 50KG 毛重,毛价 4 元/KG,金额 200 元。

两种口径下金额一致,但数量、单价、后续收货的输入方式完全不同。判断用哪一种,看的是供应商按什么结算:供应商按有效成分计价,走折百;供应商按整车、整桶的毛重计价,走不折百。

这段换算建议用一个几十行的小脚本先验证一遍,把手算结果和系统单据对一次,比在系统里反复试错快得多。

# 折百/不折百数量与金额换算校验,用来对系统单据 def convert(net_qty, concentration, fold_flag, price): """ net_qty: 订单数量,单位 KG,两条路径下都填净数量(折百后) concentration: 含量/浓度,传百分数,40 表示 40% fold_flag: '是' 折百 / '否' 不折百 price: 折百时传净价(元/KG 净),不折百时传毛价(元/KG 毛) 返回 (供应商数量, 金额) """ # 浓度必须在 0~100 之间,拦住把 0.4 当 40 填进来的情况 if concentration <= 0 or concentration > 100: raise ValueError("浓度按百分数填,40% 填 40,不是 0.4") ratio = concentration / 100.0 if fold_flag == "是": supplier_qty = net_qty # 折百:供应商数量 = 订单数量 amount = supplier_qty * price # 金额按净数量 × 净价 else: supplier_qty = net_qty / ratio # 不折百:净数量 ÷ 浓度 = 毛数量 amount = supplier_qty * price # 金额按毛数量 × 毛价 return round(supplier_qty, 3), round(amount, 2) # 20KG 净数量、40% 浓度,两种口径金额应一致 print(convert(20, 40, "是", 10)) # (20.0, 200.0) print(convert(20, 40, "否", 4)) # (50.0, 200.0) # 浓度填成 0.4 会直接抛异常,避免静默算出 5000KG

参数说明里最关键的是 price:折百传净价,不折百传毛价,两个价格不是同一个东西。很多项目在报价模块只维护了一套价格,到订单阶段才想起来要换算,于是现场手工乘除,错得毫无规律。稳妥做法是报价单上就把净价和毛价的换算关系标注清楚,或者干脆按折百、不折百拆成两套报价。

3.4 双审核:审核与终审卡在哪

订单建完,两个审核:先“审核”,再“终审”。两级状态的意义不同,审核一般是业务主管确认数量和价格,终审一般是把单据锁定、下发到收货环节。

状态卡点集中在两处。一是终审之后单据字段只读,数量、含量、折百标志全都改不了。这时候才发现含量填错,只能走取消或者变更流程,已经下发的单据还要通知仓库停止收货。二是审核和终审之间的空隙,有的环境允许在这一步修改数量,有的不允许,取决于权限配置。实施时要把这条规则写进操作规范,别让操作员靠试。

我的习惯是订单建完先自己核三个数:订单数量是不是净数量、供应商数量是不是按折百标志算出来的、金额是不是按对应口径的单价乘出来的。三个数对上再提交审核,能省掉终审之后 90% 的返工。

4. 收货与退货:成本因子取 0.4 还是 1,决定库存数量对不对

收货是整个链路里唯一会真正写库存的环节。前面订单上的折百标志、含量、供应商数量,到这一步全部收敛成一个字段——收货成本因子。这个字段填错,库存数量和库存金额会一起歪,而且歪得很隐蔽,单据本身不报错。

4.1 折百订单收货:成本因子必须等于浓度

路径是 采购 > 收货 > 收货。输入收货地点和供应商,点左边的订单选择按钮,从列表里选中要收货的订单。

折百订单的收货规则是:收货单上的数量填毛数量(折百前数量),收货成本因子必须录入,且与浓度一致。

手册里的例子很典型:折百前数量 50KG,浓度 40%。录入结束时系统会要求录入浓度,默认值根据收货成本因子计算得出。

这里的因果顺序要理清楚。收货成本因子是“把毛数量折成净数量”的系数,填 0.4,系统就用 50 × 0.4 = 20KG 净数量入库,同时把毛价折成净价算成本。所以因子的取值必须和订单上的含量严格对齐,订单含量 40%,因子就填 0.4(或者按环境的百分数口径填 40,先在测试库确认一次)。因子填成 0.5,入库数量变成 25KG,凭空多出 5KG;填成 0.04,入库 2KG,少了 18KG。

单据不会因为因子取值离谱而拦住你,它只会老老实实按你给的系数算。这就是为什么这一栏必须人工复核,不能靠系统兜底。

注意:收货结束时弹出的浓度录入框,默认值来自成本因子换算,可以按实际收货浓度修改。改了浓度,入库的净数量也会跟着变,改之前先想清楚是“记录实际浓度”还是“修正错误因子”,这两件事的操作后果不一样。

4.2 不折百订单收货:成本因子填 1 的含义

不折百订单的收货规则正好相反:收货单上的数量同样是毛数量(折百前数量),但收货成本因子固定填“1”,收货浓度默认为订单上的标准浓度,可以根据实际收货情况修改。

因子填 1 的意思是“不再二次折算”。收货 50KG 毛重,就入库 50KG,成本按毛价直接算。浓度这一栏退化成质量记录,只用于批次追溯和质检,不参与数量金额计算。

最常见的翻车就是把这两种订单的因子搞反:不折百订单顺手填了 0.4,库存直接少一半,而且单据上看不出任何异常,只有盘点时才发现账实不符;折百订单顺手填了 1,库存多出一倍多,成本少算了一半,等到财务结转才发现毛利不对。

区分方法很简单,收货前看一眼订单上的折百标志。是“是”,因子跟浓度走;是“否”,因子固定 1。我在现场一般会让操作员在收货单打印件上手写这两个值再录入,看着土,但比事后调账便宜。

4.3 供应商退货:走库存选择还是走收货单

退货路径是 采购 > 退货 > 供应商退货。输入退货地点、采购员、产品及数量。数量填毛数量(折百前数量),浓度根据选择的库存决定。

手册明确指出:退货时不选择收货单,做无收货来源退货。例子是退货 20KG,浓度 40%,然后在库存选择界面挑批次。

为什么不挂原收货单,这一点值得说清楚。浓度类物料在库里会发生批次混合,同一物料可能有 38%、40%、42% 几个批次,原收货单对应的是某一个特定批次,而实际要退的货可能已经从多个批次里拣出来。挂原单退货在数量上对不上,所以系统允许直接按库存退货,靠库存选择界面指定批次和数量。

两条路径的差别可以压成一张表:

退货方式操作入口数量口径适用场景
挂收货单退货从收货单下推退货毛数量,受原单未退数量限制整批退回、批次清晰
无来源退货采购 > 退货 > 供应商退货毛数量,按库存批次选混批、部分退回、质量挑拣

走无来源退货时,浓度不是手工填的,是跟着库存批次带出来的。所以退货前要先确认批次选对了,选错批次等于把好料退回去、坏料留在库里,账面上一点问题没有。

退货同样有两个动作容易漏:一是退货单也要审核,未审核的退货单不冲库存;二是退货数量是毛数量,别把净数量填进去,40% 浓度退 20KG 毛重,实际退掉的有效成分只有 8KG,填成 20KG 净数量,等于多退了 30KG 毛重。

5. 避坑与排查:五类浓度链路翻车记录

下面这五条是我在浓度类采购场景里反复见到的,按“现象—原因—解决”写,遇到问题可以直接对号入座。它们的共同点是:单据都能保存,系统都不报错,错在数量或者金额上,只能靠核对发现。

5.1 数量类:库存净含量凭空少一半或者多一倍

现象:折百订单收货 50KG 毛重、浓度 40%,库存净含量应该增加 20KG,实际增加了 25KG 或者 50KG。

原因:收货成本因子填错。填成 0.5 会得到 25KG,填成 1 会得到 50KG。折百订单的因子必须等于浓度,这是硬规则,系统不会校验两者是否一致。

解决:先停掉后续收货,查这张收货单的因子值,再对照订单上的含量。已经入库的错误批次通过退货加重新收货修正,不要直接改库存——直接改库存会切断单据和库存的追溯关系,月结对账时说不清。

提示:修正历史单据前先确认期间是否已结账,已结账期间的库存调整要走单独的调整单据,不要动原始收货单。

5.2 数量类:订单上的供应商数量和订单数量一模一样

现象:不折百订单,订单数量填 20KG,供应商数量也显示 20KG,收货时按 20KG 毛重收,实际应该是 50KG。

原因:折百标志选成了“是”。折百标志决定供应商数量的计算方式,选“是”就是供应商数量等于订单数量,选“否”才会按浓度换算。

解决:在终审之前,把折百标志改成“否”,供应商数量会自动重算;已经终审的,只能取消重开。这也是为什么我建议订单提交前先看这三个数:订单数量、供应商数量、金额。

5.3 价格类:单价看着对,金额差了一个浓度系数

现象:报价单上 10 元/KG,订单带出来也是 10 元/KG,但金额比预期大 2.5 倍。

原因:价格口径错配。报价单维护的是净价,订单走的是不折百路径,供应商数量已经换算成毛数量,价格却还在用净价。40% 浓度对应的放大倍数正好是 1 ÷ 0.4 = 2.5。

解决:不折百订单的单价必须是毛价,净价要除以浓度换算成毛价再录入。长期方案是在报价阶段就按折百、不折百拆成两套价格,或者至少在报价单备注里写清口径,避免下一个人接单时重新猜。

5.4 流转类:报价单有价格,订单就是带不出来

现象:报价单明明录了单价,请购转订单时价格栏是空的,手工填了又怕填错。

原因:三种可能。报价单没审核;订单日期落在报价有效期之外;订单数量不在报价的最小最大数量区间内。这三种情况系统都不会弹提示,只会安静地取不到价。

解决:按顺序查——先看报价单状态是不是已审核,再看有效期区间是否覆盖订单日期,最后核对订单数量落在哪一档区间。三处都正常还取不到,检查报价单有没有挂到对应的请购单上。

5.5 流转类:终审之后发现含量填错,改不动了

现象:订单终审后进入收货环节,发现含量应该是 42% 而不是 40%,所有字段变灰。

原因:终审是锁定动作,锁定的目的就是防止已下发单据被随意修改。这是设计意图,不是 bug。

解决:已终审的订单走取消或者变更流程,取消前先确认仓库没有按这张单收过货。收过货的,先做退货冲销,再取消订单重开。预防手段是前面说的三数自检,把核对动作放在终审之前。

6. 上线前自检:三张核对表与一段批量复核脚本

浓度类采购上线,最怕的不是不会操作,而是错了看不出来。我一般会在切换前准备三张核对表,配合一段批量脚本,把整条链路跑一遍。

第一张是产品设置表,列出所有勾了“浓度管理”的物料,逐条确认浓度百分比、是否进 BOM、计划是否按净含量跑。第二张是订单口径表,抽样每类物料各五张订单,核对折百标志、订单数量、供应商数量、单价口径四列是否自洽。第三张是收货因子表,把折百订单和不折百订单分开列,折百的因子应等于浓度,不折百的因子应恒为 1,逐行比对。

订单口径表里可以直接嵌 Excel 公式做即时校验,把理论供应商数量算出来跟系统值对照:

=IF(C2="是", B2, B2/(D2/100))

B 列是订单数量(净数量),C 列是折百标志,D 列是浓度百分数。算出来的结果和系统里的供应商数量比,差异超过 0.001 的行标红。金额同理,用供应商数量乘以对应口径的单价,跟系统金额比。

数据量大的时候,把订单行和收货行导出成 CSV,用一段脚本跑全量比对,比在系统里一页页翻可靠得多。

import pandas as pd # 两张导出表:订单行、收货行,列名按导出报表的表头调整 orders = pd.read_csv("po_lines.csv", encoding="utf-8-sig") receipts = pd.read_csv("receipt_lines.csv", encoding="utf-8-sig") # 按订单号+行号对齐,同一行可能收货多次,这里只做首尾核对 m = orders.merge(receipts, on=["订单号", "行号"], how="left", suffixes=("_po", "_rcv")) # 按折百标志反算理论毛数量:折百=订单数量,不折百=净数量/浓度 m["理论毛数量"] = m.apply( lambda r: r["订单数量"] if r["折百标志"] == "是" else r["订单数量"] / (r["含量"] / 100), axis=1, ) m["毛数量差异"] = m["收货数量"] - m["理论毛数量"] # 只输出差异超过 0.001 的行,正常的行不打印 bad = m.loc[m["毛数量差异"].abs() > 0.001, ["订单号", "行号", "订单数量", "含量", "折百标志", "收货数量", "理论毛数量", "毛数量差异"]] print(bad)

脚本的关键在反算逻辑:折百订单的收货数量直接等于订单净数量,不折百订单的收货数量等于净数量除以浓度。两条路径用同一个 if 分支区分,跑出来的差异行就是需要人工复核的单据。含量列如果是 40 这种百分数,除以 100 不能漏,否则不折百订单会全部判为差异——这个坑我自己踩过,第一次跑出来满屏红,差点以为整个库都错了。

最后一个习惯:新物料或者新供应商第一次上线,我会强制走一张 5 行以内的试单,从报价、订单、审核、终审、收货到退货完整跑一遍,把每一步的数量和金额记在一张纸上,跟系统对完再放开批量操作。从那以后,我再也没在月结前夜被叫去查“为什么库存多了一倍”这种问题。希望帮到你。

本文还有配套的精品资源,点击获取

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进