“工厂”模块是单独的插件
原料、配方、生产单、库存流水和盘点,要先开通“工厂”插件,这些标签才会出现在菜单里。自己不生产、只是进货转卖的店,也可以只开“采购”一项。
原料
用来做产品的原料台账,跟“菜单 / 商品”不一样——那边是卖给客人的成品。每种原料都有当前库存、最近一次盘点日期和盘点人。最近一次盘点超过30天,这一行会变黄提醒。
库存可以是负数,而且这很正常
系统不强行把库存下限压在零——卖超了,数字就真的是负的,显示成“负库存——超卖”,并给一个链接去看是哪些流水造成的。一个看得见的负数,好过一个撒谎的零。
单位平均成本只给持有 factory.costs 权限的人看。没有这项权限,成本栏就是空的,而不是显示一个假的“฿0”或“฿—”。
配方(BOM)
产品的配方/用料表,说明做一件产品要用哪些原料、各多少。每份配方有状态:启用中 / 草稿 / 已归档,并且自带版本号——改动启用中的配方会生成新版本,不覆盖旧版,这样旧的生产单仍然能准确指向当时用的那份配方。
生产单
按设定好的配方真的开工生产——做完后,系统按配方自动从库存里扣原料。原料不够时,系统会列出缺的是哪几样(short_material),并给一个链接去“原料入库”页,而不是干巴巴丢一句“操作失败”。
与配方的差异——实际生产用的原料比配方多或少,系统会把这个差额记下来,叫“与配方的差异”,而不是“损耗”。因为配方本身出错的可能,和干活的人出错的可能一样大。
库存流水
按时间顺序记录全店原料和商品的出入库,用来回头查什么东西在什么时候进出、是谁记的。每一行都标着记录人的名字——因为店里还没有自动秤/自动扫码设备,每个数字都是人手工敲进去的。
盘点
把实盘数量和系统里的数字对一遍,多了少了就调平。不写理由就调数,系统不让保存(variance_reason_required)——差异理由是必填的。
采购
请购、审批、下单把货买进店里。这跟“员工报销单”是两回事——那个是把员工自己垫的钱还给他。完整路径是:请购 → 审批 → 开采购单 → 收货入库 → 挂应付账款。
一步一步来
- 请购——任何员工都能开请购单,写明品项和数量。
- 审批——持有 purchase.approve 的人批准或驳回。多大金额需要哪种权限,可以在“审批规则”里自己定(什么都不设 = 默认所有金额都要 purchase.approve)。
- 开采购单——持有 purchase.order 的人向供应商名录里选出的供应商开采购单。
- 收货入库——持有 purchase.receive 的人确认货真的到了,再按当初下单的类别把它收成资产或原料。
- 挂账/记录付款——持有 purchase.payables 的人在“应付账款”里接着处理。
这三项权限必须由店主逐个授出,系统不会自动给任何人
purchase.approve、purchase.order、purchase.payables 没有任何角色会自动持有,连“店长”也没有——只有店主(全权 *)永远能通过。你得自己到“角色与权限”页把这些权限发给员工,否则每一步都会卡在店主一个人身上。
供应商
店里进货往来的供应商名录——开采购单时从这里选,应付账款也按家挂在这上面。
应付账款
店里还欠供应商的钱,接在已收货的采购单后面。要有 purchase.payables 权限才能记录付款或销账。这一页的数字永远挂在真实的采购单上,不是另外手工敲进去的金额。