Odoo 和 ERPNext 权限对照:同一张销售订单,谁能点确认

·

上次用 ERPNext 的低权限账号跑销售订单,单据卡在提交那一步,后来才发现不是账号没生效,而是角色里没有提交权限。今天把 Odoo 也翻出来做了同样的测试。我没有再去看功能清单,只想知道同一张销售订单,两边到底把“确认”和“审批”放在谁手里。

ERPNext 先问你是谁,再问你做什么

ERPNext 这边的顺序比较清楚:先建 User,再给角色,最后才看具体单据上的动作权限。Sales User 可以新建客户、报价单和销售订单,但提交、取消这类动作不一定跟着角色一起给。上次我漏掉的正是这一点。

用管理员打开 Role Permission Manager 后能看到,角色权限是按 DocType 一项项控制的。能看、能新建、能修改、能提交,都可以分开。对门店来说,这种拆法有好处:销售可以先做单,主管再检查并提交。单据提交后不能随便改,只能取消或作废,责任边界会留在系统记录里。

但我第一次配的时候也确实有点绕。ERPNext 的 Role 更像岗位能力,不是完整的审批流。比如“销售主管审批超过五万元的订单”这种规则,单靠给 Sales Manager 加权限还做不出来,后面仍然要配合 Workflow、条件规则或者自定义单据状态。角色能给到门槛,业务规则还得另外补。

Odoo 把岗位分组做得更细,但不等于自带审批

Odoo 里我新建了两个测试用户,一个只给 Sales / User: Own Documents Only,另一个给 Sales / Administrator。前者能建自己的报价单,也能确认自己的报价,但看不到别人的单据;后者能看整个销售团队的订单。切换账号以后,列表里出现的记录差别很明显。

这里容易误会的一点是,Odoo 的“确认订单”更像允许销售推进业务,而不是主管审批通过。在当前这套 Community 版本和已安装模块里,我确认了自己权限范围内的报价后,订单直接进入销售订单状态。这个动作很顺,少了一次交接,但如果公司要求主管先审核,就不能只靠默认权限分组。

想做真正的分级审批,要么使用现有模块里能覆盖的场景,要么增加审批模块、自动化动作或做少量定制。权限组只负责用户能看什么、能操作什么,并不能自动替公司写出“谁批准多少钱以上订单”的规则。

同一张订单,两边让我做的判断不一样

ERPNext 给我的感觉是把职责边界放在前面。提交之后单据进入另一种状态,修改和取消都要额外权限,适合希望每一步都留下交接记录的团队。代价是配置前得先写清楚岗位和动作,否则测试时很容易觉得到处都被卡住。

Odoo 的前半段更轻。建单、确认、继续发货都很流畅,小团队上手会快一些;但如果把“确认”误当成“审批”,后面就会把风控缺口带进正式流程。它并不缺权限控制,缺的是把业务审批规则说清楚。这个工作不能交给系统猜。

这次对照之后,我反而不再纠结哪边权限做得更强。ERPNext 的 Role 和提交机制适合明确分工,Odoo 的销售分组适合快速把日常操作收进来。真正要选的是公司现在需要的是一道可追踪的提交关口,还是一个轻一点的销售协作流程。两边都能做,只是配置起点不同。

下一步准备把采购也跑一遍

销售单只能看出从报价到确认这一段。下一次我准备用采购申请、采购订单和入库单再跑一轮,重点看金额审批、仓库收货和财务确认分别卡在什么权限上。如果两边都要靠定制才能接上,那说明问题不在软件,而在我们自己的流程还没有定下来。