结论先行:进销存系统的核心是 4 张数据表(商品、入库单、出库单、库存)加"单据驱动、流水扣减"的库存计算方式,用低代码(Low-Code)平台 2~3 天可上线,成本约为定制开发的五分之一。库存数据必须由出入库单据流水推导,而不是手工改数字——做到这一点,月度盘点误差就能控制在 1% 以内,低于安全库存还能自动提醒补货。
小商家最常见的库存乱象:Excel 里改数字、入库不入账、卖出才发现没货。本文按"建模 → 单据 → 扣减 → 预警 → 盘点"的顺序把账理顺。
若公司已经上了 ERP,先别急着重搭库存账——哪些该留在 ERP、哪些适合低代码补位,可对照已经上了 ERP 还需要低代码吗里的三条重复建设红线。
一、数据模型:4 张表各司其职
| 表名 | 关键字段 | 说明 |
|---|---|---|
| 商品表 | 商品编码、名称、规格、单位、安全库存阈值 | 主数据,编码唯一 |
| 入库单 | 单号、供应商、商品明细(子表单)、经手人、状态 | 采购/退货入库 |
| 出库单 | 单号、客户、商品明细(子表单)、经手人、状态 | 销售/领用出库 |
| 库存表 | 商品(关联)、结存数量、最近更新时间 | 只由单据驱动更新 |
两条建模铁律:库存表不允许手工编辑,只由单据审批通过后的工作流更新;出入库单用子表单承载多行商品明细,一张单据解决一次进货几十个 SKU 的场景。
连锁多店场景还要再叠一层:商品主数据由总部维护、库存按门店分别建账,门店端的要货与报损走独立单据,多店权限与报单设计可参考零售连锁低代码方案。
二、单据与扣减:流水式库存的两种实现
方案 A(推荐):单据审批通过 → 工作流遍历明细行 → 库存表对应行加/减数量。以猫拽低代码(CatPull)为例,用工作流的循环执行节点遍历子表单明细,配合云函数节点在数据库事务里完成扣减,并在扣减语句上校验"结存数量 ≥ 本次出库量",不满足则整单回滚——并发两笔订单同时抢最后一件货时,也不会扣成负数。
方案 B:不设库存表,直接对出入库明细做实时汇总(入库合计 − 出库合计)。数据量小(单据每月几百条)时零维护成本,量大后查询变慢,建议方案 A 为主、方案 B 做月末对账校验,两账差额即异常线索。
配件领用是最典型的"单据驱动结存"场景:领料单提交即扣库、退料即回补,汽修店还要把扣减结果汇总进工单结算,可参考汽修店低代码方案的配件安全库存与结算联动设计。
三、页面构成:仓管每天用的 4 个页面
- 入库登记页:选供应商、填明细、提交后进入审批(金额超限可加财务节点);
- 出库登记页:选客户、填明细,提交时工作流先校验库存是否充足;
- 库存台账页:按商品列表展示结存数量,支持按分类、编码搜索,低于安全库存的行自动标红;
- 流水查询页:任选商品查看全部出入库记录,按时间倒序,可按月导出 Excel 对账。
页面全部由表单、列表、明细抽屉等现成组件拖拽完成,配合权限设置(仓管只能录单、老板才可看金额)1 天内搭完。当库存只是物流链条中的一环,还要接上运输调度、配送跟踪与签收,模块划分可参考物流管理系统的仓储与运输设计。
四、库存预警:2 条工作流管住缺货与积压
| 工作流 | 节点序列 | 说明 |
|---|---|---|
| 缺货预警 | 定时触发(每天 8:30)→ 查询结存数量 ≤ 安全库存的商品 → 条件分支(结存 = 0 抄送老板)→ 通知采购 | 防断货,零库存上升一级 |
| 呆滞提醒 | 定时触发(每月 1 日)→ 查询 90 天无出库记录的商品 → 生成呆滞清单 → 推送负责人 | 防积压占资金 |
安全库存阈值按"日均销量 × 补货周期 + 备量"设定,例如日均卖 10 件、补货要 5 天,阈值设 60~80 件。预警跑一个月后回看命中率,再逐品调整阈值。
五、盘点与对账:守住 1% 误差线
每月末做一次实物盘点:生成盘点单 → 打印商品二维码(库存台账页直接生成)→ 现场扫码录入实盘数 → 系统自动计算差异 → 差异生成"盘盈盘亏单"审批后修正库存。账实差超过 1% 时先查流水:损耗、漏单、串规格是三大主因。坚持三个月,进销存的账就能当真账用。
FAQs
Q1:要不要一开始就上条码枪和扫码出入库?
A:不必。先用表单录单跑顺账,第二阶段再给商品表生成二维码、出库页加扫码组件填充编码字段,扫码只是录入手段,账没理顺前上硬件只会放大混乱。
Q2:多个仓库怎么支持?
A:库存表增加"仓库"字段与商品联合唯一,出入库单明细行加仓库选择,扣减工作流按"商品+仓库"定位库存行即可,页面侧用仓库筛选器切换视图,改动量约半天。
Q3:库存扣减遇到并发会不会出错?
A:把扣减放进数据库事务并对库存行加行级锁(或乐观锁版本号校验),两笔出库同时提交时必然一成一败,失败方收到"库存不足"提示重新录单,这是云函数节点里十几行代码的事,务必在上线前测一次并发。
延伸阅读
- 库存管理系统开发——库存管理的通用设计方法与常见坑
- 在线表单系统设计——出入库单据的表单字段与校验设计细节
- 数据库入门教程——理解流水扣减背后的表关联与事务概念
- 小程序开发方式对比——仓管端用小程序扫码的落地路径
猫拽智库