做纺织生意的朋友大概率都有这个经历:采购了十几款进销存软件试用,最后都放弃了。原因很一致——"它不会数我的纱线"。
不是通用软件质量差,而是纺织行业的库存结构和通用模型存在根本性冲突。这篇文章把冲突掰开讲清楚,最后给一份选型自检清单,帮你少走弯路。
一、三个真实场景,先看痛在哪
场景1:发错缸号,一单白干。
客户指名要缸号2305那批白色32S棉纱,仓库发出去的是2308——颜色完全一样,肉眼看不出差别,但客户染出来色差明显,整批拒收。来回运费加赔偿,小几千块没了(真实案例见我之前写的《纺织老板崩溃瞬间》)。
场景2:库存数字是"大概的"。
客户问"白色32S还有多少",得喊一嗓子问仓库,仓库翻了半天回一句"好像还有两三吨"。实际上白色剩3.5吨、藏青剩2吨、本白有5吨——但系统里只有一行"32S棉纱:10.5吨"。
场景3:同一个颜色,五种写法。
A员工写"大红",B员工写"正红",C员工写"深红"。月底盘点,三个"红"在报表上是三个商品,谁也不知道到底有多少红。
这三个场景指向同一个根源:纺织库存的管理维度,比通用模型多。
二、数据模型:通用ERP到底缺了哪一层
通用进销存的库存模型通常是三层:
商品(Product)→ 规格(Spec)→ SKU
看起来能套一切,但放到纺织场景就露馅了:
| 管理需求 | 通用模型的表达方式 | 实际后果 |
|---|---|---|
| 同款纱线,白色和藏青分开算库存 | 建两个SKU:"32S棉纱-白""32S棉纱-藏青" | 颜色上百种时SKU爆炸,无法批量维护 |
| 同颜色不同缸号分开算 | 只能塞进备注字段 | 备注不可查询、不可统计、开单靠手打会打错 |
| 出库必须锁定具体缸号 | 模型里没有这个概念 | 发错缸号只能事后扯皮 |
| 公斤/米/码/卷多单位换算 | 大部分不支持 | 采购按吨、出货按公斤、客户要按卷 |
| 某缸号从进货到出货全链路追溯 | 无批次流水概念 | 客诉来了说不清哪天进的、哪个供应商、什么价 |
问题的本质:通用模型里"颜色"是商品属性,而纺织行业里"颜色+缸号"是库存本身。 属性和库存维度搞反了,怎么打补丁都别扭。
三、纺织行业库存需要什么样的模型
我们在做轻账纺织行业版的时候,把库存结构设计成四层:
商品(32S棉纱)
└─ 颜色(白色 / 藏青 / 本白…预设点选,杜绝手写)
└─ 缸号/批号(2305、2310…每缸独立数量)
└─ 单位(公斤/米/卷 自动换算)
对应的关键设计决策:
- 颜色是预设枚举,不是自由文本。 开单时从下拉框选,打不错字,统计永远干净。
- 缸号是库存的最小计算单元。 库存表按"商品×颜色×缸号"三元组建账,任何一缸的数量单独可查。
- 出入库必选缸号。 出库单据强制绑定具体批号,从流程上杜绝"差不多发错了"。
- 一张批次流水表贯穿全链路。 采购入、销售出、调拨、盘点调整都写入流水,任意一缸货的完整生命史一条SQL就能拉出来:
SELECT * FROM batch_transactions
WHERE batch_number = '2305'
ORDER BY created_at;
-- 09-01 采购入库 +5t(进价32000/t,供应商XX纱厂)
-- 09-10 调拨出库 -1t
-- 09-15 销售出库 -2t(订单SO-0915)
-- 现存:2t
这套结构不是"功能多",而是账算得对不对的问题。库存账不准,后面的报价、赊账、对账全是空中楼阁。
四、选型自检清单
考察任何纺织进销存产品(包括自研),拿着这9条去试:
- [ ] 新增一个颜色,是配置一次,还是要建N个SKU?
- [ ] 开单时颜色是下拉点选还是手打文字?
- [ ] 同一颜色不同缸号的库存,能否分开显示、分开扣减?
- [ ] 销售出库是否强制选择缸号?
- [ ] 任意一个缸号,能否30秒内查到它的进货时间、供应商、进价、当前余量?
- [ ] 公斤↔米↔卷换算是否按商品配置自动进行?
- [ ] 退货/调拨是否也走批次流水(否则追溯会断链)?
- [ ] 手机端和电脑端库存数据是否实时一致?
- [ ] 月底对账是查报表,还是人工翻单据加总?
3条以内打勾的,这个产品对你就是不适用的,不要指望"用习惯就好了"——模型缺陷靠操作习惯是补不回来的。
五、常见问题(FAQ)
Q:纺织行业用普通进销存+Excel行不行?
A:小规模(单色、缸号少)勉强可行,但Excel记录不进单据流,出错无法追溯,缸号一多维护成本指数上升。本质上你是在用Excel补数据模型的洞。
Q:纺织ERP一定要定制开发吗?
A:不一定。先看现有行业版产品能否覆盖,买不到合适的再考虑定制——定制的成本和长期维护投入,通常远超小老板的直觉估计。
Q:颜色、缸号、色号有什么区别?
A:颜色是直观分类(白色);缸号是染缸批次号,同色不同缸可能存在色差,是库存管理的最小单元;色号是标准色卡编码(如潘通号),用于对色沟通。ERP里必须按缸号分库存,按颜色做汇总。
我们在轻账LightLedger的开发过程中把纺织库存模型完整实现过一遍,技术层面的设计(Vue3+NestJS的颜色缸号三维建模、批次流水表结构)写在这篇架构文里,可以自己评估要不要照着做。下一篇讲批号追踪的数据库设计细节,感兴趣的可以关注。
