ERPNext:免费开源 ERP 系统入门——30 分钟打通财务库存销售
【免费下载链接】erpnextFree and Open Source Enterprise Resource Planning (ERP)项目地址: https://gitcode.com/GitHub_Trending/er/erpnext
企业软件最贵的从来不是软件本身,而是数据对不上。ERPNext 是一套完全免费开源的 ERP,财务、库存、销售、采购跑在同一套数据里。这篇文章带你把它装起来、跑通第一张销售单,并想清楚下一步往哪走。
部门各算各的账,月底对账就是在为混乱付费
三个最常见的割裂症状:
- 订单写着"已发货",仓库说没货可发——订单和库存各记一本账,谁也不认谁,发货纠纷只能靠人肉核对。
- 发票开出去了,回款没人跟——应收账款散落在财务的表里,没人把它和具体订单、客户自动关联起来。
- 销售、仓库、财务各维护一套 Excel——同一个客户名字三种写法,同一个物料两种编码,每次合并就是一小时起步。
根因都一样:同一份数据被录了多次,还各自演化。ERP 要解决的不是"多装一个系统",而是让数据只存一份、只录一次、流转一次。
20+ 模块共用一套主数据:ERPNext 的底层架构
ERPNext 建在 Frappe 框架之上,这是一个 Python + JavaScript 全栈框架,负责表单、权限、工作流和 REST API 这些企业软件的公共底座。ERPNext 在其上按业务域拆成二十多个模块,每个模块独立演进,但共享同一套主数据。
核心模块速查:
| 业务域 | 典型单据流 | 谁在每天用 |
|---|---|---|
| 会计 | 销售发票 → 收款单 → 银行对账 → 三大报表 | 财务人员 |
| 销售 | 报价单 → 销售订单 → 交货单 → 销售发票 | 销售团队 |
| 采购 | 采购申请 → 询价单 → 采购订单 → 采购发票 | 采购专员 |
| 库存 | 交货单 / 采购收货单 → 出入库流水 → 库存估值 | 仓管 |
| 制造 | 物料清单 → 生产工单 → 工序汇报 → 成品入库 | 生产部门 |
| 资产 | 资产购置 → 折旧计提 → 报废处置 | 行政与 IT |
| CRM | 线索 → 商机 → 客户跟进记录 | 销售管理 |
主数据只建一次:客户、供应商、物料、仓库、会计科目全系统共用一份。销售录入的客户,就是财务的应收方,也是仓库交货单上的收货方——三处天然对齐,从根上消除同名不同档。
clone 到第一张销售单:30 分钟最小可运行路径
装:两条路选一条
只想快速体验,用 Docker Compose 一行拉起:
git clone https://gitcode.com/GitHub_Trending/er/erpnext cd erpnext docker compose -f docker-compose.yml up -d等几分钟,浏览器打开http://localhost:8080就能登录。要长期使用甚至上生产,走 Bench 官方工具链:
pip3 install frappe-bench bench init erpnext-bench --frappe-branch version-15 cd erpnext-bench bench new-site mycompany.local bench get-app https://gitcode.com/GitHub_Trending/er/erpnext bench --site mycompany.local install-app erpnext bench start配:向导 + 最小主数据
装完登录,初始化向导会依次让你填:公司名称与地址、国家、币种、会计科目表模板(内置多套国家预设)、会计年度。这几分钟填完,财务的地基就有了。
然后补最小主数据集合:1 个客户、1 个供应商、2~3 个物料、1 个默认仓库。主数据只录一次,后续所有单据都引用它——这一步的投入回报贯穿整个系统生命周期。
跑:下第一张单
进入 销售 → 销售订单,新建单据,选客户、加物料、填数量和单价,税费和总额由系统按预设规则自动算好,提交即完成。这张单之后可以被交货单、发票反复引用,业务循环已经跑起来了。
一笔钱从报价到到账:系统替你跑完了多少步
跟着一张销售订单走完全程,看每一环系统自动做了什么:
- 报价:报价单生成后,价格、条款、有效期落在系统里,转成销售订单时全部字段自动带出,不产生二次录入。
- 订单确认:提交后系统按物料自动预留可用库存,超卖风险当场暴露,而不是等发货时才发现。
- 交货:仓库基于订单生成交货单,过账的瞬间库存实时扣减,物流信息同步更新。
- 开票:从交货单生成销售发票,金额、税率按预设规则自动计算,与发货数量天然一致。
- 收款:登记收款时系统自动冲销对应应收账款,现金流随之联动更新。
整条链路上,人只处理例外:价格谈崩了、货少了、客户要延期。流转本身交给系统。
自定义字段、审批工作流、REST API:三种定制深度
按改动幅度从小到大,三件套各有明确的适用场景。
- 自定义字段与表单:零代码。在 设置 → 自定义表单 里挑任意单据类型,加字段、调布局——给销售订单加个"客户行业"下拉框、给物料加个"采购责任人",点几下鼠标的事,适合绝大多数个性化字段需求。
- 工作流引擎:可视化配置审批状态机。比如把报价单配成 草稿 → 经理审批 → 已批准 / 拒绝,每一步可限定操作角色、触发通知,适合审批高频的企业。
- 内置报表 + REST API:两百多张报表分布在 会计报表目录 与 库存报表目录;REST API 则支持 POST 一条请求创建单据,对接电商、小程序或财务软件都留了口子。
上生产前的 4 个前置条件
把这 4 件事做在前面,上线后大概率不会返工。
- 测试环境先行:ERP 是业务中台,出问题影响的是全公司。先在测试环境跑通全流程、验证备份方案,再迁移真实数据。
- 主数据编码规范先行:物料编码规则、客户命名规范一开始就定好,否则后期会出现"同名不同货",清洗成本远高于录入成本。
- 升级迁移前必备份:每次
bench update或bench migrate前先执行bench --site your-site.com backup,并把备份留存天数设到你能接受的范围。 - 权限按角色收口:系统支持细粒度角色权限,财务数据、成本数据只对相关人员开放,既安全也省心。
翻译、补丁、测试:3 个低门槛参与入口
ERPNext 由官方文档、讨论论坛和 Telegram 群组支撑的日常答疑社区维护,主版本持续演进,会计、库存、制造等模块不断打磨。想参与,有三个低门槛切入点:翻译词条进 多语言目录(含中文在内 40 多种语言包)、给 补丁目录 里的历史脚本做适配、或在 会计模块测试 里补一个用例。
仓库里的 banking 子项目也值得一读:一个用 React + TypeScript + Vite 构建的银行对账前端,把导入银行流水、自动匹配、对账核销这套高频财务操作做成了独立的流畅应用。如果你想研究现代前端技术栈如何与 ERP 系统集成,这份代码是现成的样本。
别收藏,装起来
免费,是因为它开源;开源,是因为代码摆在你面前;而装在自己服务器上的那套数据,从头到尾在自己手里。三步走完,你就拥有一个下单、记账、看库存的完整系统。
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),仅供参考