4. 应收应付业务流程
应收应付审计的起点不是账簿,而是业务流。账龄是否真实、核销是否异常,取决于订单、发货、开票、收付款与核销之间是否形成可验证的闭环。若业务流与财务流脱节,账龄就会被“技术性修饰”,异常核销也会被掩盖。本节以“三单匹配”为主线,拆解应收应付全流程的关键控制点,并给出审计取数思路。
一、核心原理:业务流、票据流、资金流的三流合一
应收应付的本质是“权责发生制”与“收付实现制”的差异管理。订单代表意图,发货/收货代表履约,开票代表纳税义务与债权确认,收付款代表资金交割,核销则是将资金与债权债务进行对应。审计关注的是:每一笔核销是否有真实业务支撑,账龄是否按“先到期先核销”或“指定核销”规则准确计算。
三流合一检查公式:
订单号 → 发货单号 → 发票号 → 收款/付款单号 → 核销单号
若任一环节缺失或金额、日期、客户/供应商不一致,
则存在“提前确认收入”“延迟确认成本”“虚假核销”风险。
关键控制点包括:订单审批与信用额度控制、发货与签收确认、开票与收入确认时点、收款认领与客户匹配、付款审批与供应商匹配、核销规则与账龄重算。审计时需获取业务系统、发票系统、资金系统与总账的关联字段,才能穿透验证。
二、方法流程:审计取数与核销验证步骤
审计人员应按以下步骤获取数据并验证核销逻辑,避免仅依赖财务账龄表。
- 获取全量明细:从业务系统导出订单、发货、开票、收付款、核销五类明细,保留主键与关联字段。
- 建立关联视图:以订单号、发票号、客户/供应商编码为键,拼接形成“业务-财务”宽表。
- 重算账龄:按核销规则(先到期先核销或指定核销)重新计算每笔余额的账龄,与系统账龄表比对。
- 识别异常核销:筛选“无业务支撑的核销”“跨客户/供应商核销”“同金额反向核销”“期末大额核销期初反冲”等模式。
- 穿行测试:抽取样本,从订单到收款/付款全链路核对日期、金额、签收与审批记录。
取数示例(SQL 伪代码):
SELECT o.order_no, d.delivery_no, i.invoice_no,
r.receipt_no, w.writeoff_no,
o.amount AS order_amt, i.amount AS inv_amt,
r.amount AS recv_amt, w.amount AS wo_amt
FROM orders o
LEFT JOIN deliveries d ON o.order_no = d.order_no
LEFT JOIN invoices i ON d.delivery_no = i.delivery_no
LEFT JOIN receipts r ON i.invoice_no = r.invoice_no
LEFT JOIN writeoffs w ON r.receipt_no = w.receipt_no
WHERE o.customer_code = 'C001';
三、案例/场景:一笔“完美核销”背后的账龄操纵
某制造企业期末应收账款账龄显示 1 年以内占比 92%,但审计发现:12 月 31 日有一笔 800 万元收款,对应核销了 5 笔不同客户的发票,其中 3 笔发票实际发货日期在次年 1 月。进一步追查银行流水,该笔资金在次年 1 月 3 日原路退回。这是典型的“期末虚假回款、期初反冲”操纵账龄。
审计应对:核对收款银行流水日期与记账日期是否一致;检查核销是否跨客户、跨发票;关注期后大额红字冲销。若发现核销单与收款单金额、客户不匹配,应扩大样本并评估坏账准备充分性。
常见误区:只看账龄表数字,不穿透核销明细;默认系统核销规则正确;忽略预收/预付冲抵对账龄的影响;未关注关联方之间无商业实质的核销。
四、关键控制点清单与复盘
| 环节 | 关键控制点 | 审计验证方法 | 异常信号 |
|---|---|---|---|
| 订单 | 信用额度、价格审批、客户准入 | 检查审批流与信用余额 | 超额度发货、关联方低价 |
| 发货/收货 | 签收单、质检单、出库单一致 | 三单匹配、日期比对 | 发货日期晚于开票日期 |
| 开票 | 收入确认时点、税额准确 | 发票与发货、合同核对 | 提前开票、跨期确认 |
| 收付款 | 资金认领、客户/供应商匹配 | 银行流水与记账日期核对 | 期末大额收款期初退回 |
| 核销 | 核销规则、指定核销审批 | 重算账龄、检查跨客户核销 | 无业务支撑核销、反向冲销 |
| 账龄 | 先到期先核销、余额准确 | 独立重算并与系统比对 | 账龄跳档、长账龄突减 |
复盘时,审计人员应形成“流程-控制-测试-发现”的闭环底稿。重点记录核销规则是否被绕过、账龄重算差异率、异常核销金额占比。只有将业务流与财务流打通,才能识别出真正影响坏账准备与资金安全的异常核销。