财务和支付排查手册
本文围绕收付款单、在线支付、退款、白条还款、账户流水排查。适用于“支付成功业务单没变”“付款单重复/缺失”“退款不到账”“账户余额异常”等问题。
适用场景
- 支付中心成功回调后采购单仍待支付。
- 在线支付关闭后未生成退款或采购单状态不对。
- 收款单、付款单状态和业务单据状态不一致。
- 白条还款、专属授信、返利账户异常。
- 重复回调导致财务数据疑似重复。
入口文件
- 财务 PC:
application/controllers/scm/Payment.php、Receipt.php、AccCheck.php - App 财务 code:
application/config/appapis.php - 支付中心回调:
application/controllers/tasks/PayCenterNotify.php - 全车件支付回调:
application/controllers/tasks/QPayCenterNotify.php - 财务报表:
application/Services/Report/AccountPaySer.php、AccountReceiveSer.php - MQ 生产:
application/Services/Mq/MqSer.php
核心表
- 账户流水主表:
t_scm_account - 账户流水明细:
t_scm_account_info - 往月账户流水:
th_scm_account - 收付款主表:
t_scm_payment - 收付款明细:
t_scm_payment_info - 收付款日志:
t_scm_payment_log - 授信还款单:
t_scm_repayment_order - 采购支付明细:
t_scm_po_order_payinfo - 采购主单:
t_scm_po_order
状态和枚举
- 收付款状态:
0已确认,1已提交,2已确认兼容,6已撤销。 - 采购支付类型:
0线下挂账,1在线支付。 - 支付中心事件:
paycenter_pay_result、paycenter_refund_result、paycenter_pay_exception、paycenter_baitiao_return_pay_result。 - 常见交易类型:收款
153001,付款153101,预收款155001,退款155002,余额支出155003,采购订单170401,采购关闭170503。
支付成功排查
- 查支付中心回调消息。
- 事件类型应为
paycenter_pay_result。 - 核对支付单号、业务单号、支付状态、金额。
- 查
t_scm_po_order_payinfo。
- 是否存在对应采购单支付明细。
- 支付状态、支付流水号、金额是否更新。
- 查
t_scm_payment和t_scm_payment_info。
- 是否生成付款单。
- 金额是否和采购单、支付明细一致。
- 状态是否已确认。
- 查采购主单。
- 在线支付成功后,采购单应从待支付推进到后续状态。
- 秒杀/活动来源还要看秒杀订单和活动数量。
- 查账户流水。
- 账户流水是否记录对应交易类型。
- 金额方向是否正确。
退款排查
- 确认触发退款的业务动作:采购关闭、采购退货、支付异常、售后。
- 查退款事件
paycenter_refund_result。 - 查采购单是否进入待退款或已关闭状态。
- 查付款单/账户流水是否有退款方向记录。
- 重复退款回调只应更新一次最终状态,不能重复入账。
线下挂账和在线支付差异
| 维度 | 线下挂账 | 在线支付 | | --- | --- | --- | | 采购支付类型 | PAYMENT_TYPE_NORMAL | PAYMENT_TYPE_ONLINE | | 是否等待支付中心 | 否 | 是 | | 常见状态 | 审核通过后进入待出库 | 创建后进入待支付,成功后推进 | | 财务记录 | 多为挂账/账户流水 | 支付明细、付款单、支付流水 | | 关闭风险 | 关注关闭数量和账户 | 关注退款、超时、重复回调 |
白条和授信
- 白条还款回调看
paycenter_baitiao_return_pay_result。 - 授信还款单看
t_scm_repayment_order。 - 专属授信相关基础表在
BS_EXCLUSIVE_BAITIAO_*、BS_BAITIAO_*。 - 授信问题通常要同时查额度、还款单、支付回调、账户流水。
常用 SQL 模板
-- 采购支付明细
select * from t_scm_po_order_payinfo
where sid = :sid and orderId = :order_id;
-- 收付款主单和明细
select * from t_scm_payment
where sid = :sid and srcOrderNo = :bill_no;
select * from t_scm_payment_info
where sid = :sid and srcOrderNo = :bill_no;
-- 账户流水
select * from t_scm_account
where sid = :sid and srcOrderNo = :bill_no;
select * from t_scm_account_info
where sid = :sid and srcOrderNo = :bill_no;
常用 rg 命令
rg -n "paycenter_pay_result|paycenter_refund_result|paycenter_pay_exception" application/controllers/tasks/PayCenterNotify.php application/KzData/Enums
rg -n "SCM_PAYMENT|SCM_PAYMENT_INFO|PaymentEnums|PoOrderPayInfo" application
rg -n "TRANSTYPE_PAYMENT_RECEIPT|TRANSTYPE_PATMENT_ADD|TRANSTYPE_PAYMENT_RETURN|TRANSTYPE_PAYMENT_YSK" application/KzData/Enums/TransTypeEnums.php
rg -n "baitiao|Baitiao|Repayment|SCM_REPAYMENT_ORDER" application/controllers application/Services application/service
改动风险和回归清单
- 在线支付采购:创建、支付成功、重复回调、超时、关闭退款。
- 线下挂账采购:审核、入账、关闭。
- 销售收款:收款单、账户流水、对账/核销。
- 白条还款:还款单、支付回调、额度变化。
- 报表:供应商往来账、客户往来账、付款/收款报表。