关于

一个可二次开发的 ERP 内核

ERPLite 想解决的是一类具体问题:20–150 人的离散制造企业,用不起也养不起大型 ERP, 但又确实需要「订单、库存、工单、应收、凭证」这些事在一个系统里对得上。

定位

它是什么,不是什么

它是

  • 一套「业财一体 + 模块可插拔」的业务基座——税在凭证上算,票不在这个系统里开
  • 有真实状态机、库存联动与账务落地的六个业务模块
  • 一个可以按客户只装部分模块的单仓方案
  • 一份能读、能改、能二次开发的完整源码

它不是

  • 装上就能用的商品化 ERP——主数据要导、期初要对、流程要按岗位配
  • GMP / 医疗器械级的强追溯方案:批次与序列号都能追到发货去向,但没有 UDI、电子批记录、留样与召回管理
  • 集团多组织、多币种合并报表
  • 开票与报税系统:销售 / 采购发票只做登记与三单匹配,不直连税控开票、进项认证与税局申报
  • 用配置就能改出来的零代码平台
结构

模块化单仓

基座被所有模块依赖,模块之间互不引用;宿主是唯一被允许同时看见六个模块的地方。

ERPLite/
├─ ERPLite/               # 基座:物料、库存引擎、
│                        # 会计原语与过账引擎、状态词表、复用组件
├─ ERPLite.Sale/          # 销售
├─ ERPLite.Purchase/      # 采购
├─ ERPLite.Produce/       # 生产
├─ ERPLite.Warehouse/     # 仓储
├─ ERPLite.Human/         # 人事
├─ ERPLite.Finance/       # 财务
├─ ERPLiteWasm/          # 客户端:WebAssembly 入口、工作台、种子
├─ ERPLiteWeb/           # 服务端宿主:WebApi、库注册与加固、备份
├─ Website/              # 本官网:静态 SSR + /demo 托管真应用
├─ Deploy/               # Dockerfile 与发布 / 恢复脚本
└─ ERPLite.Tests/        # 用例:服务口径与页面契约

模块清单是部署期决定

装哪几个模块写在 ErpModules:Enabled 里。同一份核心既能装配成全套 ERP,也能装配成只留供应链的进销存档位。

客户端整包懒加载

六个模块各是一个程序集,从启动清单里摘出去,第一次点开该模块时才下载。首屏不为没打开的模块付流量。

本官网也是这套代码

你在 /demo 里用的是真应用:同一个 WebApi、同一个库。它不是另一套演示环境。

技术栈

依赖不多,但都关键

.NET 10 服务端与客户端同一门语言、同一套实体
Blazor WebAssembly 浏览器里跑真应用,不是截图演示
Known 4.0 元数据驱动的组件与菜单/权限装配
多数据库 开源默认 SQLite;内建 SQL Server / MySQL / PostgreSQL / Oracle / 达梦 适配
ZXing 手机相机扫码与图片解码
ClosedXML xlsx 导入导出,数字保持数值类型
适用边界

做不到的事,写在这里

官网上写明边界,比签完合同再解释便宜。以下每一条都是代码里确认没有的能力,不是「暂未实现」。

  • 法定账仍要对接税控:销项发票可登记与红冲、采购发票可收票与三单匹配,但不直连税控开票、发票认证与税局申报
  • 追溯做到批次、序列号与条码标签;PDA 物理按键 / 枪式扫描的真机适配套件与断网补录还没有
  • 权限做到菜单 / 按钮 / 接口三层与行级数据范围;SSO、MFA 与字段级脱敏尚未提供
  • 多账套按 CompNo 分桶、可路由独立库;集团口径的合并报表仍未做(单账套三表可折算)
  • 对外提供 OpenAPI 3.0 只读接口与按账套签发的密钥;写回单据与 OAuth 授权尚未提供
  • 自定义字段支持七种类型(含引用),销售订单明细已支持逐行扩展;其余单据明细行尚未接入
  • 没有安装包与 CI,交付是源码加发布脚本;SQLite 单库适合 10–30 人并发
  • 装完不等于能用:主数据要导、期初要对、流程要按岗位配,实施是另一件事

适合谁

20–150 人、离散制造或装配,也可以只是贸易与按单加工——只装销售、采购、仓储、财务,就是一套贸易公司的账; BOM 一到三层,按单生产或备货生产;有一名懂 .NET 的 IT,或者愿意购买实施服务;能接受 10–30 人并发。 想先上销售 + 库存、跑顺了再接生产与财务的团队同样合适:装哪几个模块是部署期的一个开关,不是两套产品。

不适合谁

食品、医药等强批次追溯行业;多组织多币种集团;需要复杂审批与移动扫码之外的深度行业功能; 完全没有技术人员、要求「装上就能用」的团队。

许可

AGPL-3.0

ERPLite 以 GNU Affero 通用公共许可证第三版发布。简单说:可以自由使用、修改、分发, 但如果你把它改成对外提供服务的产品,改动也要以同样的许可开放。

商业授权、闭源集成与实施支持另议。如果你只是在自己的公司内部用它管账, AGPL 不要求你公开任何东西——内部使用不算分发。 要闭源交付、OEM 集成或对外提供托管服务,走 商业合作 那一页。

AGPL-3.0开源许可
Known 4.0底层框架
.NET 10运行时
SQLite默认数据库,可换
源码仓库 · Gitee gitee.com/known/ERPLite 编译需同时拉取 Known 框架(gitee.com/known/Known),两个仓库放同一父目录;两条命令见首页与部署页。
Issues