代发单登账及对账逻辑

一、代发单登账逻辑
大部分资金单据登账逻辑比较简单,直接取单头或者分录上的收款金额或者付款金额,但由于代发单业务场景较为复杂:
【场景一】:代发单未提交银企,希望按照单头总金额登日记账。
【场景二】:代发单提交银企支付后,出现部分分录交易成功,部分分录交易失败,银行按实付金额返回交易明细,用户希望代发单按照实发金额登日记账。
【场景三】:代发单提交银企支付后,出现部分分录交易成功,部分分录交易失败,但银行返回的交易流水是先扣掉整单金额,再将失败分录金额汇总退回来,所以希望代发单可以按代发单总金额登日记账。
那么,代发单的登账金额如何根据不同的场景进行调整呢?
本篇帖子着重介绍代发单的登账逻辑:

1、 当代发单点击付款/提交银企时,会登记一条银行日记账,日记账金额取代发单单头总金额;
2、 代发单提交银企后,同时会生成银行代发单:
• 银行代发单点击同步单据状态之后若银行返回部分分录的交易状态为交易失败,此时会更新上游代发单登记的银行日记账金额:在原来的日记账金额(代发单单头总金额)的基础上扣减交易失败的分录行金额合计值。
• 若银行返回部分分录的交易状态为交易未确认状态,后续人工修改单据状态为交易失败也会更新上游代发单登记的银行日记账金额:在原来的日记账金额(代发单单头总金额)的基础上扣减交易失败的分录行金额合计值。
3、 代发单进行银企付款后,对于代发单部分交易失败的场景,有些银行只返回一条实际扣款的交易明细;有些银行会将交易失败的结果返回到具体的代发单分录上,返回一条代发总金额的扣款明细,此外还会返回一笔退款交易流水。这种情况下需要配置按交易明细金额更新代发单日记账金额后台事务,执行后根据代发单单头对账码查找交易明细,如果能找到对账码一致的交易明细,则按照交易明细金额更新日记账金额。
举例说明:比如代发单付款11880元出去,其中有44笔分录,42笔分录交易成功,2笔分录交易失败,交易完成后银行退回一笔付款交易流水11880,一笔退款交易流水540元,实际付款11340元。
1. 当代发单提交银企按照代发单单头总金额登账,此时对应日记账显示的付款金额是11880 ;
2. 当代发单同步单据状态后,有2笔分录交易失败,这两笔失败分录的合计金额为540,此时更新银行日记账金额,在原来的日记账金额的基础上扣减540元,此时对应日记账显示的付款金额是11340;

3. 下载银行交易明细后,查询到一张退款交易明细,收款金额为540元。将收款交易明细接收生成收款单并进行收款之后,会登记一笔收款金额540元到这个付款账户上,此时由于这笔付款产生的日记账金额为-11340+540;而银行对账单上的金额为-11880+540,对账不平。设置按交易明细金额更新代发单日记账金额后台事务并启用后,后台事务执行时根据代发单单头对账码查找交易明细,通过并笔支付查询回来的付款交易明细上的对账码与代发单单头上的对账码一致,就会按照交易明细金额11880更新日记账金额,如此由于这笔代发产生的银行日记账金额和银行对账单金额都是11340,可正常进行银行存款对账。
按交易明细金额更新代发单
代发单登账及对账逻辑
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



