InvenTree 入门:中小团队如何用开源库存管理系统把仓库管清楚?
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
InvenTree 是一个基于 Django 的开源库存管理系统,核心是物料管理:零件分类、库存记录、采购与销售订单、条码盘点和 RESTful API。适合没有现成 ERP、又需要规范零件档案与库存流水的小团队、实验室和创客工作室。
Docker 三步跑通 InvenTree
仓库自带的 compose 文件包含 PostgreSQL、Redis、gunicorn、后台 worker 和 Caddy 反向代理,生产配置开箱即用。
git clone https://gitcode.com/GitHub_Trending/in/InvenTree cd InvenTree/contrib/container # 按注释补全 .env 中的数据库账号、密码与数据卷路径 docker compose up -d启动后浏览器访问本机 80 端口(或.env里指定的端口)即为登录页。数据全部落在挂载的外部卷里,换机迁移只需带上这个卷。
偏好手动安装时,要点只有四个:装好 Debian 系列系统依赖(python3、git、weasyprint 相关库等)、建独立运行用户、配好静态/媒体/备份三个目录、然后跑invoke setup初始化数据库并创建管理员账号。数据库可用 SQLite,生产建议 PostgreSQL,具体顺序见 docs/start/install.md。
跟一个任务走下来
任务一:给一批元器件建档
零件档案是整个系统的地基,建档前先搭好分类骨架:
- 打开零件分类页面,建一棵树,例如「电子元件 → 连接器 → USB」。层级不限,分类间互不干扰。
- 在分类上挂参数模板:电阻的阻值、电容的容值和单位。之后该分类下的零件自动带上这些字段,还可以按参数值筛选和排序。
- 逐个创建零件:编号、名称、分类、默认供应商,再补初始库存数量。
零件详情页把库存状态、BOM 关联、定价和供应商信息收在一屏内,后面所有盘点和订单操作都从这里出发。
任务二:手机扫码做出入库
- 仓库侧先建好位置树(总仓 → 货架 → 格位),位置同样是无限层级。
- 给零件和库存项打印标签,内置 QR Code、Code 128 等常见格式,也支持 DigiKey、LCSC 这类供应商条码。
- 用手机 App 连接你的服务器,扫码后在动作面板里直接选「增加 / 减少 / 转移」,无需手输编号。
- 跨位置调货用库存转移:选中库存项,指定目标位置,一步完成。
每次变动都会写入流水,任何一批货从哪来、到哪去都可追溯。
任务三:设置补货预警
- 确认系统已配置邮件地址(设置页中的邮件部分)。
- 在零件上设置「最小库存」阈值。
- 对需要盯的零件或分类,用右上角的订阅图标开启通知。
- 库存一旦低于阈值,订阅者收到站内加邮件通知。
这样最低库存阈值不再是写在便签上的数字,缺料提醒会主动找到人。
它管什么,不管什么
适合:
- 电子元器件、实验室耗材这类需要批次/序列号追溯的场景
- 采购、销售、生产构建订单(BOM 齐套、自动领料)
- 需要对外开放 RESTful API 或接入插件体系的项目
不适合:
- 以财务对账、成本核算为核心的需求,它不是财务系统
- 门店级 POS 收银、商品定价体系
- 超大规模多组织集团化运营
拿不准的话,先拿一个真实零件库试建档,比看功能清单更可靠。
再深入一步
用 RESTful API 做自动化
所有界面能做的操作都有对应 API,认证用 API Token:
import requests api = "http://your-server/api/part/" headers = {"Authorization": "Token YOUR_API_TOKEN"} resp = requests.get(api, headers=headers) for item in resp.json()["results"]: print(item["name"], item["quantity"])批量补录历史库存、和内部系统同步零件编号,都走这条通路。端点文档可直接在页面里点开调试。
按角色划分权限
系统内置角色机制:查看、编辑、管理员,还能按零件、公司、采购、销售等模块单独授权。在用户管理页为每个人分配角色即可,无需改代码。
常见问题
支持多少种语言?界面和 API 均做了国际化,内置 40 余种语言翻译(中文、英文、德语、日语等),用户在个人设置里切换即可。
如何备份数据库?基于 django-dbbackup 提供备份能力,服务器执行invoke backup生成数据库与媒体文件备份,可定期跑并推送到外部存储,详见 docs/start/backup.md。
支持哪些条码格式?内部标签常用 QR Code(Code 128 等一维码同样可打印),外部条码支持 DigiKey、LCSC、Mouser 等供应商格式,规则可在设置中调整。
下一步
先从 docs/start/ 的安装文档走一遍完整部署,零件和库存的核心逻辑分别在 src/backend/InvenTree/part/ 与 src/backend/InvenTree/stock/ 两个模块里。遇到具体问题,去仓库的 Issue 区搜一下,多数部署坑都有人踩过。
【免费下载链接】InvenTreeOpen Source Inventory Management System项目地址: https://gitcode.com/GitHub_Trending/in/InvenTree
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考