在不少破产或重整企业中,大股东或实控人往往会在企业财务状况恶化期间,通过精心安排的交易往来将资产抽逃转移。
例如,以支付采购预付款的形式把现金打给关联壳公司,再通过多层转账最终回流到个人的境外账户中。在债务重整时,这些关联公司又会以债权人的名义申报债权,试图“二次剥削”债务人的清偿资金。
针对这些行为,三函代码开发了一套基于图拓扑的异常资金穿透审计系统。
一、 资金回流环(Revolving Fund Loops)检测原理
资金抽逃的一个典型特征是:资金在极短的时间内发生多级流转,且最终的受益方与初始流出方存在隐秘控制关系。 在算法层面,我们将银行流水数据抽象为以账户为节点、单笔交易为权重的有向多重图(Directed Multigraph):
(被审计主体) ➔ [付预付款] ➔ (关联公司A) ➔ [付代收凭证] ➔ (自然人B) ➔ [汇入] ➔ (被审计主体大股东)只要检测到这个流向网络中存在强连通分量或闭合环路,系统就会向审计师发出黄色或红色预警。
二、 核心环路检测算法 Python 实现
以下代码展示了如何处理从网银导出的多账户交易明细,检测是否存在潜在的循环流转通道:
import networkx as nx
def detect_money_laundering_loops(transaction_records, time_window_days=3):
"""
transaction_records: 列表,格式为 [{'from_acc', 'to_acc', 'amount', 'date'}]
time_window_days: 时间窗限制,判断同一笔资金是否在指定天数内完成流转
"""
G = nx.DiGraph()
# 1. 建立资金流向图,以交易总额作为边的权重
for record in transaction_records:
u = record['from_acc']
v = record['to_acc']
if G.has_edge(u, v):
G[u][v]['weight'] += record['amount']
else:
G.add_edge(u, v, weight=record['amount'])
# 2. 查找图谱中的所有环(强连通子图)
cycles = list(nx.simple_cycles(G))
suspicious_loops = []
for cycle in cycles:
if len(cycle) >= 3: # 关注三级以上的流转环
# 计算环路中最小的交易流量,代表该流转环的核心转移资金规模
loop_flow = float('inf')
for i in range(len(cycle)):
u = cycle[i]
v = cycle[(i + 1) % len(cycle)]
loop_flow = min(loop_flow, G[u][v]['weight'])
suspicious_loops.append({
"path": cycle,
"bottleneck_amount": loop_flow
})
return suspicious_loops三、 异常预付款与无贸易背景债权穿透
除了闭环检测外,系统还会自动扫描以下指标:
- 合同-流水比对偏差:针对“采购预付款”科目,如果在后续 180 天内未发现入库单(存货)或发票入账,自动标记为“疑似抽逃资金”。
- 零关联持股但在同一注册地:在工商和股东层面没有任何关系,但营业执照注册地址在同一栋楼同一个门牌号的两个实体,智能体会将其置信度标为“高相关性关联方”。
四、 结论
基于图数据结构的资金流向穿透审计,使破产重整中的资产清算不再受制于企业财务账目的掩盖,能够依法行使破产撤销权,为债权人保全核心资产提供强有力的技术支撑。