什么是采购订单?PO与发票的区别及三单匹配
采购订单构成了怎样的承诺、它与发票有何不同,以及如何通过与收货单进行三单匹配来防止本会发生的超额付款。
采购订单(purchase order)是你发给供应商的文件,上面写明了你想买什么、什么价格、多少数量以及何时交货。这是买方的文件;而发票则是卖方的文件。理清这个方向,就能理解接下来的大部分内容。
它的目的是在资金承诺做出之前明确采购决策,而不是等发票到了才发现问题。
PO 与发票
| 采购订单 (Purchase order) | 发票 (Invoice) | |
|---|---|---|
| 签发方 | 买方 | 卖方 |
| 内容 | “我们同意购买此项物品” | “你方欠我们这笔钱” |
| 时效 | 交货前 | 交货时或交货后 |
| 会计影响 | 无 | 确认费用和应付账款 |
| 约束力 | 购买承诺 | 付款的法律主张 |
这个“无”正是大多数解释所忽略的关键点。采购订单产生的是承诺(commitment),而不是负债(liability)。此时尚未收到任何货物,未发生任何费用,总账(general ledger)中也不会出现任何记录,因为在权责发生制(accrual accounting)下,费用是在收到货物或服务时产生,而不是在订购时产生。
承诺对管理层来说依然重要:40,000 € 的未结订单意味着即将流出的资金,预算负责人必须看到这些数据。但它属于承诺报告,而不是资产负债表(balance sheet)。
单据链条
规范的采购流程会按顺序产生三份单据:
- 采购订单 - 我们同意购买的内容。在任何事情发生之前签发并批准。
- 收货单 - 实际到货的内容,由收货人在交货时记录。
- 供应商发票 - 我们被收取费用的单据。
每一份单据回答一个不同的问题,而它们的价值来自于相互比对。
三单匹配
将这三份单据进行匹配,四种代价高昂的错误在付款前就会显现出来:
- 已开票但从未订购 - 未经授权的采购,或属于其他人的发票。
- 已开票但从未收货 - 为未到货的商品付款。
- 开票数量多于收货数量 - 数量多计,或部分交货却按全额开票。
- 开票价格错误 - 按标价而非约定价格开票,或者暗中加价。
如果三单在容差范围内一致,发票就可以机械化地审批付款。如果不一致,不匹配项本身就是需要审核的项目,这比让人工肉眼审核每张发票并祈祷不出错要有用得多。
Nordlet 实现了匹配功能。POST /v1/purchases/invoices/match 接收与采购订单关联的发票以及一个 priceTolerancePercent(价格容差百分比),然后进行逐行比对,并为每一行返回一个裁决结果:
| 裁决结果 | 含义 |
|---|---|
matched |
订购、收货和开票在容差范围内一致 |
not_on_order |
发票行没有对应的订单行 |
not_received |
已开票,但该行没有任何收货记录 |
over_invoiced |
开票数量超过收货数量 |
price_mismatch |
单价与订单的差异超出了容差范围 |
只有每一行都匹配,整体批次裁决结果才会是 matched。每行报告订购、收货和开票数量,外加两个单价和差异百分比,从而将差异量化,而不仅仅是标记出来。如果订单和发票都引用了目录中的商品,则按商品进行行比对;否则按描述进行比对。
设置容差是有意为之:四舍五入或货币换算导致的 0.3% 价格差异不应阻止付款运行,而 15% 的涨幅则应该阻止。
订单生命周期
订单经历的是明确的状态流转,而不是单一的“打开/关闭”标志:draft(草稿)→ submitted(已提交)→ approved(已批准),随后随着货物到达变为 partially_received(部分收货)→ received(已收货),最终以 closed(已关闭)结束,且 cancelled(已取消)状态在整个过程中随时可用。
这种细颗粒度正是实现匹配的基础。收货记录是通过 POST /v1/purchases/receipts/create 针对订单行进行记录的,这会累积每行的收货数量——这是三单比对中的中间数字,也是那些直接从订单跳到发票的公司完全缺失的环节。
收货也会对库存产生影响:对于库存商品,收货会将数量和成本引入库存,成本将一直停留在库存中,直到商品售出。
为什么说 PO 必不可少
采购订单增加了流程,而流程是有成本的。在以下情况下,它们物有所值:
- 付款人以外的人员可以承诺支出。 PO 就是审批凭证,在承诺产生之前就已被捕获。
- 货物与发票分开到达。 如果没有收货记录,“到了吗?”这个问题只能靠记忆来回答。
- 价格是协商确定的。 PO 是约定内容的证据,也是核对发票的参考依据。
- 预算负责人需要前瞻性的可见性。 未结订单就是已承诺支出的管道。
对于两人的公司购买软件订阅来说,这属于管理开销;但对于从二十个供应商处采购库存的公司来说,它不可或缺。这两种答案都没有错,错误的在于执行流程时却从不利用它赖以实现的匹配功能。
FAQ
采购订单是具有法律约束力的合同吗?
通常情况下,一旦供应商接受它,它就具有约束力,并按其条款形成合同——这就是为什么 PO 应该包含价格、数量、交货日期和付款条款的原因。具体的处理方式取决于国家合同法以及现有的任何框架协议。
采购订单会产生会计分录吗?
不会。它是一项承诺,而不是一笔交易:尚未收到任何货物,也尚未产生付款义务。第一笔总账分录出现在收到货物或登记供应商发票时。
双单匹配与三单匹配有什么区别?
双单匹配比较采购订单和发票——即订购的价格和数量。三单匹配则加入了收货单,因此你还要核实你所支付的货物是否真的送达了。服务类采购通常使用双单匹配,因为没有什么实体需要接收。
如果发票与订单不符会怎样?
匹配功能会按行返回具体原因——未订购、未收货、多开票或价格不符——并附带数量和差异。这将成为向供应商质询的依据;付款将暂停,直到问题解决或开具贷项通知单(credit note)。
一个采购订单可以有多张发票吗?
可以,这在部分交货的情况下很常见——这也是为什么订单生命周期包含 partially_received 状态并且收货会累积每行收货数量的原因。每张发票都是针对迄今为止已收到的货物进行匹配,而不是针对整个订单。