AGPL-3.0 开源 面向 20–150 人的制造、装配与贸易

接单到回款, 一套系统管到底。

ERPLite 是面向中小制造与贸易企业的通用、轻量、可扩展 ERP:销售、采购、生产、仓储、人事、财务 六个模块共用同一套物料、库存与会计基座。业务单据落库的同时,凭证已经在同一个事务里记好了—— 月底不需要再导一次 Excel,也没有「对不上」这道工序。

六模块 110 个业务页面 手机端扫码报工 / 盘点 默认 SQLite 单文件,也能接生产库
整仓源码 gitee.com/known/ERPLite AGPL-3.0
销售发货 SD-20261012-004 ¥ 186,400.00
  1. 订单审核信用校验通过 · 未收 32.0 万 / 额度 50.0 万
  2. 发货出库3 行 · 移动加权平均成本结转
  3. 挂应收客户账期 30 天 · 到期 11-11
  4. 自动过账同一事务内生成凭证,来源单号幂等
记-2026-10-0127 已过账
借 · 应收账款186 400.00
贷 · 主营业务收入164 955.75
贷 · 应交税费—销项21 444.25
借 · 主营业务成本121 800.00
贷 · 库存商品121 800.00
6 业务模块 销售 / 采购 / 生产 / 仓储 / 人事 / 财务
110 业务页面 列表 + 单据录入 + 详情/看板三件套
17 类单据接审批 会签 / 或签 / 票签 + 金额分级
12 类动作自动过账 发货、收货、领料、完工、薪酬、结算…
三个问题

先别急着看功能,先看这三句答不答得上

它们几乎出现在每一次面谈的前十分钟。下面写的不是承诺,是这套系统此刻的回答——答得不完整的,我们自己标出来。

单子还在邮件和微信里,什么时候才能进系统?

邮件用专用邮箱定时收,微信里复制一段话粘进来也行。识别成一张草稿单,你核一遍就成单——价格它不猜,留给你填。

部分

答应了客户交期,你确定料够、产能够?

交期模拟能按 ATP(现存 − 锁定 + 在途 + 在制)扣料,再按工作中心日历做有限产能顺排,给出最早可交付日与瓶颈;缺料分析能倒推哪天必须下单、缺口下钻到工单。暂不支持跨厂调配产能。

部分

这张单到底赚了多少,为什么总要等到月底?

费用分摊按账期把销售 / 管理 / 财务费用摊到当期订单,算出每单毛利与净利,能下钻到订单详情。这是管理口径,不生成凭证、不动总账,和利润表不要求逐分对上。

已交付
业务模块

六个模块,一套基座

模块之间不是靠接口对接,而是共用同一份物料、同一个库存引擎、同一套会计原语。 所以「销售发货减了库存、财务那边应收也挂上了」不是同步出来的,是同一笔事务的结果。

销售管理

从客户报备到回款,一条线走得完

  • 客户报备查重 · 90 天保护期
  • 报价 → 订单 → 发货 → 退货闭环
  • 信用额度在审核时硬拦

采购管理

到货验收与退货,账实一起动

  • 请购 → 询价 → 订单 → 收货
  • 退货对称冲减应付与进项税
  • 供应商价格表与绩效分析

生产管理

MRP、排程、报工、成本一条线

  • MRP 缺料分析 · 交期模拟
  • 工单 / 报工 / 排程一条线
  • 工艺路线 · 月末成本清结

仓储管理

多仓多货位,成本算得清

  • 批次 / 序列号全程追溯
  • 锁库 · 库龄 · 在途调拨
  • 盘点差异自动过账

人事管理

入转离、考勤、薪资一条线

  • 入转离与劳动合同
  • 排班 / 考勤 / 年假台账
  • 薪资规则化核算

财务管理

业财一体,账不是手工补的

  • 业务动作自动生成凭证
  • 应收应付 · 账龄 · 核销
  • 预算 / 税务 / 固定资产
为什么是 ERP,而不是六个台账

三件最难做对的事

一套进销存软件和一套 ERP 的差别,通常就落在这三处:账是不是自动记的、审批是不是拦得住、现场是不是真的能用。

业财一体:过账写在业务事务里

基座的过账引擎让十二类业务动作在同一事务内自动生成凭证——业务单据一旦落库,账就同时记上了。没有「月底导出 Excel 再导进财务软件」这一步,也就没有对不上的时候。

  • 销售发货:借应收 / 贷收入+销项税,借成本 / 贷库存
  • 采购收货:借存货+进项税 / 贷应付;退货反向
  • 完工入库:借产成品 / 贷生产成本——直接材料、直接人工
  • 收付款结算:借银行存款 / 贷应收,支持一笔拆核多张账单
  • 作废与反审核同步冲销:已过账的开红字凭证,台账一并冲回

审批流:可配置,而且拦得住

17 类单据的审核可以改走可配置的审批链:会签、或签、票签、条件分支、加签、撤回。最后一级通过时才执行真正的审核——信用占用、库存、凭证与手工审核走的是同一段代码。

  • 门禁在服务端:绕开页面直接调接口一样被拦
  • 未配置即现状:不装插件、不建流程,审核行为逐字不变
  • 金额分级不用写表达式:字段 / 比较符 / 阈值三件控件,下面用中文写清这级为什么免审
  • 审批代理是授权而非转移:批完的轨迹里同时留下两个人的名字

手机现场端:为手上有活的人做的

车间、仓库、工地不需要第二个键盘。手机端五批三十八页,只做现场真会做的事:扫码、填三个数、签字确认。建单、排程、凭证录入这些桌面活一概不挂手机。

  • 扫码报工:合格数默认 = 计划 − 已报,工时按比例预填
  • 扫码盘点:扫一件加一件,差异实时算,只回传改动行
  • 扫码查库存:各仓现存量 + 最近流水,不用回办公室问
  • 客户与跟进:见完客户当场看 360、记跟进,报备审批也在这几页
  • 打卡、工资条、请假:普通员工不授任何业务角色也能用
手机现场端

工位边上能干完的活,别让人回办公室

手机端不是桌面端的缩小版。只做现场真会做的事:扫码、填三个数、签字确认。 建单、排程、凭证录入这些桌面活一概不挂手机——点进去发现改不了,还不如没有入口。

工序报工

机台边,戴着手套
  1. 扫工单二维码
  2. 选工序(自动跳到下一道未完成)
  3. 改掉那两个不对的数
  4. 提交,进度与工时同步更新

扫码盘点

货架之间,边走边点
  1. 扫盘点单进入
  2. 逐件扫商品码累加
  3. 多货位先记未盘行
  4. 提交差异,审核后过账

扫码查库存

客户催货时,站在库里
  1. 扫物料码
  2. 各仓现存量与可用量
  3. 最近入库流水与批号
  4. 金额与均价一眼可见
AI 智能体 部分可用

AI 不新开一个模块,只多一个输入口

订单从邮件来、从微信里复制出来,然后有人把它重新敲进系统—— 这段搬运是整套 ERP 里最费手、也最容易出错的一环。AI 只做这一段: 把散乱的记录摆成一张草稿单,等你确认。不自动审核,不猜你没给的数。 收信、解析、复核、开草稿这条链已经跑通;照片与 PDF 还要 OCR,所以它标「部分」——先把一条链路做到真能用。

订单来信 → 销售订单草稿 客户的采购邮件(专用邮箱定时收);微信里复制出来粘进去的一段话;企业微信回调推来的消息。
库存与在途 → 催料待办 已有的安全库存、在途采购、未清工单需求——这三样系统里本来就有。
往来对账 → 差异清单 客户对账单的文本(粘贴进来),加上系统里的应收明细。
看它怎么落地 链路、五条硬边界与一张现状表,都写在那一页
技术底座

一套 C# 跑完前后端

服务端与浏览器端是同一门语言、同一批实体、同一套校验。客户端跑 WebAssembly, 不是给接口套个壳的页面;服务端只负责数据与鉴权。部署产物是一个目录、一个数据库—— 开源默认 SQLite(库就是文件),换 SQL Server / PostgreSQL / MySQL / Oracle / 达梦 只改宿主里一行注册。

.NET 10Blazor WebAssemblyKnown 4.0多数据库ZXingClosedXML
deploy.sh
# 发布(前端产物由 Web 宿主一并带走)
$ dotnet publish ERPLiteWeb/ERPLiteWeb.csproj -c Release -o publish

# 启动(首次运行非破坏建表 + 种账号与角色)
$ cd publish && dotnet ERPLiteWeb.dll --urls http://0.0.0.0:8080

✓ ERPLite 已就绪 · 默认库 SQLite,journal_mode = wal
开源

源码在 Gitee,整仓可拉

官网上写的每个功能、/demo 里那个能登录能开单的实例,都出自同一份仓库代码。 没有藏起来的「企业版」:AGPL-3.0 之下,打开仓库看到的就是它。

仓库里有什么

gitee.com/known/ERPLite
  • 全部源码:基座、六个模块、WebAssembly 客户端、服务端宿主,没有「企业版」留一手
  • 580 余条用例(ERPLite.Tests),服务口径与页面契约都在这份仓库里跑
  • Deploy/ 下的 Dockerfile、发布与恢复脚本,以及本官网本身
  • Issues 与提交记录都在同一个仓库:踩到的坑、修过的 bug、下一版要做什么,公开可查
  • AGPL-3.0,不是「源码可见但不可用」;公司内部自用不要求公开任何改动
  • 需与 Known 框架同级编译,两条克隆命令见右侧
  • 演示站 /demo 跑的就是这份代码,不是另做的一套演示环境
clone.sh
# 两个仓库放同一父目录:主仓引用 ../Known/Known
$ git clone https://gitee.com/known/ERPLite.git
$ git clone https://gitee.com/known/Known.git

# 编译(需 .NET 10 SDK),再让本官网连同 /demo 真应用一起起来
$ cd ERPLite && dotnet build ERPLite.slnx
$ dotnet run --project Website

✓ 发布产物落在 ERPLiteWeb/bin/Release/net10.0

先点进去用一遍,再看文档

在线演示是一个真实运行的实例:完整种子数据、六个模块、可登录可开单,不是录屏。 演示数据可以随便改,刷新重来即可。

演示账号见登录页提示;生产部署请先看「上线前必改清单」。