单据定义清楚了,库存才可能准;先谈功能,往往越搭越乱。
从零搭一套 WMS,最容易走偏的地方是先挑功能再想单据。正确的起点是先把手上的五张单据定下来:入库单、出库单、调拨单、盘点单,再按业务补一张退货单或领料单。这五张单据定死了,库存怎么变、谁负责、出了差异去哪里查,基本都有答案。这套顺序适合商品种类有限、作业流程稳定的小微仓库;如果涉及多仓在途、批次追溯或与电商平台自动对接,就要先评估平台能力是否覆盖。
下面按五张单据逐张讲要放哪些字段、什么状态、哪些环节最容易出错,最后说明这种配置方式的适用条件。

图 1 仓库办公室,人员整理五类单据并分类归档
仓库里所有数字都来自动作,动作都落在单据上。功能是单据的包装,单据才是源头。
先定单据有三个好处:
1)库存规则有出处,每一笔增减都能追到具体单据
2)权限边界清楚,谁提交、谁审核、谁执行一目了然
3)需求讨论有共同语言,谈的不是「要不要加个按钮」,而是「这张单据要不要多一栏」
反过来,先定功能最常见的后果是同一件事有两套记录:系统里记一遍,纸上再记一遍,两边慢慢对不上。
顺带说一句,单据不是越多越好。五张能覆盖的场景,不要强行拆成八张,单据一多,状态和权限的组合会成倍增加,后面维护起来很吃力。
五张单据的说法不是行业标准,只是把常见动作归类的结果。你的业务里如果有寄售、代管、委外加工这类特殊形态,可能还要补一张,但原则不变:每一个会让库存发生变化的动作,都要有对应单据。
定单据的过程本身也是梳理业务的过程。字段写不出来,往往说明业务规则还没统一,这时候该停下来先统一规则,而不是先动手建表。
入库单管进,出库单管出,这两张是主干。
入库单的关键字段:
1)单据号、供应商、到货日期
2)商品、数量、单位、目标库位
3)经办人、状态、备注
出库单的关键字段:
1)单据号、客户或领用部门、出库日期
2)商品、数量、单位、拣货库位
3)经办人、复核人、状态
两张单据的状态都建议分四段:新建、待审核、已审核、已执行。数量只在已执行之后写进库存,这一条守住了,账实差会少一大半。
明细行建议按商品一行一条,不要一行写多个商品。一行多物在核对时几乎无法逐条定位,出现差异也查不出是哪一项。
入库单常错在单位。同一个商品来货按箱、上架按个,如果单位关系没定,数量一录就错。出库单常错在拣货库位,系统显示有货但没有指定库位,拣货员只能凭印象找,找到哪个算哪个,久了库位数据就废了。
另有一个高频问题是到货即入库。货到了不做入库单,直接堆在收货区,账上却已经算作在库,等到发货时才发现账实不符。稳妥做法是收货区单独设一个虚拟库位,先入那里,清点完成再转到正式库位。
调拨单解决库位或仓库之间的移动。它的特殊之处是一增一减:源库位减,目标库位加,商品总库存不变。字段上必须同时有源库位和目标库位,缺一个就没法核对。
盘点单解决账实校正。它的原则是先锁定、后核对、再调整。
1)盘点开始前锁定相关库位,避免边盘边动
2)盘点单只记录实盘数量,系统自动算差异
3)差异部分单独走审核,不允许盘完直接改库存
盘点是唯一允许调整库存的动作,正因为如此,它的权限要卡得比出入库更严。
盘点频率按商品价值分。周转快、金额高的每周抽盘,长尾商品月度或季度盘一次,要求全部商品天天盘既不现实也没必要。
调拨单常被忽略,因为习惯直接搬货不记录。一旦库位库存出现差异,就永远解释不清货为什么从 A 位跑到了 B 位。把调拨和出入库同等对待,是库位数据保持准确的前提。

图 2 桌面俯拍,入库单、出库单、调拨单、盘点单并排
第五张单据按业务选:有退货业务就用退货单,有生产领料就用领料单,单纯做贸易可以暂时不做。它的结构和其他单据一致,只是方向和业务含义不同。
所有单据都建议带上一组通用字段:
1)单据号,带日期和类型前缀,便于人工识别
2)制单人、制单时间、最后修改人
3)状态与状态变更时间
4)备注,用于记录异常原因
这组字段看着不起眼,出问题时就是排查的线索。
通用字段最好做成模板,新建单据时自动带上,避免每张单据都重新配一遍。制单人和最后修改人这两项尤其有用,纸质时代最难回答的「这单谁改的」,靠它们能直接查出来。
斑斑AI低代码是开源免费的AI低代码平台,用 AI 生成表单和流程,五张单据的表单和状态流转可以先用它生成草稿再逐项修改。
对应到前面几节:
1)每张单据建一个表单,主表和明细用同一张单据号关联
2)状态流转用流程节点表达,新建、待审、已审、已执行各自绑定操作人
3)库存作为明细执行后的汇总结果,用报表呈现,不做人工填写
要说明的是它不替代的部分:多仓实时在途、批次效期追溯、与外部系统的自动对接需要确认平台是否已有对应能力,建议先评估。当前版本 v1.5.0,支持 Windows、MacOS、Linux、Docker、NAS,也可以本地部署把数据留在自己服务器。AI 功能消耗积分,新用户赠送 100 积分且永久有效。
配置顺序也建议按单据来。先做入库单并跑通,再复制成出库单,两张单据结构相近,能省掉一半工作量,剩下的调拨单和盘点单结构更简单。

图 3 仓管按单据流程走一遍收货到上架,主管核对状态
两段也能跑,比如新建和完成。但出问题时没办法区分「提交了但没审」和「审了但没执行」,排查会变慢,建议至少三段。
可以加行,但不能在执行后改已存在的行。改数量要走反向单据,这是可追溯的前提。
建议自动生成,规则里带上日期和类型前缀即可。人工编号在多人录入时几乎一定会重号。
不建议合并。退货的库位处理、质检判断和供应商责任跟正常入库不一样,硬合并会让状态变得很绕,宁可单独一张,保持每类动作一张单的清晰度。
回到标题,从零搭 WMS 的起点是五张单据,不是功能清单。先把这五张的字段和状态定下来,库存规则和权限边界自然就有了形状,再谈界面和看板才有意义。单据定完还有一步不能省:把五张单据的开单时机和要求写成一张说明,贴到仓管岗,避免每个人理解不一样。想少走弯路,可以先到 模板中心 找一份接近的仓库模板对照着改;想了解表单和流程配置的能力边界,可以看 产品页。
【内容与技术说明】
本文由斑斑AI低代码产品团队整理发布,内容由AI工具辅助生成并经团队人工核验。
因产品版本持续迭代,具体开源范围、功能、参数与AI积分规则以斑斑AI低代码官方文档为准。
如有技术疑问或内容勘误,欢迎通过support@banban.work反馈。
最后核校:【2026-10-16】。