ERPNext 开源ERP实操手册:开票、库存、生产三线打通,5分钟装好
2026/9/24 15:01:30 网站建设 项目流程

ERPNext 开源ERP实操手册:开票、库存、生产三线打通,5分钟装好

【免费下载链接】erpnextFree and Open Source Enterprise Resource Planning (ERP)项目地址: https://gitcode.com/GitHub_Trending/er/erpnext

ERPNext 是一款完全开源的企业资源计划(ERP)系统,核心能力一句话:销售订单提交后,库存自动扣减、发票直接过账到总账,整条业务链不靠人工搬数据。适合预算有限但流程要求完整的中小制造、贸易企业,以及想摆脱商业 ERP 订阅费的技术团队。本文不讲大而全的功能清单,只讲怎么跑起来、三个真会用到的场景、不改代码就能改造它的地方,以及落地前要绕开的坑。

它到底是什么、适合谁先上

一句话定位:把开票、库存、生产放进同一个数据库

ERPNext 构建在 Frappe 框架(Python 后端 + JavaScript 前端)之上,按模块切分业务:财务在 erpnext/accounts/,库存与采购在 erpnext/stock/ 和 erpnext/buying/,销售在 erpnext/selling/,制造在 erpnext/manufacturing/,另有项目、资产、CRM、售后工单等模块。模块之间共享同一套数据模型,销售发票过账时写总账分录、同时动库存,是系统里最值钱的一条链路。所有模块清单可以直接翻 erpnext/modules.txt 对照。

哪些团队适合,哪些场景先别硬上

适合:年营收千万到几个亿、有真实库存和开票压力、IT 人力 1-3 人、不愿意按坐席付订阅费的企业;也适合想基于成熟 ERP 做行业定制的二开团队。先观望:业务高度非标、主流程需要深度改造核心过账逻辑的场景,ERPNext 的定制哲学是"外围扩展"而非"改内核",硬改核心代码会在升级时付出代价。

五分钟把它跑起来

Docker 一键体验:两条命令起来一个站点

只想先点一点看效果的,用 Frappe 官方的 Docker 快速启动仓库(frappe_docker,与本仓库同源维护)。克隆后进入目录执行:

docker compose -f pwd.yml up -d

等 2-3 分钟站点容器跑完,浏览器打开http://localhost:8080,账号 Administrator、密码 admin 直接进。注意官方 README 里写得很清楚:这个环境是"一次性演示",用完即弃,装不了自定义应用,别当生产用。

二开环境:bench 三条命令装好开发版

要基于它开发,走 bench 工具链。装好 Frappe bench 后依次执行:

bench new-site erpnext.localhost bench get-app https://gitcode.com/GitHub_Trending/er/erpnext bench --site erpnext.localhost install-app erpnext bench start

然后访问http://erpnext.localhost:8000/app就能改代码、热重载地调试了。

想读源码:先逛哪四个目录

不用通读代码库,按业务线定位即可:过账和税额逻辑在 erpnext/controllers/accounts_controller.py,库存记账在 erpnext/stock/stock_ledger.py,初始化向导在 erpnew/setup/setup_wizard/,模块注册入口是 erpnext/hooks.py。

三个高频场景:拿 ERPNext 到底能干什么

场景一:开一张销售发票,库存和总账自动跟上

这是 ERPNext 被用得最多的一条流。操作路径:销售 → 销售发票,填客户、选商品、提交。你不需要再做任何"记账"动作——提交瞬间,系统查 erpnext/selling/doctype/sales_invoice/ 的过账逻辑,同时做三件事:扣减对应仓库库存、按科目表生成借贷分录、更新应收账款余额。做完后点进"总账"报表(代码在 erpnext/accounts/report/general_ledger/),这条分录已经在里面了;资产负债表、利润表都能直接出。验收标准很简单:开十张不同客户的发票,总账试算平衡,库存账实一致,这条流就算通了。

场景二:库存补货:让系统自己提示该采购了

库存模块的主数据入口在 erpnext/stock/doctype/,商品上可以设安全库存和再订货点。真实用法是:把 A 类商品设上补货阈值,等库存低于阈值时,报表端会亮出缺口,采购单照着缺口开即可,不必靠人肉数库。盘点走"库存盘点"单据,差异直接生成调整分录。相关的现成报表在 erpnext/stock/report/ 下,比如物料余额、库存台账,先建一张空表试跑一遍再上生产数据。

场景三:银行流水对账:导入账单,自动匹配

月结最大的时间黑洞是对账。ERPNext 的入口是"银行对账":先用银行账单导入(后端在 erpnext/accounts/doctype/bank_statement_import/)把 CSV/Excel 流水读进来,系统按金额、日期、摘要自动匹配已有的付款单和发票,剩下的未匹配项再人工点一下。仓库里还带了一个独立的 React 新版对账应用 banking/,页面代码在 banking/src/pages/BankReconciliation.tsx,传统表单版本在 erpnext/accounts/doctype/bank_reconciliation_tool/,两边能力可以对照选用。

不写代码就能改造它的地方

加自定义字段:Setup 里点两下

任何单据想加一个"合同编号""客户来源"这类字段:Setup → Custom Field,选 DocType、填字段名和类型,保存即生效。表单排版、字段默认值、必填规则都在同一处配,不用动 erpnext/setup/doctype/ 下的任何代码。

搭审批流:工作流设计器拖一拖

发票超过 5 万要走部门经理审批这种规则,用工作流功能配:新建工作流 → 选 DocType → 按状态节点拖出"草稿→待审→已审→已提交"的流转,每个节点绑定角色和动作。全程点选完成,审批历史自动留痕,适合先拿销售发票、采购发票两条单据试。

建自定义报表:Query Report 填个 SQL

系统预置报表在erpnext/<模块>/report/下(比如 erpnext/accounts/report/ 有五十多张),覆盖不了的部分直接建 Query Report:填一段 SQL,配置列名和筛选条件,报表就出现在列表页。它直接读库,写查询比走框架 API 灵活得多,适合财务口径的取数。

换本地化:地址模板、打印格式与多语言

换公司抬头和发票版式:打印格式里新建模板,拖字段即可。涉及国别差异(税号格式、发票要素)的,现成配置在 erpnext/regional/,不同国家的差异都收敛在那里。界面翻译靠 erpnext/locale/ 下的语言包,切换用户语言就能生效,中文包 zh.po 已内置。

落地前必须知道的 3 件事

第一件事:算清楚"开源"的真实成本

软件许可费是零,但要算上三笔:服务器(至少 4 核 8G 起步才顺)、首次数据迁移(科目表、客户商品主数据、期初余额的清洗工作量通常被低估)、以及持续升级的人工。如果这三笔加起来超过商业 ERP 两年订阅费,优先选托管方案或找人代部署,别自己裸跑。

第二件事:分三步走,别一口吃下所有模块

顺序建议:第一步只上"科目表 + 销售/采购发票 + 应收应付",跑通一个完整月结;第二步加库存与采购补货;第三步再上制造或项目。每一步用 erpnext/setup/setup_wizard/ 的初始化向导打底,旧数据先用"期初余额"类单据迁入,不要直接改已提交的凭证——想改历史用红冲,这是财务模块的硬规则。

第三件事:三个高频坑,提前绕开

一是别改 erpnext 仓库里的源码做定制,仓库是只读依赖,所有定制放独立应用里,否则每次升级都冲突。二是升级前必备份:升级会执行 erpnext/patches/ 下按版本排队的数据迁移脚本,跑一半失败会留中间状态。三是演示账号 Administrator/admin 只配在临时环境里出现,生产站点建站时立刻改掉,并关掉公开注册。

把这三条守住,ERPNext 就能稳定承担"财务 + 订单 + 库存"的主链路,剩下的模块按业务需要逐个打开,而不是一次性全量切换。

【免费下载链接】erpnextFree and Open Source Enterprise Resource Planning (ERP)项目地址: https://gitcode.com/GitHub_Trending/er/erpnext

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询