采购

职责:供应商;果农原料 / 成品半成品采购;确认归档入库;财务可驳回;与销售显式关联供财务看板。
边界:分选改 SKU 走加工;请款/发票/费用见财务。确认/驳回见 14-库存确认契约.md
对照:线下 #1 / #2 见 13-线下单据映射.md

线下 purchases.type
果农原料分级结算单 raw
常规采购单 goods

供应商

表:suppliers

字段 说明
id 主键
name 名称
type farmer / processor / other
contact / mobile / address 可空
bank_name / bank_account / account_name 请款收款户,可空;开票四要素见开票资料
status 启用 / 停用
remark 可空
created_at / updated_at / deleted_at 时间戳;软删除

开票资料:morphMany invoice_profiles(见 08-财务.md),不写在本表。

采购单

表:purchasespurchase_no 唯一

字段 说明
id 主键
purchase_no 全局唯一
type raw / goods
supplier_id 供应商
product_id 归属产品,可空
warehouse_id 入库仓
business_date 业务/到货日
batch_no / plate_no / origin 可空
status draft / confirmed / cancelled
freight_fee 运费
total_amount 明细合计,不含运费
invoice_complete 是否开票完毕(人工勾选,可空/默认 false)
rejected_at / rejected_by / reject_reason 最近财务驳回,可空
source wecom / web / manual
operator_id 采购员
accepted_at / acceptor_id / accept_remark 验收,可空
remark 可空
created_at / updated_at / deleted_at 时间戳;软删除

明细 purchase_items

字段 说明
id 主键
purchase_id 采购单
sku_id / unit SKU / 单位
sku_name 开单时名称快照
sku_snapshot 开单时 SKU 快照 JSON:name / code / grade / spec / form / source / product_id
quantity 件数
weight_kg 重量 kg
unit_price 元/kg
amount 行金额
remark 可空

果农按等级结算:明细多行不同等级 SKU。统货再分选产出写在加工单。
选/改 SKU 时写入 sku_namesku_snapshot;确认后只读。展示与对账用快照,库存仍按 sku_id

采销关联

表:purchase_order_links
唯一(purchase_id, order_id)。不自动按「同产品同日」猜测。

字段 说明
id 主键
purchase_id 采购单
order_id 销售单
created_at 时间

可在采购或销售界面维护;财务看板只读此关联。

状态机

draft → confirmed           # purchase_in,见 14;归档
confirmed → draft           # 仅财务驳回:冲销后回草稿
draft → cancelled
  • draft:可改;可等扣损/议价结果后再最终确认。
  • confirmed:业务只读;财务看看板、审发票、请款。

确认 / 驳回副作用

  • 确认:见 14「采购确认」。
  • 财务驳回:见 14「财务驳回采购」。

财务看板(只读汇总)

针对已 confirmed 采购单,界面计算展示(可不落库):

指标 算法要点
关联销售数量/重量 purchase_order_links → 销售明细 quantity / weight_kg(或到仓重,约定一种)合计
采销差 采购明细合计 − 关联销售合计(件数、重量分列)
粗利润 / 利润率 关联销售 payable_amount 合计 −(本采购 total_amount + 运费 + 分摊到本单的已确认业务费用)等;利润率 = 利润 / 销售收入;阈值见 finance_thresholds
发票情况 关联已 approved 采购发票金额合计 vs 本单金额;以及 invoice_complete

请款时以上作提示,默认不阻断批准(见财务)。

阈值配置 finance_thresholds

字段 说明
id 主键
name min_profit_rate
value 数值
remark 可空
updated_at 时间

也可用简单 config;与 loss_params 同类。

维护方式

  1. raw/goods 草稿 → 改到扣损/价格确认 → 确认归档
  2. 维护 purchase_order_links
  3. 分选:加工单挂 purchase_id
  4. 采购发票、费用单、请款:见 08-财务.md

验收标准

  • [ ] raw/goods;确认入库、财务驳回冲销回草稿。
  • [ ] 显式采销关联;财务看板含采销差、利润率提示、发票情况。
  • [ ] draft 阶段可改后再确认。

V1 / 延后

V1 延后
上表 + 看板计算 采购运费资本化进存货;自动猜采销对应