AMZ123跨境卖家导航
拖动LOGO到书签栏,立即收藏AMZ123
首页跨境头条文章详情

供应链系统的单据状态设计:单据头状态不要够用怎么办?那就加上单据行状态

489
2025-12-18 08:07
2025-12-18 08:07
489

【跨境合规实战训练营】“关、汇、税、商”系统搭建,点击获取跨境合规解决方案>>>

在我的产品经理交流群里,经常会看到有朋友问供应链系统的单据状态设计问题。

例如,他们会说:"我设计了一个采购订单,定义了待审核、已审核、收货中、已完成这些状态,但总觉得有些细节情况表达不清楚。比如供应商只能供其中3个SKU,另外2个供不了,这时候订单状态应该是什么?部分确认?部分收货?怎么定义都觉得不够准确。"

我发现这些朋友遇到的问题,本质上是因为他们一直在单据头上想办法,希望通过增加更多的状态枚举值,把所有业务场景都考虑齐全。

但实际上,他们遇到的这些场景,只靠单据头状态是解决不了的,需要引入"单据行状态"才行。

说白了,就是很多朋友可能都没见过、没体验过"单据头状态+单据行状态"这种设计,或者压根不知道单据的明细行上也可以加状态,对这块相对陌生,没有画面感。

我最近刚好在做类似的项目,接触过一些相关的案例,也踩过一些坑。所以想把单据头状态和单据行状态这两种设计的经验总结出来,分享给那些没怎么做过、或者对这块不太熟悉的朋友。

先搞清楚概念:什么是单据头状态和单据行状态?

在展开讲之前,我先把这两个概念说清楚,因为很多产品新人容易搞混。

单据头状态,就是整张单据的状态,一张单一个状态。比如一张采购订单,它的状态可能是"待审核""已审核""收货中""已完成",这个状态代表的是整单的流转情况。

单据行状态,就是单据里每个商品明细行的状态,一张单可能有多行,每行都有自己的状态。比如一张采购订单有5个SKU,每个SKU都是一行,每行的状态可能是"待确认""已确认""部分收货""已完成",这个状态代表的是每个商品的处理情况。

维度
单据头状态
单据行状态
粒度
整单维度
每个明细行维度
数量
一张单一个状态
一张单多行,每行一个状态
用途
表达整单的流转状态
表达每个商品的处理状态
典型状态
草稿、待审核、处理中、已完成
待处理、已拣货、已出库、缺货
常见场景
审核流程、整单确认
分批处理、每行结果不同

通过这个对比应该能理解了:单据头状态是宏观的,单据行状态是微观的。绝大多数场景下,单据头状态就够了;但有些场景下,必须要有单据行状态才能把业务说清楚。

什么时候单据头状态不够用?

下面用2个真实的业务场景来说明,什么时候必须要有单据行状态。

场景1:SRM的采购订单 - 供应商分批响应

在做SRM系统时,经常会遇到类似的典型场景。你向供应商A发了一张采购订单,包含5个SKU:

  • SKU-A:1000件,单价10元
  • SKU-B:500件,单价8元
  • SKU-C:800件,单价12元
  • SKU-D:300件,单价15元
  • SKU-E:200件,单价20元

按照正常流程,供应商应该全部确认,然后按约定的交期发货。但实际业务中,经常会遇到这种情况:

供应商A在SRM系统里响应说:"SKU-A、B、C我能供,预计7天交货。但SKU-D和E我这边缺货,供不了,要么改交期,要么就只能找别的供应商。"

这时候问题来了:这张采购订单的状态应该是什么?

如果只有单据头状态,你可能会设置一个"部分确认"的状态。但这个状态太笼统了,采购员看到"部分确认",还得点进去看明细,才知道具体是哪些SKU确认了、哪些没确认。而且后续SKU-D和E要转给供应商B,系统怎么知道这两行还需要继续处理?

如果有单据行状态,就清晰多了。

SKU
数量
单据行状态
说明
SKU-A
1000件
已确认
供应商A确认,7天交货
SKU-B
500件
已确认
供应商A确认,7天交货
SKU-C
800件
已确认
供应商A确认,7天交货
SKU-D
300件
已拒绝
供应商A拒绝,需转给供应商B
SKU-E
200件
已拒绝
供应商A拒绝,需转给供应商B

采购员一眼就能看出来:前3行已经有供应商确认了,后2行被供应商拒绝了,还需要继续找其他供应商。系统也可以根据"已拒绝"状态,自动提醒采购员及时跟进这种特殊场景。

那么单据头状态怎么设置呢?

单据头状态应该从单据行状态聚合而来。具体规则是:

  • 所有行都是"待确认" → 单据头状态 = "待确认"
  • 部分行"已确认",部分行"待确认" → 单据头状态 = "部分确认"
  • 所有行都是"已确认" → 单据头状态 = "已确认"
  • 开始收货后,部分行"部分收货" → 单据头状态 = "收货中"
  • 所有行都是"已完成" → 单据头状态 = "已完成"

这样设计的好处是:单据头状态有明确的推导逻辑,系统可以自动更新,不需要人工维护。

为什么这个场景必须有单据行状态?

因为采购订单的业务特点就是"供应商可能分批响应、分批交付"。如果没有单据行状态,采购员根本没法跟踪每个SKU的具体情况,也没法知道哪些SKU还需要继续处理。

场景2:WMS的出库单 - 分批拣货、分批出库

仓库收到一张配货单,要给门店发10个SKU。拣货员开始拣货,理想情况下是10个SKU都能拣到,然后一起打包出库。但实际业务中,经常会出现这种情况:

拣货员拣了一圈,结果:

  • 前7个SKU都拣到了,数量也对
  • 第8个SKU系统里显示有50件库存,但货架上只找到30件,少了20件
  • 第9、10个SKU系统里有库存,但实物完全找不到(可能是货物丢失了,或者货物放错位置了)

仓库主管看了看情况,说:"先把拣到的7个SKU发走,第8个SKU先发30件,剩下20件明天盘点完再说。第9、10个SKU今天肯定发不出去了,让业务部门重新安排吧。"

这时候如果只有单据头状态,你根本没法表达清楚这个复杂的情况。单据头状态应该是什么?"部分完成"?"进行中"?"异常"?不管设置成什么,业务部门和仓库人员都看不出来具体是什么情况。

如果有单据行状态,就清晰多了。

SKU
计划数量
实际拣货
单据行状态
说明
SKU 1-7
各若干件
全部拣到
已出库
正常出库
SKU 8
50件
拣到30件
部分出库
少了20件,需要补货
SKU 9
30件
0件
缺货
实物未找到,需要盘点
SKU 10
20件
0件
缺货
实物未找到,需要盘点

这样一看就清楚了:

  • 前7个SKU已经正常发出去了
  • 第8个SKU部分发出去了,还差20件
  • 第9、10个SKU完全没发出去,需要重新处理

业务部门可以根据这个明细,决定是等补齐再发,还是先部分发货;财务部门也可以根据实际出库情况开票和对账。

为什么这个场景必须有单据行状态?

因为WMS的业务特点就是"可能分批拣货、可能部分缺货、可能实物对不上"。如果没有单据行状态,仓库人员和业务部门根本没法知道每个SKU的具体处理情况,也没法决定后续怎么处理。

小结:什么时候必须要有单据行状态?

通过这2个场景可以看到,必须要有单据行状态的情况主要有3种:

1. 业务会分批处理

  • 供应商分批响应、分批发货
  • 仓库分批拣货、分批出库
  • 财务分批开票、分批结算

2. 每行的处理结果可能不同

  • 有些行成功、有些行失败
  • 有些行正常、有些行缺货
  • 有些行确认了、有些行被拒绝了

3. 需要跟踪每行的生命周期

  • 从待处理 → 处理中 → 已完成
  • 每一步都要能看到具体是哪些行在哪个状态

如果你的业务场景满足以上任何一种情况,那就必须要有单据行状态。如果都不满足,单据头状态就够了。

单据行状态怎么设计?

讲完了"什么时候需要",下面讲讲"怎么设计"。这部分我会把我踩过的坑和总结的经验都分享出来。

1. 单据头状态和单据行状态的关系

这是很多产品经理容易搞混的地方。到底是单据头状态决定单据行状态,还是单据行状态决定单据头状态?

我推荐的设计思路是:单据头状态由单据行状态聚合而来。

具体的聚合规则是:

  • 所有行都是同一个状态 → 单据头状态就是这个状态
    • 例如:所有行都是"待处理" → 单据头状态 = "待处理"
    • 例如:所有行都是"已完成" → 单据头状态 = "已完成"
  • 部分行是状态A,部分行是状态B → 单据头状态就是"中间状态"
    • 例如:部分行"已出库",部分行"待处理" → 单据头状态 = "部分出库"
    • 例如:部分行"已确认",部分行"待确认" → 单据头状态 = "部分确认"

这种设计的好处是:

  • 单据头状态有明确的推导逻辑:不会出现单据头和单据行状态不一致的情况
  • 系统可以自动更新单据头状态:不需要人工维护,减少出错概率
  • 业务容易理解:单据头状态就是单据行状态的汇总,逻辑清晰

2. 单据行状态的粒度设计

这是另一个很重要的问题:单据行状态到底应该设计多少个?

我的核心原则是:根据业务需要设计,不要为了细而细。

我见过一个过度设计的案例:某个采购订单系统,产品经理把采购订单行状态设计了15个:

待提交 → 待审核 → 审核中 → 已审核 → 待确认 → 供应商确认中 → 
已确认 → 待发货 → 备货中 → 已发货 → 运输中 → 待收货 → 
收货中 → 质检中 → 已完成

这样设计的问题是:

  • 状态太多,业务根本分不清:采购员看到这么多状态,根本不知道该关注哪个,"审核中"和"已审核"有什么区别?"待发货"和"备货中"又有什么差别?
  • 维护成本高:每个环节都要更新状态,但很多状态的转换逻辑根本没人维护,导致数据不准确
  • 系统复杂度高:状态机的转换规则非常复杂,后续维护很困难

实际上,采购订单行状态只需要6-7个就够了:

待确认 → 已确认 → 已拒绝
       ↓
   部分收货 → 已完成 → 已关闭

为什么这样设计就够了?

  • "待审核""审核中""已审核" → 这些是单据头的审核流程状态,不需要在单据行上体现
  • "待发货""备货中""已发货""运输中" → 这些由供应商的发货单来体现,不需要在采购订单行状态里反映
  • "收货中""质检中" → 这些是WMS和质检系统的状态,采购订单行只需要知道"部分收货"还是"已完成"就够了

关键是要分清楚:哪些状态是这张单据必须承载的,哪些状态应该由其他单据或日志来承载。

如果你确实需要追踪更细的过程,比如"什么时候发货的""谁质检的",我的建议是:用操作日志或关联单据来记录,而不是增加单据行状态。

比如:

  • 供应商发货时,创建一张发货单,关联采购订单,这样就能看到发货时间、物流单号等信息
  • 质检完成时,记录一条质检记录,关联采购订单行,这样就能看到质检人、质检时间、质检结果

这样既能追踪到详细的操作过程,又不会让单据行状态过多。单据行状态只关注核心流转节点,其他细节由操作日志和关联单据来补充。

3. 单据行状态变更的触发时机

什么时候应该更新单据行状态?常见的触发时机有3种:

1. 下游系统回传结果时 - WMS回传出库结果、供应商在SRM系统里响应、物流系统回传签收信息等。这样数据最准确,时效性也最好。

2. 人工操作时 - 采购员手动确认、仓库主管手动取消、财务手动开票等。人工操作要留痕,记录操作人、操作时间、操作原因。

3. 定时任务扫描 - 超时未处理自动取消、批次到期自动冻结、承诺交期已到自动提醒等。定时任务要设置合理的时间间隔。

最重要的一点:单据行状态的每次变更都要记录到状态流转表或操作日志表,这样可以追溯状态变更历史,出问题时能查到是谁、什么时候、为什么改的。

4. 另一种设计思路:单据头多状态字段

讲完单据行状态,再补充一种常见的设计思路:在单据头上设计多个状态字段。这种设计思路,也可以很高效率地接近日常的业务问题,但是如果要三言两语把这一块拆解清楚也需要不少的篇幅,我决定在后续新开一篇文章再对它做一个拆解。

传统设计可能只有一个"单据状态"字段,但有时候会把它拆分成多个状态字段。比如采购订单,可以拆成:审核状态、确认状态、入库状态、对账状态、开票状态。这样设计的好处是每个维度独立表达,采购员关注确认状态,财务关注对账状态和开票状态,各看各的,查询也方便。

什么时候用单据头多状态字段?什么时候用单据行状态?

简单来说:

  • 单据头多状态字段 → 适合整单维度的多个流程环节(如审核、对账、开票)
  • 单据行状态 → 适合每个明细行的处理情况不同(如供应商分批确认、仓库分批拣货)

两者不是非此即彼的关系,可以结合使用。一个典型的设计是:单据头用多状态字段(审核状态、对账状态、开票状态),单据行也有行状态(待确认、已确认、已拒绝、部分收货、已完成)。

常见的坑和注意事项

设计单据行状态时,有一些坑很容易踩。我把最常见的3个坑总结出来:

坑1:单据行状态过多,维护成本高

我见过一个系统,采购订单行状态设计了20个,从"待确认"到"已入库"每个小环节都有状态。结果业务部门根本分不清这些状态的区别,开发团队维护起来也非常痛苦,状态转换规则极其复杂,经常出bug。

建议: 核心状态控制在5-8个以内,如果需要更细的追踪,用操作日志或状态流转表来记录,而不是增加状态数量。

坑2:单据头状态和单据行状态不一致

某系统的销售订单,单据头状态是"已完成",但点进去看明细,发现有些行还是"处理中"。业务部门不知道该信哪个,对账时也搞不清楚到底有没有完成。

建议: 建立明确的聚合规则,单据头状态要能从单据行状态推导出来。在更新单据头状态时,要校验单据行状态是否匹配。

坑3:历史数据没有单据行状态,补录很痛苦

某公司一开始只设计了单据头状态,系统上线1年后,业务部门提出需要单据行状态。产品经理加了字段,但历史数据全是空的。这时候就很尴尬:不补录历史数据,业务部门没法查询统计;要补录历史数据,但根本没有记录当时每行的状态。

建议: 即使暂时不用单据行状态,也要预留字段。在单据创建时就给单据行状态设置一个默认值(如"待处理"),单据完成后自动更新为"已完成"。这样将来如果要启用单据行状态功能,历史数据至少有个初始状态。

写在最后

状态设计没有标准答案,需要结合具体的业务场景来判断。但掌握了基本思路和原则,相信你能设计出既实用又稳健的状态管理方案。

单据行状态虽然用得不多,但一旦需要就是刚需,回避不了。如果你之前的工作中没怎么接触这一块的内容,也没想到过有这种设计思路和方法,那么这篇文章你可以仔细研究一下,把一些疑问和拓展知识丢给AI,让它跟你进行更深入的交流和沟通。最后再把相关的内容沉淀、总结到自己的知识库中,后续工作中遇到需要采用这种设计方案的时候,就可以直接掏出来用了。

3.25 广州wayfair-文章页底部图片
免责声明
本文链接:
本文经作者许可发布在AMZ123跨境头条,如有疑问,请联系客服。
最新热门报告作者标签
占总收入超30%!Naver电商业务按下“加速键”
AMZ123获悉,据外媒报道,韩国电商巨头Naver近日公布财报指出,其创下了年度营收与利润的历史新高,其中电商板块首次贡献了超过30%的总销售额,成为业绩增长的核心引擎。财务数据显示,Naver上一财年营收同比增长12.1%,达到约12.04万亿韩元,营业利润增长11.6%至2.21万亿韩元。其中,电子商务部门的销售额表现尤为亮眼,同比大幅增长26.2%,达到3.69万亿韩元。分析指出,其增长动力一方面来源于Naver Plus Store平台采用的智能推荐技术,另一方面,竞争对手平台Coupang此前发生过大规模数据泄露事件,促使部分用户转向Naver。
亚马逊正计划推出AI内容交易平台
AMZ123获悉,近日,据外媒报道,亚马逊正计划推出一个面向人工智能公司的内容交易平台,允许出版商将其内容出售给开发人工智能产品的企业。报道指出,在即将举行的亚马逊云服务大会之前,AWS 已向部分行业人士分发了相关演示材料,其中提及一个“内容市场”。据悉,至少有两位行业人士曾与亚马逊就该项目进行沟通,并确认了这一计划的存在。根据演示材料显示,AWS 在介绍可供出版商使用的产品时,将该内容市场与其核心人工智能工具并列展示,其中包括 Bedrock 和 Quick Suite。这一安排显示,亚马逊有意将内容交易平台作为其人工智能生态体系中的重要组成部分。
被指控拖欠运费3700万欧元!UPS起诉Temu
AMZ123获悉,据外媒报道,近日,UPS在爱尔兰商业法庭中提起诉讼,指控Temu的欧洲运营实体——Whaleco Technology Ltd拖欠其超过3700万欧元的巨额运费。据了解,这场纠纷源于双方2024年达成的一项临时运输协议。UPS指出,为承接Whaleco从中国发往欧洲的海量小包裹运输业务,双方经过漫长谈判,最终UPS同意在2024年9月至2025年9月期间,以“远低于标准价格”的折扣费率提供服务。然而,协议执行期间问题开始显现。UPS强调,截至2025年8月,Whaleco已累计拖欠约1300万欧元费用。临时协议终止后,UPS提出按标准费率继续合作(仍提供30%折扣),但对方并未接受此新条款。
塔吉特计划加大门店人力投入,裁减约500个岗位
AMZ123获悉,近日,据外媒报道,Target(塔吉特)正在加大对门店人力的投入,同时在其他业务环节裁减岗位,以改善消费者体验并推动公司重回增长轨道。Target 表示,将增加门店一线员工的工时和培训投入,但同时将在配送中心和区域办公室裁减约500个岗位。据CNBC获取的一封内部员工邮件显示,Target 计划调整门店的管理和运营方式,减少门店所在的管理区数量,并将节省下来的资源投入到门店一线员工身上。Target希望通过这一举措,解决消费者近期反映较多的货架凌乱、商品缺货以及结账排队时间过长等问题。改善客户体验被视为新任首席执行官 Michael Fiddelke 的首要目标之一。
Otto将允许欧洲其他国家卖家入驻电商平台
AMZ123获悉,近日,德国电商平台Otto正在准备首次向欧洲其他国家的卖家开放其电商市场。此前,Otto仅允许在德国设立并持有德国增值税号的卖家入驻。随着相关规则调整,Otto将从以德国本土为核心的平台,逐步转向面向欧洲市场的电商平台。Otto近年来保持了较为稳健的增长态势。数据显示,在过去一年中,共有1170万名消费者在Otto平台完成购物,同比增长3%,其中290万为新增用户。平台商品总量同比增长26%,超过1800万件。值得注意的是,在德国整体电商市场同比下滑11.8%的背景下,Otto仍实现了逆势增长。在卖家侧,Otto去年平台入驻的市场合作伙伴数量同比增长33%,超过6500家。
亚马逊欧洲市场增长强劲,德英营收狂飙!
AMZ123获悉,近日,据外媒报道,亚马逊去年在其两大核心欧洲市场——德国和英国,均实现了显著的收入增长,增速甚至跑赢了其美国本土及日本市场。具体而言,亚马逊在德国市场营收达459亿美元,同比增长12.3%;英国市场紧随其后,营收为432亿美元,增幅达14.2%。值得关注的是,亚马逊德国和英国市场的增长势头在加速:相较于2024年德国8.7%、英国12.7%的增长率,2025年的表现更为强劲。尽管德国仍是亚马逊在欧洲的最大单一市场,但英国市场正快速追赶,两者差距逐步缩小。这一增长表现超越了亚马逊在美国(11.8%)和日本(12.0%)的同期增速。
亚马逊美国站自配送卖家将统一使用预付退货标签
AMZ123获悉,近日,亚马逊宣布,将进一步统一和简化卖家退货及跨境扩展相关规则。自2026年2月8日起,所有在美国站点进行自配送订单的卖家,均需使用亚马逊预付退货标签(Amazon Prepaid Return Label,简称APRL)计划,为消费者提供退货服务,不再区分商品价值高低。这意味着此前针对高价值商品的豁免政策将被取消。根据新规,APRL计划将通过亚马逊“购买配送服务”自动向消费者提供预付退货运单标签,消费者无需再与卖家进行额外沟通即可完成退货流程。亚马逊表示,这一调整旨在为消费者提供更加一致的退货体验,同时缩短退款周期,将退款处理时间从原先的14天缩短至7天,并减少买卖双方之间的客服沟通需求。
TikTok卖家做“Y2K”生意,单月入账400万+
“回到2016年”爆火海外,TikTok卖家靠“复古相机”狂揽千万
利润近900亿,税款仅12亿!亚马逊税单大“跳水”
AMZ123获悉,近日,据外媒报道,亚马逊在上一财年利润同比增长45%,达到近900亿美元。但是其应纳税额从前一年的90亿美元降至12亿美元。这一变化主要源于美国共和党推动的税收政策调整。相关法案中加入了针对企业资产投资的“加速折旧”优惠条款,允许企业在投资初期进行更大规模的税前扣除。这对持续投入基础设施与人工智能数据中心的亚马逊产生了尤为明显的影响。此外,法案也扩大了研发费用的税收补贴范围。长期以来,民主党人批评亚马逊等大型科技公司利用税法规则缴纳过少的税款。此次税单的急剧下降,预计将引发新一轮政治争论。亚马逊方面对此作出了解释。
亚马逊再出新功能!卖家可安心过大年了!
春节的脚步一天天近了,眼下这个阶段,大多数卖家最惦记的不是卖多少,而是把预期管理好。— 1 —亚马逊卖家可以设置配送时间近日,亚马逊宣布推出一项新功能,赋予商家在后台自行设定节假日配送安排的能力。可以说是个利好消息!春节期间物流运力波动、休假是常态,很容易出现配送时效偏差,进而引发大量投诉。但新功能确保在假日期间商品仍能维持正常展示,并让配送时间变得更可预测。对零售商而言,此次更新大大帮助商家节日高峰期减少错配和延误风险。而对于跨境卖家而言,尤其是在多国假日叠加的时段,这一功能将提升对不同地区配送承诺的准确性,提升客户体验。春节配送上,卖家需要提前调整好几个变量。
亚马逊25年GMV达8300亿美元,第三方卖家贡献近七成
AMZ123获悉,近日,Marketplacepulse的数据显示,2025年亚马逊平台商品交易总额(GMV)已超过8000亿美元,达到约8300亿美元。这一规模相比七年前的2770亿美元增长了近三倍,显示出亚马逊电商体系在全球范围内的持续扩张能力。从业务结构来看,2025年亚马逊自营业务销售额约为2550亿美元,第三方卖家在平台上的销售额约为5750亿美元,两大板块同比增速均接近9%。这一增长水平延续了亚马逊自2022年以来保持的6%至10%的稳定区间,相较于2020年疫情期间高达46%的爆发式增长,当前已回归常态化扩张阶段。第三方市场仍是亚马逊GMV增长的主要来源,但增速已有所放缓。
大卖首登超级碗,年终奖金达10亿量级?
年关将至,有的公司提前散场,把不确定性留给假期;有的公司忙着开年会,把底气和方向摆到台面上。AMZ123获悉,2月4日,追觅科技将年会搬进苏州奥体中心,以“敢梦敢为·追觅之夜”的演唱会形式为员工办了一场高规格。随后相关话题迅速冲上热搜,也把“年会该不该花这么多钱”的讨论推到台前。对此,追觅科技创始人兼CEO俞浩在其微博账号发文回应称,外界更关注舞台与明星,但追觅真正的大头投入长期压在产品研发上,“别只看到热闹”。俞浩在回应中提到,“演唱会几千万投入”仅相当于公司“一天研发费用”,并披露了公司年终奖方案:主营业务将拿出“净利润的18%”作为奖金发放,且为“纯现金部分”,不包含平时福利。
亚马逊巴西下调FBA物流费,吸引中小卖家
AMZ123获悉,近日,亚马逊巴西宣布下调物流费用,并扩大Fulfillment by Amazon(FBA)服务的覆盖范围,以进一步降低卖家使用门槛,吸引更多中小卖家参与。根据最新政策,自本月起,售价在100雷亚尔以上的商品可享受FBA物流费用全免;售价低于100雷亚尔的商品,费用统一为每件5雷亚尔。所有参与该计划的卖家均可在2月份享受上述优惠,并同时获得免费的商品揽收和仓储服务。从3月开始,若卖家希望将优惠政策延续至7月,需要将每月营业额的3.5%投入到Amazon Ads广告投放中,并按月满足该比例要求,方可继续享受优惠物流费率。
TikTok Shop东南亚加码AI内容风控,禁止卖家“道德绑架”
TT123获悉,前日,Tokopedia将关闭、其业务将被 TikTok Shop旗下独立应用取代的“小作文”,引发不少TikTok印尼卖家的恐慌。2月2日,TikTok Shop方正式作出回应,明确表示将继续投资Tokopedia及印尼市场,相关关闭传言缺乏事实依据。众所周知,印尼是TikTok Shop在东南亚最大的“现金奶牛”,而庞大的市场体量必然伴随着更严苛的监管审视,放眼整个东南亚市场,印尼并非孤立,新一轮的政策上新,即将发酵。
传统搜索将被AI取代,品牌策略迎来新变化!
AMZ123获悉,近日,据Deloitte发布的《2026 年全球零售业展望》报告显示,近90%的零售业高管预计,由人工智能驱动的产品发现功能将很快超越传统搜索引擎。这一转变意味着,品牌的线上可见度不再仅仅取决于关键词排名,而越来越依赖于机器对用户意图的理解与上下文匹配能力。人工智能正将以往多步骤的搜索与比较流程,压缩为一次性的直接交互过程。无论是通过聊天界面、个性化信息流还是语音助手,AI系统能实时识别用户需求并推荐产品。Deloitte的报告进一步指出,约半数零售高管预计,到2027年,传统购物流程将被整合性的AI体验所取代,覆盖发现、决策到结账的全过程。这一变革对品牌构成了新的挑战。
十二款,积木套装玩具--美国专利侵权预警
亚马逊专利精准查询;美国、欧盟专利申请!美国专利侵权诉讼,TRO诉讼侵权和解!
《2026独立站卖家日历》PDF下载
2026 独立站卖家日历 2026 全年营销节奏
《2025中东北非消费者数字经济报告》PDF下载
2025年的报告不仅持续跟踪数字经济的同比增长,也更深入:我们探讨了新兴技术对下一波数字化转型的影响力,还首次将中东北非国家及地区的消费者行为偏好与全球其他市场进行对比。
《2025年终大促旺季AI消费趋势报告》PDF下载
随着人工智能 AI的爆发式增长,如 ChatGPT、Perplexity 和Llama等交互式聊天机器人正在渐渐成为大众研究和推荐的首选工具。根据 AI智能体功能的更新迭代,目前已经可以完成网购下单、预订服务、及交易支付,现已被统称为 AI智能体电商Agentic Commerce,且其采用率正呈现出滚雪球式的增长。
《2025年全球二手奢侈品行业消费者洞察报告》PDF下载
当今,二手奢侈品时尚行业的商业格局不可忽视!从贝雷帽到高跟鞋,二手奢侈品正在改变消费者对奢侈品及自身购买力的看法。未来 10 年内,二手奢侈品市场预计将达到952亿美元。您的公司或品牌是否已做好充分准备,应对市场的变化?
《2025海外消费者数字经济报告》PDF下载
这份报告基于 YouGov 对全球 16 个市场18,000 名消费者的调研,探讨了信任如何影响电商经济中的消费行为(这是一个庞大的全球生态系统,每天通过数十亿次线上支付购买商品和服务)。该报告还参考了Checkout.com 自身的网络数据--数十亿个反映了资金如何在全球范围内 24 小时流动的数据点所展示的支付趋势。
《TikTok2026年趋势报告》PDF下载
在这份报告中,TikTok将这些变化提炼为三大关键趋势——真实(Reali-TEA)、探索(Curiosity Detours)与情绪回报(Emotional ROI),它们正共同推动用户增长方式与品牌营销逻辑的转变。
《2025 TikTok Shop 年度调研报告》PDF下载
在2025年,TikTok Shop“一站式卖全球”的愿景,正以内容场为战略支点,依托品牌托管等营运模式、AI驱动、达人带货和内容激励机制,系统性建构起一套全球化增长范式。基于此,TT123制作了这份《2025 TikTok Shop 年度调研报告》,旨在通过对2025年的深度复盘,帮助卖家把握短期波动的机会,锁定2026年的确定性方向。
《中国通用机械出海国别机会洞察报告》PDF下载
在全球制造业向智能化、绿色化深度转型与国内产业升级加速共振背景下,通用机械作为工业体系基础支撑,其技术创新与产业生态演化研究对强化产业链韧性、推动经济高质量发展具有重要战略意义。
欧洲电商资讯
AMZ123旗下欧洲跨境电商新闻栏目,专注欧洲跨境电商热点资讯,为广大卖家提供欧洲跨境电商最新动态、最热新闻。
跨境电商干货集结
跨境电商干货集结,是结合亚马逊跨境电商卖家交流群内大家在交流过程中最常遇到的问题,进行收集整理,汇总解答,将会持续更新大家当前最常遇见的问题。欢迎大家加入跨境电商干货集结卖家交流群一起探讨。
AMZ123跨境电商
专注跨境行业热点事件报道,每日坚持推送原创深度热文
跨境平台资讯
AMZ123旗下跨境电商平台新闻栏目,专注全球跨境电商平台热点事件,为广大卖家提供跨境电商平台最新动态、最热新闻。
AMZ123卖家导航
这个人很懒,还没有自我介绍
侃侃跨境那些事儿
不侃废话,挣钱要紧!
跨境数据中心
聚合海量跨境数据,输出跨境研究智慧。
跨境电商赢商荟
跨境电商行业唯一一家一年365天不断更的媒体!
首页
跨境头条
文章详情
供应链系统的单据状态设计:单据头状态不要够用怎么办?那就加上单据行状态
PM维他命
2025-12-18 08:07
490

在我的产品经理交流群里,经常会看到有朋友问供应链系统的单据状态设计问题。

例如,他们会说:"我设计了一个采购订单,定义了待审核、已审核、收货中、已完成这些状态,但总觉得有些细节情况表达不清楚。比如供应商只能供其中3个SKU,另外2个供不了,这时候订单状态应该是什么?部分确认?部分收货?怎么定义都觉得不够准确。"

我发现这些朋友遇到的问题,本质上是因为他们一直在单据头上想办法,希望通过增加更多的状态枚举值,把所有业务场景都考虑齐全。

但实际上,他们遇到的这些场景,只靠单据头状态是解决不了的,需要引入"单据行状态"才行。

说白了,就是很多朋友可能都没见过、没体验过"单据头状态+单据行状态"这种设计,或者压根不知道单据的明细行上也可以加状态,对这块相对陌生,没有画面感。

我最近刚好在做类似的项目,接触过一些相关的案例,也踩过一些坑。所以想把单据头状态和单据行状态这两种设计的经验总结出来,分享给那些没怎么做过、或者对这块不太熟悉的朋友。

先搞清楚概念:什么是单据头状态和单据行状态?

在展开讲之前,我先把这两个概念说清楚,因为很多产品新人容易搞混。

单据头状态,就是整张单据的状态,一张单一个状态。比如一张采购订单,它的状态可能是"待审核""已审核""收货中""已完成",这个状态代表的是整单的流转情况。

单据行状态,就是单据里每个商品明细行的状态,一张单可能有多行,每行都有自己的状态。比如一张采购订单有5个SKU,每个SKU都是一行,每行的状态可能是"待确认""已确认""部分收货""已完成",这个状态代表的是每个商品的处理情况。

维度
单据头状态
单据行状态
粒度
整单维度
每个明细行维度
数量
一张单一个状态
一张单多行,每行一个状态
用途
表达整单的流转状态
表达每个商品的处理状态
典型状态
草稿、待审核、处理中、已完成
待处理、已拣货、已出库、缺货
常见场景
审核流程、整单确认
分批处理、每行结果不同

通过这个对比应该能理解了:单据头状态是宏观的,单据行状态是微观的。绝大多数场景下,单据头状态就够了;但有些场景下,必须要有单据行状态才能把业务说清楚。

什么时候单据头状态不够用?

下面用2个真实的业务场景来说明,什么时候必须要有单据行状态。

场景1:SRM的采购订单 - 供应商分批响应

在做SRM系统时,经常会遇到类似的典型场景。你向供应商A发了一张采购订单,包含5个SKU:

  • SKU-A:1000件,单价10元
  • SKU-B:500件,单价8元
  • SKU-C:800件,单价12元
  • SKU-D:300件,单价15元
  • SKU-E:200件,单价20元

按照正常流程,供应商应该全部确认,然后按约定的交期发货。但实际业务中,经常会遇到这种情况:

供应商A在SRM系统里响应说:"SKU-A、B、C我能供,预计7天交货。但SKU-D和E我这边缺货,供不了,要么改交期,要么就只能找别的供应商。"

这时候问题来了:这张采购订单的状态应该是什么?

如果只有单据头状态,你可能会设置一个"部分确认"的状态。但这个状态太笼统了,采购员看到"部分确认",还得点进去看明细,才知道具体是哪些SKU确认了、哪些没确认。而且后续SKU-D和E要转给供应商B,系统怎么知道这两行还需要继续处理?

如果有单据行状态,就清晰多了。

SKU
数量
单据行状态
说明
SKU-A
1000件
已确认
供应商A确认,7天交货
SKU-B
500件
已确认
供应商A确认,7天交货
SKU-C
800件
已确认
供应商A确认,7天交货
SKU-D
300件
已拒绝
供应商A拒绝,需转给供应商B
SKU-E
200件
已拒绝
供应商A拒绝,需转给供应商B

采购员一眼就能看出来:前3行已经有供应商确认了,后2行被供应商拒绝了,还需要继续找其他供应商。系统也可以根据"已拒绝"状态,自动提醒采购员及时跟进这种特殊场景。

那么单据头状态怎么设置呢?

单据头状态应该从单据行状态聚合而来。具体规则是:

  • 所有行都是"待确认" → 单据头状态 = "待确认"
  • 部分行"已确认",部分行"待确认" → 单据头状态 = "部分确认"
  • 所有行都是"已确认" → 单据头状态 = "已确认"
  • 开始收货后,部分行"部分收货" → 单据头状态 = "收货中"
  • 所有行都是"已完成" → 单据头状态 = "已完成"

这样设计的好处是:单据头状态有明确的推导逻辑,系统可以自动更新,不需要人工维护。

为什么这个场景必须有单据行状态?

因为采购订单的业务特点就是"供应商可能分批响应、分批交付"。如果没有单据行状态,采购员根本没法跟踪每个SKU的具体情况,也没法知道哪些SKU还需要继续处理。

场景2:WMS的出库单 - 分批拣货、分批出库

仓库收到一张配货单,要给门店发10个SKU。拣货员开始拣货,理想情况下是10个SKU都能拣到,然后一起打包出库。但实际业务中,经常会出现这种情况:

拣货员拣了一圈,结果:

  • 前7个SKU都拣到了,数量也对
  • 第8个SKU系统里显示有50件库存,但货架上只找到30件,少了20件
  • 第9、10个SKU系统里有库存,但实物完全找不到(可能是货物丢失了,或者货物放错位置了)

仓库主管看了看情况,说:"先把拣到的7个SKU发走,第8个SKU先发30件,剩下20件明天盘点完再说。第9、10个SKU今天肯定发不出去了,让业务部门重新安排吧。"

这时候如果只有单据头状态,你根本没法表达清楚这个复杂的情况。单据头状态应该是什么?"部分完成"?"进行中"?"异常"?不管设置成什么,业务部门和仓库人员都看不出来具体是什么情况。

如果有单据行状态,就清晰多了。

SKU
计划数量
实际拣货
单据行状态
说明
SKU 1-7
各若干件
全部拣到
已出库
正常出库
SKU 8
50件
拣到30件
部分出库
少了20件,需要补货
SKU 9
30件
0件
缺货
实物未找到,需要盘点
SKU 10
20件
0件
缺货
实物未找到,需要盘点

这样一看就清楚了:

  • 前7个SKU已经正常发出去了
  • 第8个SKU部分发出去了,还差20件
  • 第9、10个SKU完全没发出去,需要重新处理

业务部门可以根据这个明细,决定是等补齐再发,还是先部分发货;财务部门也可以根据实际出库情况开票和对账。

为什么这个场景必须有单据行状态?

因为WMS的业务特点就是"可能分批拣货、可能部分缺货、可能实物对不上"。如果没有单据行状态,仓库人员和业务部门根本没法知道每个SKU的具体处理情况,也没法决定后续怎么处理。

小结:什么时候必须要有单据行状态?

通过这2个场景可以看到,必须要有单据行状态的情况主要有3种:

1. 业务会分批处理

  • 供应商分批响应、分批发货
  • 仓库分批拣货、分批出库
  • 财务分批开票、分批结算

2. 每行的处理结果可能不同

  • 有些行成功、有些行失败
  • 有些行正常、有些行缺货
  • 有些行确认了、有些行被拒绝了

3. 需要跟踪每行的生命周期

  • 从待处理 → 处理中 → 已完成
  • 每一步都要能看到具体是哪些行在哪个状态

如果你的业务场景满足以上任何一种情况,那就必须要有单据行状态。如果都不满足,单据头状态就够了。

单据行状态怎么设计?

讲完了"什么时候需要",下面讲讲"怎么设计"。这部分我会把我踩过的坑和总结的经验都分享出来。

1. 单据头状态和单据行状态的关系

这是很多产品经理容易搞混的地方。到底是单据头状态决定单据行状态,还是单据行状态决定单据头状态?

我推荐的设计思路是:单据头状态由单据行状态聚合而来。

具体的聚合规则是:

  • 所有行都是同一个状态 → 单据头状态就是这个状态
    • 例如:所有行都是"待处理" → 单据头状态 = "待处理"
    • 例如:所有行都是"已完成" → 单据头状态 = "已完成"
  • 部分行是状态A,部分行是状态B → 单据头状态就是"中间状态"
    • 例如:部分行"已出库",部分行"待处理" → 单据头状态 = "部分出库"
    • 例如:部分行"已确认",部分行"待确认" → 单据头状态 = "部分确认"

这种设计的好处是:

  • 单据头状态有明确的推导逻辑:不会出现单据头和单据行状态不一致的情况
  • 系统可以自动更新单据头状态:不需要人工维护,减少出错概率
  • 业务容易理解:单据头状态就是单据行状态的汇总,逻辑清晰

2. 单据行状态的粒度设计

这是另一个很重要的问题:单据行状态到底应该设计多少个?

我的核心原则是:根据业务需要设计,不要为了细而细。

我见过一个过度设计的案例:某个采购订单系统,产品经理把采购订单行状态设计了15个:

待提交 → 待审核 → 审核中 → 已审核 → 待确认 → 供应商确认中 → 
已确认 → 待发货 → 备货中 → 已发货 → 运输中 → 待收货 → 
收货中 → 质检中 → 已完成

这样设计的问题是:

  • 状态太多,业务根本分不清:采购员看到这么多状态,根本不知道该关注哪个,"审核中"和"已审核"有什么区别?"待发货"和"备货中"又有什么差别?
  • 维护成本高:每个环节都要更新状态,但很多状态的转换逻辑根本没人维护,导致数据不准确
  • 系统复杂度高:状态机的转换规则非常复杂,后续维护很困难

实际上,采购订单行状态只需要6-7个就够了:

待确认 → 已确认 → 已拒绝
       ↓
   部分收货 → 已完成 → 已关闭

为什么这样设计就够了?

  • "待审核""审核中""已审核" → 这些是单据头的审核流程状态,不需要在单据行上体现
  • "待发货""备货中""已发货""运输中" → 这些由供应商的发货单来体现,不需要在采购订单行状态里反映
  • "收货中""质检中" → 这些是WMS和质检系统的状态,采购订单行只需要知道"部分收货"还是"已完成"就够了

关键是要分清楚:哪些状态是这张单据必须承载的,哪些状态应该由其他单据或日志来承载。

如果你确实需要追踪更细的过程,比如"什么时候发货的""谁质检的",我的建议是:用操作日志或关联单据来记录,而不是增加单据行状态。

比如:

  • 供应商发货时,创建一张发货单,关联采购订单,这样就能看到发货时间、物流单号等信息
  • 质检完成时,记录一条质检记录,关联采购订单行,这样就能看到质检人、质检时间、质检结果

这样既能追踪到详细的操作过程,又不会让单据行状态过多。单据行状态只关注核心流转节点,其他细节由操作日志和关联单据来补充。

3. 单据行状态变更的触发时机

什么时候应该更新单据行状态?常见的触发时机有3种:

1. 下游系统回传结果时 - WMS回传出库结果、供应商在SRM系统里响应、物流系统回传签收信息等。这样数据最准确,时效性也最好。

2. 人工操作时 - 采购员手动确认、仓库主管手动取消、财务手动开票等。人工操作要留痕,记录操作人、操作时间、操作原因。

3. 定时任务扫描 - 超时未处理自动取消、批次到期自动冻结、承诺交期已到自动提醒等。定时任务要设置合理的时间间隔。

最重要的一点:单据行状态的每次变更都要记录到状态流转表或操作日志表,这样可以追溯状态变更历史,出问题时能查到是谁、什么时候、为什么改的。

4. 另一种设计思路:单据头多状态字段

讲完单据行状态,再补充一种常见的设计思路:在单据头上设计多个状态字段。这种设计思路,也可以很高效率地接近日常的业务问题,但是如果要三言两语把这一块拆解清楚也需要不少的篇幅,我决定在后续新开一篇文章再对它做一个拆解。

传统设计可能只有一个"单据状态"字段,但有时候会把它拆分成多个状态字段。比如采购订单,可以拆成:审核状态、确认状态、入库状态、对账状态、开票状态。这样设计的好处是每个维度独立表达,采购员关注确认状态,财务关注对账状态和开票状态,各看各的,查询也方便。

什么时候用单据头多状态字段?什么时候用单据行状态?

简单来说:

  • 单据头多状态字段 → 适合整单维度的多个流程环节(如审核、对账、开票)
  • 单据行状态 → 适合每个明细行的处理情况不同(如供应商分批确认、仓库分批拣货)

两者不是非此即彼的关系,可以结合使用。一个典型的设计是:单据头用多状态字段(审核状态、对账状态、开票状态),单据行也有行状态(待确认、已确认、已拒绝、部分收货、已完成)。

常见的坑和注意事项

设计单据行状态时,有一些坑很容易踩。我把最常见的3个坑总结出来:

坑1:单据行状态过多,维护成本高

我见过一个系统,采购订单行状态设计了20个,从"待确认"到"已入库"每个小环节都有状态。结果业务部门根本分不清这些状态的区别,开发团队维护起来也非常痛苦,状态转换规则极其复杂,经常出bug。

建议: 核心状态控制在5-8个以内,如果需要更细的追踪,用操作日志或状态流转表来记录,而不是增加状态数量。

坑2:单据头状态和单据行状态不一致

某系统的销售订单,单据头状态是"已完成",但点进去看明细,发现有些行还是"处理中"。业务部门不知道该信哪个,对账时也搞不清楚到底有没有完成。

建议: 建立明确的聚合规则,单据头状态要能从单据行状态推导出来。在更新单据头状态时,要校验单据行状态是否匹配。

坑3:历史数据没有单据行状态,补录很痛苦

某公司一开始只设计了单据头状态,系统上线1年后,业务部门提出需要单据行状态。产品经理加了字段,但历史数据全是空的。这时候就很尴尬:不补录历史数据,业务部门没法查询统计;要补录历史数据,但根本没有记录当时每行的状态。

建议: 即使暂时不用单据行状态,也要预留字段。在单据创建时就给单据行状态设置一个默认值(如"待处理"),单据完成后自动更新为"已完成"。这样将来如果要启用单据行状态功能,历史数据至少有个初始状态。

写在最后

状态设计没有标准答案,需要结合具体的业务场景来判断。但掌握了基本思路和原则,相信你能设计出既实用又稳健的状态管理方案。

单据行状态虽然用得不多,但一旦需要就是刚需,回避不了。如果你之前的工作中没怎么接触这一块的内容,也没想到过有这种设计思路和方法,那么这篇文章你可以仔细研究一下,把一些疑问和拓展知识丢给AI,让它跟你进行更深入的交流和沟通。最后再把相关的内容沉淀、总结到自己的知识库中,后续工作中遇到需要采用这种设计方案的时候,就可以直接掏出来用了。

咨询
官方微信群
官方客服

扫码添加,立即咨询

加群
官方微信群
官方微信群

扫码添加,拉你进群

更多
订阅号服务号跨境资讯
二维码

为你推送和解读最前沿、最有料的跨境电商资讯

二维码

90% 亚马逊卖家都在关注的微信公众号

二维码

精选今日跨境电商头条资讯

回顶部