ERPNext 学习笔记:用低权限账号跑销售全流程,权限卡在哪里

上次把角色分好之后,我一直有个疑问:权限配完到底会不会把正常业务卡住。今天干脆用一个只带 Sales User 的测试账号,从头跑了一张销售订单,看看低权限账号真实用起来是什么感觉。

能建单,不代表能走完整条流程

登录后第一感觉是界面确实干净了。客户、Item、销售订单都在,采购和财务相关的菜单没有出现,销售账号不需要被一堆用不到的按钮干扰。新建客户和销售订单都很顺利,这一步没有问题。

真正卡住我的是提交。订单填完之后点 Submit,系统提示权限不足。我一开始以为是账号没生效,退出重登还是一样。后来去看角色权限才明白:Sales User 可以创建和修改单据,但提交、作废这类动作通常需要更高的角色,或者要单独在 Permission Manager 里放权。

这件事让我重新理解了权限配置。以前总觉得权限就是“能不能看到菜单”,其实它还决定了业务在谁手里交接。销售能建单,但提交要经理确认,发货要库管处理,开票要走财务,这些动作在系统里都是权限节点。如果配得太松,等于没有控制;配得太紧,单子就会卡在某一步没人能推进。

发货和开票的交接

后来我临时给测试账号加了 Sales Manager,订单顺利提交了。接着创建 Delivery Note 时又遇到同样的问题:销售可以生成发货单,但库存动作不是他的职责范围,所以真正提交发货还是要用库管账号。到 Sales Invoice 这一步也一样,销售能看到单据,但财务相关的提交权限不在他身上。

走完这一圈,我反而不觉得麻烦。门店里本来就不应该让一个人从头做到尾,权限把这个分工固定在了系统里。只是配置之前必须先把岗位职责写清楚,不然测试的时候会觉得到处都被卡。

今天的小结

低权限账号跑流程最大的价值,不是验证系统有没有 bug,而是把“谁负责哪一步”这件事逼出来。ERPNext 的角色模型本身够用,难点在于业务规则要先定。下一步我准备把销售、库管、财务三个岗位的动作画成一张简单流程图,再对照 Odoo 的分组权限看看两边在管理思路上有什么差别。