上一篇把销售这条线跑通之后,我其实挺想直接往下学的。但上次建 Item 时因为默认仓库不对,库存记错了地方,所以今天先忍住了,回头把公司、仓库和基础资料重新理了一遍,再跑采购流程。事实证明这个顺序是对的。
先把基础设置补完
ERPNext 装好后默认会有一个叫 Your Company 的公司,仓库也只有一个默认仓库。我这次主要做了三件事:把公司名称改成自己门店的名字,把默认仓库改成实际的主仓,再给 Item 补上默认仓库和默认采购单位。
看起来都是很小的设置,但实际做起来要注意顺序。比如我一开始先改了 Item 的默认仓库,再回去改公司名称,结果单据上有些字段还是显示旧名称,要重新打开才能刷新。后来我把公司、仓库、账户这类设置当成“先决条件”处理,改完基础资料再录业务单据,就没有再出现这种串数据的问题。
还有一个小坑:Item 里的 UOM 和采购 UOM 是分开的。我第一次只在 Item 主界面设了基本单位,采购订单里选单位的时候又用了另一个单位,收货数量看起来就“多了一截”。其实不是库存多了,是换算关系没设清楚。ERPNext 里如果两个单位没建换算,系统会默认按 1:1 处理,做采购单之前最好先确认清楚。
采购入库流程的实际体验
基础资料整理完后,我按“供应商 → 采购订单 → 采购收货 → 采购发票 → 付款”的顺序跑了一遍。和销售流程很像,每张单据都要 Submit,提交后就锁定,不能随意改。
让我印象比较深的是采购收货这一步。在 ERPNext 里,Purchase Order 提交后不会直接产生库存,只有做了 Purchase Receipt,库存账才会真正增加。我第一次做完收货,去 Item 的库存余额里看,发现数量确实变了,才确认链路是通的。这一点和 Odoo 的逻辑类似,都是“单据确认不等于库存动作”,但 ERPNext 把收货做得更明确,生成后还会在单据上显示 Received Qty 和 Ordered Qty,一眼就能看出还差多少没到货。
当然也踩了坑。采购发票我一开始直接照着收货数量填,后来发现发票金额按供应商的价格算,和收货数量不是一回事。核对了几遍才明白:数量走库存,金额走应付,两张单各自管各自的事,最后再通过付款把账结掉。
今天的小结
今天最大的体会是:ERPNext 不是一个“先录单再看”的系统,基础资料整理得越细,后面业务流程越顺。采购和销售虽然都是单据链,但采购更依赖供应商、价格、单位这些基础数据,基础设置偷懒,后面就得反复改。
明天准备试一下价格表和自定义字段,看看不写代码的情况下能把表单定制到什么程度,再和 Odoo 的同类操作做个对比。