库存盘点小程序
目的与概览
库存盘点小程序 是一款可直接落地到运营场景的工具,可在不依赖电子表格和手工对账的情况下执行准确盘点。它支持基于会话的盘点、设备驱动流程以及快速差异分析,帮助团队更快完成盘点并更快完成关账。

关于该小程序
- 目的: 将库存盘点作业数字化,减少实物库存与系统结存之间的不一致。
- 目标用户: 仓库团队、库存管控人员、财务/审计团队以及运营管理者。
- 关键特性:
- 通过
OPEN和CLOSED控制执行基于会话的库存盘点 - 设备分配以支持可控的多人盘点作业
- 通过扫描表单或结构化手工录入快速采集商品
- 面向序列号和批次的校验,提升可追溯盘点能力
- 差异报表支持原因填写和基于 Excel 的批量原因上传
- 通过
关键特性概览
谁会从这个小程序中受益?
仓库员工与盘点员:
- 通过条码/手工扫描流程更快完成盘点
- 可选自动扫描行为,减少数据录入疲劳
- 更完善地处理序列号和批次库存
库存主管与门店经理:
- 按地点组织结构化盘点会话
- 设备分配与进度可视化
- 通过会话关闭实现可治理的流程控制
财务与内部审计团队:
- 清晰的差异视图(数量差异与序列号差异)
- 成本影响可见并支持对账
- 记录差异原因以满足异常处理与审计追踪
运营管理层:
- 更高库存准确率,减少调整带来的意外
- 更可预测的库存对账周期
- 基于可靠库存报表进行更清晰的决策
这个小程序解决了什么问题?
手工库存盘点问题:
传统库存盘点通常依赖割裂的表格、延迟更新和薄弱的可追溯性。常见问题包括:
- 重复盘点或漏盘
- 日终对账缓慢
- 序列号不一致但缺少根因证据
- 差异缺少统一原因记录
- 管理决策可见性滞后
库存盘点小程序解决方案:
- 会话控制 - 以结构化
OPEN和CLOSED周期执行盘点 - 引导式盘点 - 分配设备并按受控流程引导盘点员
- 灵活采集 - 可按场景选择先扫描或手工录入
- 序列号感知校验 - 提升序列号/批次库存盘点可信度
- 差异洞察 - 分析数量和序列号差异及其成本影响
- 批量对账 - 通过 Excel 导出、填写原因并导入更新对账结果
关键特性概览
关键概念
理解库存盘点框架
| 维度 | 组件 | 实际示例 |
|---|---|---|
| 何时/何地盘点 | Stock Take Session | “KL Warehouse - April Cycle Count” |
| 谁在盘点 | Assigned Devices / Users | Counter Device A, Counter Device B |
| 盘了什么 | Session Records | Item code, quantity, UOM, serial/batch |
| 如何进行结果对账 | Session Report | Variance, serial variance, reason, cost impact |
库存盘点层级结构
Stock Take Applet
|
|-- Stock Take Session
| |-- Details (name, code, location, status, workflow)
| |-- Devices (assigned active counting devices)
| |-- Records (all counted lines)
| `-- Report (variance and reconciliation)
|
|-- Devices (master device setup)
|
`-- Report (cross-session listing and exports)状态与报表类型
| 类型 | 值 | 含义 |
|---|---|---|
| 会话状态 | OPEN, CLOSED | 开放状态的会话允许主动盘点和编辑 |
| 差异状态 | YES, NO | 表示会话是否存在差异 |
| 报表类型 | Scanned Items, Active Items, All Items | 控制分析/导出时的报表范围 |
快速开始指南
使用以下按角色划分的流程快速上线。
面向盘点员:开始盘点商品
目标: 使用扫描或手工录入快速采集准确库存记录。
- 进入 Stock Take Session 并打开分配给你的会话。
- 在 Devices 标签中选择你被分配且处于活跃状态的设备。
- 打开 Records,从 Scan Form 或 Add Item 开始。
- 扫描或输入商品编码,选择 UOM,然后输入数量。
- 对于序列号/批次商品,按要求填写序列号或批次信息。
- 保存并确认该记录行已出现在列表中。
提示: 对于序列号商品,请保持数量与序列号列表一致,以避免保存报错。
面向库存主管:端到端执行一个会话
目标: 建立可控库存盘点会话并监控执行。
- 打开 Stock Take Session 并点击 Create。
- 填写 Session Name、Session Code、Location,并将状态保持为
OPEN。 - 保存会话后,打开 Devices 标签。
- 为每个盘点小组添加活跃设备。
- 在盘点员提交记录行时监控 Records。
- 在 Report 标签中点击 GENERATE 或 REGENERATE 刷新差异。
- 审核并完成对账后,将状态改为
CLOSED。
面向管理员:上线前配置小程序
目标: 在团队开始盘点前确保小程序配置正确。
打开 Settings > Field Settings。
设置所需开关:
ENABLE_AUTO_SCAN(如果你需要扫描后自动加入列表)ENABLE_VALIDATE_SERIAL(用于序列号库存控制)SCAN_CODE_MOBILE_VIEW(如果使用移动端相机扫描)
如需在会话推进中启用流程控制,请配置
WORKFLOW_PROCESS_GUID。

- 打开 Settings > Default Selection 并设置默认分支与地点。
- 打开 Personalization > Default Selection 并验证试点用户的用户级覆盖设置。
- 使用一个示例会话进行端到端测试:
- 创建会话
- 分配设备
- 添加记录
- 生成报表
- 填写原因
- 关闭会话
面向财务/审计:对账差异并关闭异常
目标: 以可用于审计的证据完成差异复核。
- 打开目标会话并进入 Report 标签。

- 通过报表类型筛选(
Scanned Items、Active Items或All Items)。

- 复核数量差异、序列号差异和总成本影响。
- 对关键异常逐行填写原因,或点击 UPLOAD REASON。
- 导出报表模板,填写
TotalQty和reason,然后导入回系统。 - 确认报表行已更新,并在需要时导出最终报表。
会话管理
会话列表
会话网格提供快速运营视图,字段包括:
- 会话名称(Session Name)和会话编码(Session Code)
- 地点(Location)和公司(Company)
- 状态(Status,
OPEN/CLOSED) - 开始日期(Start Date)和修改日期(Modified Date)

会话详情
Details 标签包含:
- 会话标识:名称、编码、描述
- 运营上下文:地点和公司
- 控制字段:状态、开始/结束日期
- 流程字段:状态与处理结果
- 审计字段:创建/修改人及时间戳


设备标签
使用此标签将活跃设备绑定到会话。之后盘点员即可在该会话中使用设备记录库存行。

记录标签
提供跨已分配设备的会话级盘点行视图。主管可快速发现缺失行、不匹配和异常值。

报表标签
这是对账工作区:
- 生成或重新生成报表行
- 筛选并检查差异
- 记录原因
- 启动原因上传流程

设备管理
Devices 菜单用于管理你的库存盘点设备主数据:
- 创建设备档案(名称、编码、品牌、型号、状态)
- 仅保留可用且活跃的设备用于分配
- 维护设备状态以支持受控会话使用



盘点工作流
结构化录入(Add Item)
适用于需要逐行引导录入的场景:
- Scan Code 查询
- UOM 选择
- 数量扫描/手工处理
- 序列号列表处理
- 保存选项,如 Save & Continue 和 Save & New
快速扫描表单
适用于追求速度的盘点环境:
- 可选移动端相机扫描模式
- 针对条码格式的读取器类型选择
- 使用数量、备注和序列号/批次输入快速添加
- 在扫描列表中可直接编辑备注
编辑与修正
可在记录编辑页复核并修正盘点行。当会话为 CLOSED 时,创建/更新/删除操作会被限制,以保护结果最终化。
报表与对账
会话级报表
报表行包括:
- 商品详情:商品名称、编码、EAN
- 数量信号:Min、Max、Counted、EMP/System quantity
- 差异指标:Variance、Variance 2、SN Variance
- 序列号分析:仅系统存在 vs 仅盘点存在的序列号
- 财务信号:成本值与总成本影响
- 对账备注原因字段

跨会话报表列表
顶层 Report 菜单可按以下维度比较会话:
- 地点(Location)
- 日期(Date)
- 会话状态(Session status)
- 差异状态(Variance status)
同时支持直接导出报表。

Excel 原因上传流程
该小程序支持规模化对账:
- 选择报表类型并导出文件。
- 填写关键字段(
itemCode、TotalQty、reason)。 - 导入文件以批量更新报表行。
- 重新打开报表验证更新。


配置与设置
Settings > Field Settings
通过以下开关控制运行时行为:
| 设置项(Setting) | 影响(Impact) |
|---|---|
ENABLE_AUTO_SCAN | 自动将扫描商品推入列表 |
ENABLE_VALIDATE_SERIAL | 启用序列号校验逻辑 |
STOCK_DURING_OPENING_SHOP | 允许配置盘点时机策略 |
SERIALIZED_ITEM_EXT | 从商品扩展读取序列化行为 |
SCAN_CODE_MOBILE_VIEW | 启用相机/移动端扫描视图 |
HIDE_ADD_BUTTON | 在扫描表单中隐藏手工添加操作 |
WORKFLOW_PROCESS_GUID | 将会话流程连接到工作流配置 |

Settings > Default Selection
设置小程序级默认值:
- 默认分支(Default Branch)
- 默认地点(Default Location)
权限与集成工具
设置路由还提供以下运营控制:
- 功能可见性(Feature visibility)
- Webhook 配置(Webhook setup)
- 权限向导(Permission wizard)、权限集合(permission sets),以及角色/用户/团队权限视图
审计与可追溯性
该小程序通过以下能力支持审计导向运营:
- 会话和记录时间戳(
created和modified) - 关键记录的用户归属(
created by和modified by) - 报表行级差异原因记录
- 通过会话状态(
OPENvsCLOSED)实现受控最终化
实务审计流程:
- 确认会话状态和关闭日期。
- 复核报表行差异与原因字段。
- 校验序列号商品的序列号差异。
- 导出最终报表作为审计证据。
故障排查流程
当用户反馈库存盘点问题时,可使用以下快速决策流程。
Start
|
+-- What is the issue type?
|
+-- Scan Issue
| |
| +-- Item code not recognized?
| | -> Check code exists and item is active
| |
| +-- Mobile scan not opening?
| | -> Check `SCAN_CODE_MOBILE_VIEW` in Field Settings
| |
| +-- Add button not visible?
| -> Check `HIDE_ADD_BUTTON` in Field Settings
|
+-- Serial Issue
| |
| +-- Save blocked with serial error?
| | -> Ensure qty matches serial count
| |
| +-- Serial validation failing?
| -> Check `ENABLE_VALIDATE_SERIAL`
| -> Verify serial belongs to the selected item
|
+-- Report Issue
|
+-- GENERATE/REGENERATE disabled?
| -> Confirm session status is `OPEN`
|
+-- Variance lines missing?
| -> Regenerate report and check selected report type
|
+-- Reason import failed?
-> Validate Excel template columns (`itemCode`, `TotalQty`, `reason`)
-> Re-import and review error rows常见问题(FAQ)
Q: 为什么我无法在会话中添加记录?
A: 最常见原因是会话已处于 CLOSED。仅在你的治理策略允许时才可重新打开流程/状态。
Q: 为什么我的序列号商品保存失败?
A: 数量与序列号录入很可能不平衡,或该商品的一项/多项序列号值无效。
Q: Variance 和 Variance 2 有什么区别?
A: Variance 基于最小/最大计算区间核对盘点数量;Variance 2 则将盘点数量直接与系统期末结存比较。
Q: 我可以批量对账原因,而不是逐行编辑吗?
A: 可以。使用 Upload Reason 导出报表数据,在 Excel 中填写数量/原因后再导入。
Q: 为什么扫描模式下 Add 按钮被隐藏?
A: 很可能是 Field Settings 中启用了 HIDE_ADD_BUTTON。
Q: 如何仅在报表中包含活跃库存?
A: 在生成/导出前使用报表类型筛选并选择 Active Items。
Q: 为什么我在报表标签中无法点击 GENERATE/REGENERATE?
A: 仅当会话状态为 OPEN 时才允许生成报表。
Q: 为什么在我的会话中没有可分配设备?
A: 只有活跃设备可被分配。请检查设备主数据列表并启用所需设备。
Q: 为什么扫描表单中的商品被标记为无效?
A: 可能是编码未匹配到活跃商品配置,或商品/序列号校验规则阻止了录入。
Q: Scanned、Active、All Items 三种报表类型应如何选择?
A: Scanned Items 用于仅看已采集数据,Active Items 用于当前活跃库存范围,All Items 用于完整对账范围。
Q: 会话关闭后还能编辑或删除记录吗?
A: 不能。关闭会话的设计目的是锁定运营编辑并保持对账完整性。