InvenTree:开源库存管理系统|4 类业务断点 + 1 段 Docker 命令跑起来
2026/9/20 12:52:34 网站建设 项目流程

InvenTree:开源库存管理系统|4 类业务断点 + 1 段 Docker 命令跑起来

【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree

月末盘点,仓库里 28 个 10K 电阻和一个批次为 2022-07-15 的旧库存在 Excel 里对不上账;产线问某颗芯片还能用几天,没人答得上来。InvenTree 是一款开源库存管理系统(Inventory Management System):Python/Django 后端、React 前端,把零件、批次、采购订单、生产订单放进同一套可追溯的数据模型里,MIT 协议,免费自托管。

📋 项目速览

  • 定位:面向中小制造企业的库存管理系统,覆盖零件、库存、采购、生产订单四类核心对象
  • 技术栈:Python 3 + Django + DRF(RESTful 框架),前端 React 单页应用;数据库支持 SQLite、PostgreSQL、MySQL、MariaDB
  • 部署:Docker Compose 一键启动,或裸机manage.py手动安装;仓库contrib/container/目录提供现成的 docker-compose 与反向代理配置
  • 适用规模:从实验室几十种物料到数十万种零件的单仓/多仓场景;官方文档在 docs/ 目录可直接阅读

🧩 它能帮你解决什么

批次追溯难:每个库存项绑定批次与序列号

InvenTree 给每个库存项(Stock Item)记录位置、批次号、序列号、数量,一次搜索即可同时命中零件、供应商料号和库存批次。输入10k 0402,界面同时返回零件定义、5 个厂商料号、10 条带位置与批次的库存记录,质量追溯时能直接定位到"哪个批次、哪个货架"。

缺料无预警:最低库存阈值与有效期联动

在零件详情中设置"最低库存量"和"默认有效期(天)"两个字段,InvenTree 在库存低于阈值或批次临期时触发状态变更与通知。以图中示例为例:默认有效期 50 天的批次库存到期即被标记,不用再靠人记"这批货还有几天过期"。

采购到收货断链:采购单绑定供应商,收货即入库

创建采购订单时先选供应商(图中示例选了 DigiKey),再挂零件与项目码;货到了按采购单确认收货,库存项自动落到对应位置,供应商价格、交期、订单状态全程留痕。重复下单可以直接复制旧采购单,不用重新填一遍。

生产领料靠手工:BOM 算料,自动分配库存

生产订单(Build)基于 BOM(物料清单,即一个产品由哪些零件和多少用量组成的清单)计算缺料清单。领料时打开"Allocate Stock"对话框,按来源位置、是否允许替代料、是否计入可选料等规则自动分配,替代料策略直接开关控制,不靠人翻库存表。

🚀 快速上手:从零到可用

  • 选部署方式:单机验证用 Docker Compose;生产环境用官方 Docker 镜像 + Nginx 反向代理 + PostgreSQL,仓库contrib/container/目录已备好全套配置
  • 初始化基础数据(4 项内搞定)
    • 建分类树和仓库位置树,层级别超过 4 层
    • 导入零件清单和供应商信息(支持 CSV 批量导入)
    • 创建管理员账号,按角色分配权限
  • 首日必做:给 10 种关键物料设置最低库存阈值;打印并贴好第一批条码;跑一次dbbackup建立定时备份

最小化部署命令:

git clone https://gitcode.com/GitHub_Trending/in/InvenTree cd InvenTree/contrib/container docker-compose up -d

🔌 进阶:集成与扩展

  • API 对接:全接口 RESTful,浏览器内置 API 文档页可直接调试;官方提供 Python 客户端库,ERP、财务系统可以按角色拉取只读或读写权限
  • 插件机制:Python 插件挂到数据导入导出、报表、条码、通知、标签打印等扩展点,插件开发文档 有完整示例,内置插件代码在src/backend/InvenTree/plugin/builtin/
  • 移动端与条码:官方 App 覆盖扫码、领料、收货等高频操作;支持 Code-128、QR Code、Data Matrix 等 4 种一维码与 3 种二维码,DigiKey、Mouser 等供应商外部条码也可直接解析

💡 落地建议与高频疑问

落地建议

  1. 分类层级控制在 3-4 层,超过 5 层说明应该拆字段而不是拆目录
  2. 批次号格式(日期、供应商、数量)在导入前统一成一条规则,避免追溯时人工翻译
  3. 规格参数用参数模板管理:参数名、单位、可选值一次定义,所有同类零件复用
  4. 只对影响停产的物料设库存预警阈值,全量设置会让通知流于形式
  5. 备份定时化:python manage.py dbbackup每天跑一次,保留 30 份

高频疑问

Q:数据量到几十万零件时查询还快吗?A:核心查询走数据库索引,官方在百万级零件规模下保持可用。慢在宽泛搜索和大量附件,建议用精确过滤条件,把历史归档数据定期清理或导出。

Q:能和现有 ERP / 财务软件打通吗?A:可以。REST API 覆盖零件、库存、订单全部对象,Python 客户端可直接调用;权限按 API 角色划分,外部系统只给只读 token 即可。

Q:权限怎么分?A:界面角色管页面与操作,API 角色管接口读写,两层独立配置。删除库存、审批订单这类敏感动作可只开放给指定角色。


InvenTree 把零件、批次、采购、生产放在同一套账上,账实差异从"月末一次性暴露"变成"每次操作即校验"。整套系统 MIT 协议开源,部署到可用通常在一个工作日内。拿 Docker Compose 起一个实例,导入 10 种真实物料跑一遍入库和领料,比读任何介绍都直观。

【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询