昨天把基础设置补完后,今天本来想直接录新业务。后来想想还是先把价格表和自定义字段试一下,因为门店以后肯定会遇到“同一个配件给不同客户不同价”和“表单想加字段”的情况。结果两个功能都不难,但都各踩了一个坑。
价格表:先想清楚默认用哪张
ERPNext 里的 Price List 分成销售价格表和采购价格表,我建了一张“门店销售价”,并给 Item 设好了价格。第一次去新建 Sales Order 时,单价居然没自动带出来,我还以为是哪里配错了。后来才发现问题出在 Customer 上:客户没有设置默认价格表,系统不知道该用哪一张。
在 Customer 表单里把默认 Selling Price List 选成“门店销售价”后,再录销售订单,价格就自动带出来了。这件事给我的印象挺深:ERPNext 的价格逻辑本身不复杂,关键是“哪个客户用哪张表”要提前配好,否则看起来像 bug,其实是默认值没设置。
自定义字段:直接加,不用进代码
自定义字段我用的是 Customize Form。先给 Purchase Order 加了一个“预计到货日期”,又给 Customer 加了一个“车辆品牌”。操作流程就是:选择表单 → 添加字段 → 设置字段类型和标签 → 保存,前端马上就能看到,不需要部署,也不用改代码。
坑也出在这里。我把“预计到货日期”设成必填后,旧采购单打开保存时直接报错,因为旧记录根本没有这个字段的值。后来改成非必填,只在新建单据时要求填写,才恢复正常。
和 Odoo 比的话,Odoo 里加字段通常要进开发者模式,或者专门建一个自定义模块;ERPNext 的 Customize Form 更直接,适合门店自己慢慢调。但它也有代价:字段加多了,表单会变得很乱,所以还是要克制,只加真正会用的字段。
今天的小结
这两个功能让我觉得 ERPNext 更像一个“能自己改的 ERP”。价格表解决的是价格规则,自定义字段解决的是表单差异,都是不写代码就能完成的定制。但配置之前得先想清楚业务规则,默认值、必填、字段类型这些细节,偷懒的结果就是后面反复改。
明天准备把角色权限按门店员工配一遍,看看能不能做到不同岗位看到不同界面和单据。