ERPNext实操指南:从空白系统到第一笔收款,一套免费ERP管齐全流程
【免费下载链接】erpnextFree and Open Source Enterprise Resource Planning (ERP)项目地址: https://gitcode.com/GitHub_Trending/er/erpnext
听到"ERP",第一反应是"贵"和"要请实施团队"。但开源的 ERPNext 反着来:进销存、记账、报表全免费,代码也完完全全归你。这篇文章按顺序讲:它是什么、打开后看到什么、第一张订单怎么推过去、哪些数字它替你看住——读完就能上手。
账为什么总对不上:三张表的毛病
先说一个普遍现象:不少中小企业里,订单记在销售的 Excel 里,库存记在仓管的表格里,往来款记在财务的第三张表上。月底三张表凑一起对,订单写"已发货",仓库说"没货";发票开出去了,钱到没到没人说得准。
原因拆开看就三条。第一,三张表各建各的,字段和编码互不认识,同一个客户在三张表里三个叫法;第二,"每个部门各买一套软件"的路线,账本天然分开存,合不拢;第三,商业软件按模块计价,小团队一算预算就放弃了。
ERPNext 对这件事的回答很直接:把三本账放进同一个数据库。下一节说它怎么做到。
它到底是什么:21 个模块共用一批主数据
打个比方,它像一个家用总水表:销售是客厅、仓库是厨房、财务是抄表间,各屋各用水,但表只有一块——去哪间屋抄,数字都一样。技术层面一句话带过:底层是 Frappe 框架(Python + JavaScript 全栈),上层是按场景划分的 21 个业务模块,清单就写在仓库根部的erpnext/modules.txt里。
| 模块 | 解决什么问题 | 谁来用 | 一个具体例子 |
|---|---|---|---|
| 会计 Accounts | 记账、发票、银行对账、三大报表 | 财务 | 利润表按季度自动汇总 |
| 销售 Selling | 报价、订单、发货、退货 | 销售 | 报价单一键转订单 |
| 采购 Buying | 询价、采购订单、收货 | 采购 | 请购单转采购单 |
| 库存 Stock | 实时库存、批次序列号、多仓估值 | 仓管 | 交货过账自动扣减 |
| 制造 Manufacturing | 物料清单、工单、委外加工 | 生产 | 工单完工自动耗料 |
| CRM | 线索、商机、跟进 | 销售管理 | 线索转客户报价单 |
| 项目 Projects | 任务、工时表、项目利润 | 项目团队 | 工时自动计入项目成本 |
| 资产 Assets | 采购到报废全周期、折旧 | 行政与IT | 按月自动计提折旧 |
背后的核心理念叫主数据共享:客户、供应商、物料、仓库、科目各只维护一次,所有模块引用同一条记录。用 ERPNext 自己的术语说,每个业务对象都是一个 DocType(仓库里有 640 多个定义),销售看到的"客户"和会计看到的"债务人",是同一行数据。
登录后的前 5 分钟:主界面长什么样
你刚登录,屏幕上是一整面应用矩阵:模块图标排成网格,每个角标着待办数量——销售 38 条、采购 151 条、项目 124 条,一眼扫完哪些角落没顾上。
最妙的是这个红点数字不是装饰。刚切过来的人最怕"不知道漏了什么",它直接把待办摆到桌面中央。顶部的全局搜索栏(Ctrl+K 唤起命令面板)是另一处惊喜:输入"交货单"三个字直接跳过去,不用在菜单里层层翻。
你会发现它的导航逻辑很简单:左侧竖排图标负责高频入口,搜索框负责长尾查找。找不到的页面,多半是你拼错了 DocType 的英文名。
从建客户到收到钱:7 步跑通第一单
最快体验方式是 Docker:拿官方快速起步模板后一条命令拉起演示站点(用户名 Administrator,密码 admin,仅供评估,别上生产)。
git clone https://gitcode.com/GitHub_Trending/er/erpnext cd erpnext docker compose up -d # 约 2 分钟后浏览器打开 http://localhost:8080跑通场景:从建客户到收到第一笔款。
- 完成设置向导(首次登录自动弹出)。填公司名、国家、币种,选一套内置会计科目模板,定会计年度。为什么:科目的地基不打好,后面全是返工。✅ 完成后打开"会计 → 财务报表",科目表已自动生成。
- 建客户(设置 → 客户 → 新建)。填名称和默认区域即可。为什么:客户是所有应收的源头。✅ 客户列表出现这条新记录。
- 建物料(设置 → 物料 → 新建)。填名称、标准价、默认仓库,关联收入/费用科目。为什么:主数据建一次全局共用,省得每张单现填。✅ 物料详情页能看到默认仓库与税率。
- 下销售订单(销售 → 销售订单 → 新建)。选客户、加物料、填数量 20、单价 250,提交。为什么:订单是链条起点,提交后下游环节全靠引用它。✅ 单据状态变为"已提交"。
- 发货(销售 → 交货单,从订单"新建自")。选仓库、确认数量、过账。为什么:过账即自动扣减库存,不用手改库存表。✅ "库存 → 库存余额"报表里该物料减少了 20。
- 开票(销售 → 销售发票,从交货单创建)。金额税率自动带出,确认后提交。为什么:税率按预设规则计算,全程没手算过一分钱。✅ 发票总额与订单一致。
- 登记收款(会计 → 付款凭证 → 新建)。选客户、填金额、勾住要冲销的发票。为什么:应收账款自动核销,不靠人肉对账。✅ 回到发票详情页,"未结金额"变为 0。
追踪一笔 5000 元的旅程:同一个数字只敲一次
跟着这笔 20 × 250 = 5000 元走一遍:
报价 → 订单 → 发货 → 开票 → 收款
订单那一步是它唯一被"敲"出来的地方:数量 20、单价 250 各填一次,5000 是系统算出来的。交货单从订单引用它,发票从交货单引用它,收款按它冲销应收——中间每一处都是指针,不是重新录入。
看这张利润表,顶部的 Total Income 就是这一笔笔"5000"累出来的,收支和净利润按季度排开,下面细到每个科目。对账会从此失去存在理由,因为账和业务本来就同源。
数字归系统管,你只管例外。
自定义与自动化:字段、审批流、API
自定义字段:怎么加
其实任何单据都能加你想要的字段:给销售订单加"客户行业"下拉框,给物料加"采购责任人"。操作路径:设置 → 自定义字段 → 选目标 DocType → 添加字段保存。不写代码,刷新就生效。
工作流审批:状态流转可视化
很多人不知道审批流是配置出来的:把报价单设成"草稿 → 经理审批 → 批准/拒绝",每一步限定谁能操作、触发什么通知,全程可视化。操作路径:设置 → 工作流 → 选 DocType 配置状态与转换。
REST API:一个口子接住外部
每个 DocType 自动暴露 REST API,POST 一条请求就能建销售订单,电商、小程序、自家系统都能接,不动数据库。想看官方怎么用它造应用,仓库里有个银行对账前端子项目,React + TypeScript + Vite 写成的独立应用,把导入流水、自动匹配、对账核销做成了完整流程。
它适合谁,不适合谁:一份诚实评估
| 典型用户 | 最该用它的方式 | 一个需要注意的点 |
|---|---|---|
| 小型贸易/电商团队(1-20 人) | 进销存加会计全流程自管,省下整套软件订阅费 | 初始配置(科目表、物料编码规则)要花点时间,别跳过 |
| 中小制造企业 | 物料清单 + 工单 + 委外,成本自动归集 | 复杂工序要深入配置,建议先用演示站点试一轮 |
| 开发者 / 实施服务商 | 在 Frappe 框架上二次开发,给客户定制行业版 | 需要接受 Python + JS 全栈的学习曲线 |
实话实说:它不是"装上就好"的产品。行业特定税务、多地区多仓这类复杂场景需要配置甚至二次开发;上千人的超大型企业通常还得配一层定制中间件。它的甜区,是中小团队自己就把账管明白。
社区与贡献:低门槛切入点
遇到问题不用闷头查代码:官方文档、Frappe School 课程、discuss 讨论区、官方 Telegram 群,四个渠道基本能接住所有问题。
想参与,仓库里有几个不用读源码就能下手的点。翻译一个词条:erpnext/locale/ 里有 39 个语言包,中文在内,认领一个就开工;补一个测试用例:会计模块的测试目录 里全是活的样板,照着一个加一个。迭代节奏上,主线持续演进、稳定版本(version-15、16 等)按线发布,每次升级的迁移补丁都留在仓库里,可查可学。
如果你把这套用起来,月底的画面大概是:财务打开屏幕,应收、应付、库存、现金流全在眼前且实时准确,那个对两小时的会直接取消——数字在系统里走完,人留在系统外做判断。
打开终端,把第四章节里那行 clone 敲进去:git clone https://gitcode.com/GitHub_Trending/er/erpnext。空白系统就在那儿,等你的第一个客户。🚀
【免费下载链接】erpnextFree and Open Source Enterprise Resource Planning (ERP)项目地址: https://gitcode.com/GitHub_Trending/er/erpnext
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考