# ERPLite **Repository Path**: nboob/ERPLite ## Basic Information - **Project Name**: ERPLite - **Description**: ERPLite 是面向中小制造企业的通用、轻量、可扩展 ERP:销售、采购、生产、仓储、人事、财务 六个模块开箱可用,共用一套物料、库存与会计基座。业务单据落库的同时,凭证已经在同一个事务里记好了—— 月底不需要再导一次 Excel。 - **Primary Language**: C# - **License**: AGPL-3.0 - **Default Branch**: master - **Homepage**: https://www.erplite.cn - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 69 - **Created**: 2026-11-10 - **Last Updated**: 2026-11-10 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README
Logo
![.NET](https://img.shields.io/badge/.NET-10-512BD4) ![Blazor](https://img.shields.io/badge/Blazor-WebAssembly-7A43B6) ![Known](https://img.shields.io/badge/Known-4.0-orange) ![License](https://img.shields.io/badge/License-AGPL%203.0-blue) [![Gitee](https://img.shields.io/badge/Gitee-Source-c71d23)](https://gitee.com/known/ERPLite) > **面向中小企业的轻量级 ERP**:六个业务模块共用一套基座,单据审核即自动过账。 > > 源码: | 官网: ## 📷 界面一览
登录
登录:选择集团 / 子公司账套
工作台
经营工作台:指标、待我处理、AI 助手
销售订单
销售订单:信用、发货进度、毛利
生产工单
生产工单:缺料、完工进度、交期预警
库存查询
库存查询:现存量、可用量、库位
应收账款
应收账款:账龄、逾期、收款核销
## 🎯 项目定位 - **一套基座,六个模块**:物料主数据、编码规则、库存引擎、过账引擎、状态机、菜单与权限全部共用。 - **业财一体**:销售发货、采购收货、完工入库、领退料、薪酬、收付款等动作在**同一事务内**自动生成凭证;作废与反审核同步冲销。 - **模块可插拔**:装哪些模块由 `appsettings` 的 `ErpModules` 点名,没点名的模块连同菜单、页面、服务一并撤下。 - **客户差异不进核心**:装配清单、单据动作条、字段字典三个扩展点,客户定制放在私有包里。 - **AI 只出建议稿**:客户来信 → 解析 → 人工复核 → 生成销售草稿单,确认和改价始终由人完成。 ## 🧩 功能一览 | 模块 | 主要能力 | | --- | --- | | 销售 | 客户档案与信用占用、订单、发货、销售退货(行级溯源)、订单状态机与信用门禁 | | 采购 | 供应商档案、采购订单、收货验收(批次 / 合格量)、采购退货、准时率与来料合格率 | | 生产 | BOM 多层展开、MRP 缺料分析、生产工单与工序报工、排程、领退料、质量检验、委外 | | 仓储 | 多仓库 / 货位、库存台账与移动加权平均成本、出入库流水、库存预警、盘点与调拨 | | 人事 | 组织架构、员工入转离、考勤、薪资、绩效、招聘与培训 | | 财务 | 科目与凭证、应收应付与账龄、收付款核销、成本、期末结转、余额表 / 资产负债表 / 利润表 | | AI 助手 | 来件复核、邮件收信、别名与习惯价、催料待办、对账差异 | | 系统管理 | 账号 / 角色 / 按钮权限、单据审批流、数据备份与恢复、数据导入、自定义字段、打印与 Excel 导出 | | 移动端 | PWA,现场扫码收货 / 盘点 / 报工 / 打卡 / 审批,与桌面同服务、同权限 | ## 🚀 快速开始 **环境要求**:`.NET 10 SDK`,以及同级目录下的 `Known` 框架源码(解决方案按 `../Known/Known` 引用)。 ```bash dotnet restore dotnet run --project ERPLiteWeb ``` 打开 `https://localhost:50001`(或 `http://localhost:50000`)。首次启动自动建表并铺一套演示数据:一家约 60 人的精密机械加工厂,物料、BOM、客户、供应商、库存、单据、考勤、薪资与凭证齐全,工作台开箱即有指标和待办。数据幂等,删掉根目录 `ERPLite.db` 再启动即可重刷。 **演示账号**:`admin` / `erplite`(仅演示档 `SeedDemoData=true` 存在;生产档只保留引导账号,口令走环境变量或启动日志一次性随机值)。 **在线演示(官网进程内含真应用)**: ```bash dotnet run --project Website ``` 打开 `http://localhost:5210/demo`。演示库独立为 `data/demo.db`,不会动到正式库。 ## 🛠️ 技术栈 - `.NET 10` + `Blazor WebAssembly`(服务端宿主,`[WebApi]` 经代理生成客户端调用,前后端同构) - `Known 4.*`:组件库、微 ORM、菜单与权限装配、主题与国际化 - 默认 `SQLite`,表结构启动时按 `[Table]` 非破坏式创建;同一套接口可切 SQL Server / MySQL / PostgreSQL / Oracle / 达梦 ## 🚢 部署 ```bash # 容器(Known 用 BuildKit 命名上下文挂入) docker build -f Deploy/Dockerfile --build-context known=../Known -t erplite:1 . ``` ```powershell # Windows:发布目录连恢复脚本一起产出 .\Deploy\publish.ps1 -OutputDir D:\deploy\erplite ``` 上线前务必改这三处:`SeedDemoData=false`(两份 appsettings 都要)、用环境变量注入 `Admin__BootstrapPassword`、库文件 `ConnString` 指向**绝对路径**的数据卷。完整清单与恢复步骤见 [部署与运维手册](Document/04-实施交付/ERPLite部署与运维手册.md)。 ## 🔌 扩展与二开 | 要做什么 | 落点 | 改核心吗 | | --- | --- | --- | | 装 / 不装某个模块 | `appsettings.json` 的 `ErpModules` | 否 | | 在既有单据页加一颗按钮 | `ErpDocActions` 登记动作 | 否 | | 加几栏自定义字段 | 「基础数据 → 自定义字段」 | 否 | | 新页面 / 新实体 / 覆写服务 | 客户私有包 `ERPLite.CustX` | 否 | 装配清单两份(服务端与客户端)必须一致,`ModuleManifestTests` 会校验。详见 [二开与集成指南](Document/06-技术参考/ERPLite二开与集成指南.md)。 ## 📚 文档 | 文档 | 内容 | | --- | --- | | [设计与开发规范](Document/01-开发规范/ERPLite设计与开发规范.md) | 页面模式、表格 / 表单 / 操作列硬约束,写代码前必读 | | [数据字典](Document/06-技术参考/ERPLite数据字典.md) | 字段、状态码与表结构 | | [二开与集成指南](Document/06-技术参考/ERPLite二开与集成指南.md) | 加模块、自定义字段、接审批流、写迁移 | | [单据审批流设计方案](Document/02-设计方案/单据审批流设计方案.md) | 审批链、条件分支、代理与回写 | | [手机端设计方案](Document/02-设计方案/手机端设计方案.md) | PWA 页面范围与落地批次 | | [部署与运维手册](Document/04-实施交付/ERPLite部署与运维手册.md) | 部署、上线清单、备份恢复 | | [用户操作手册](Document/04-实施交付/ERPLite用户操作手册.md) | 各模块日常操作 | | [测试验收](Document/07-测试验收/README.md) | 逐页测试方案与验收记录 | ## ⚠️ 已知边界(摘要) - 自动过账覆盖八类业务动作,分录模板集中在基座 `ErpAccounts`,改口径需改代码。 - 数据导入只新增、不覆盖;期初库存与期初往来只能导一次,重导须先冲销原批次。 - 打印是浏览器打印,纸宽 / 纸高可自定义,没有可视化套打设计器。 - 制造费用尚未做真实分摊;利润表为单步式,生产环境应接可配置模板。 - AI 解析读不出的字段一律留空并写明缺口,不猜;邮件收信一个配置节只挂一个邮箱。 - 移动端只做现场要办的事:查询、扫码、报工、审批与自助,不做新建订单、凭证录入、报表设计。 更完整的取舍与缺口见 [系统成熟度清单](Document/03-评估盘点/系统成熟度清单.md)。 ## 🤝 商用与联系 `ERPLite` 遵循 **AGPL-3.0** 开源协议,个人及企业内部使用免费。商用部署、OEM 集成、功能定制、技术支持或去除 AGPL 约束,请联系我们获取商业授权。 - 官网: - 商务 / 技术支持:`knownchen@163.com` - 微信:`knownchen` | 公众号:`Blazor程序员` ## 📄 许可证 本项目基于 `AGPL-3.0` 协议开源,详细条款见 [LICENSE](./LICENSE.txt)。商业闭源使用需获得书面授权。 软件著作权登记证书:[查看](Document/00-素材/软件著作权.jpg)。