订单

职责:客户;销售(简易/完整)、买断、退货/拒收;确认归档出/入库;财务可驳回。
边界:账期对账导出在数据分析。确认/驳回见 14-库存确认契约.md
对照13-线下单据映射.md #4–#6、#13、#15。

线下 系统
出库发货单 确认 → sale_out;物流在本单
财务销售单 settlement=full(草稿阶段录扣点/到仓)
对外销售对账单 settlement=simple
销售退货单 type=return / reject
扣损 明细扣损重 + 调整行,确认前录完

客户

表:customers

字段 说明
id 主键
name 渠道名
type external / internal
settlement_default simple / full,可空
contact / mobile / address 可空
status 启用 / 停用
created_at / updated_at / deleted_at 时间戳;软删除

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

订单

表:ordersorder_no 唯一

字段 说明
id 主键
order_no 全局唯一
type external / buyout / return / reject
settlement simple / full(录入模板;不改变归档规则)
parent_id 退货/拒收时必填
related_purchase_id 买断必填:对方 purchases.id
customer_id 客户/渠道
product_id 归属产品,可空
warehouse_id 出库仓或退货入库仓
business_date 发货/业务日
delivery_date 交仓日,可空
status draft / confirmed / cancelled
finance_settled_at 财务结算完成标记,可空(非业务改单窗口)
freight_fee 运费
total_amount 明细合计(不含运费、不含调整)
adjust_amount 调整合计(可负)
payable_amount 应收口径
driver_name / driver_mobile / plate_no 可空
receiver_name / receiver_mobile / receiver_address 可空
rejected_at / rejected_by / reject_reason 最近一次财务驳回,可空
source wecom / web / manual
operator_id 操作人
remark 可空
created_at / updated_at / deleted_at 时间戳;软删除

明细 order_items

字段 说明
id 主键
order_id 订单
sku_id / unit SKU / 单位
sku_name 开单时名称快照
sku_snapshot 开单时 SKU 快照 JSON:name / code / grade / spec / form / source / product_id
quantity 件数
weight_kg 出库重量 kg(确认出库以此为准)
received_weight_kg 到仓重,可空(draft 录完
loss_weight_kg 扣损重,可空(draft 录完
unit_price 元/kg
amount 行金额
remark 可空

选/改 SKU 时写入 sku_namesku_snapshot;确认后只读。展示与对账用快照,库存仍按 sku_id

调整行 order_adjustments

settlement=full 常用;仅 draft 可增删改

字段 说明
id 主键
order_id 订单
type compensate / ticket_discount / rebate / logistics_fee / quality_deduct / other
title 说明
amount 可负
created_at 时间

状态机

draft → confirmed              # 销售/买断 sale_out;退货/拒收 return_in(见 14);归档
confirmed → draft              # 仅财务驳回:冲销库存后回草稿(必填 reject_reason)
draft → cancelled
  • draft:业务可改量价、物流、到仓/扣损、调整行。
  • confirmed:业务只读;财务可驳回或标记 finance_settled_at、开销售发票等。
  • 买断:确认前须有有效 related_purchase_id

确认 / 驳回副作用

  • 确认:见 14「销售/买断确认」「退货/拒收确认」。
  • 财务驳回:见 14「财务驳回销售…」;写驳回字段;status=draft

维护方式

  1. 业务开单(simple/full)→ 草稿内改到满意(含扣损/扣点)→ 确认归档
  2. 需再改:财务驳回 → 业务改 → 再确认。
  3. 与采购对应:由采购侧或双方维护 purchase_order_links(见采购)。
  4. 账期对账导出:数据分析。

验收标准

  • [ ] 确认前可改、确认后业务不可改;财务驳回回草稿并冲销库存。
  • [ ] settlement 仅影响录入模板;买断有 related_purchase_id
  • [ ] 确认写出库/入库流水,符合 14。

V1 / 延后

V1 延后
上表状态机与流水 销售在途、一张销售单多 customer 明细行(多渠道各开一条费用)