能举电商退款例子吗

电商退款对账Python示例:

import pandas as pd

# 原始数据(假设淘宝结算单)
df_platform = pd.DataFrame({
    '订单号': ['TB-1001', 'TB-1002', 'TB-1003'],
    '金额': [100, 200, 150],
    '退款标志': ['正常', '正常', '退款']
})

# 内部系统数据(含退款单号)
df_internal = pd.DataFrame({
    '内部订单号': ['1001', '1002', '1003'],
    '退款单号': [None, None, 'R-1003'],
    '最终金额': [100, 200, -150]  # 退款负值
})

# 1. 统一订单号格式:淘宝TB-1001 → 1001
df_platform['订单号_clean'] = df_platform['订单号'].str.replace('TB-', '')

# 2. 退款映射:退款单号R-1003 → 原单号1003
df_internal['退款映射'] = df_internal['退款单号'].str.replace('R-', '')

# 3. 合并(用原单号关联)
merged = df_platform.merge(df_internal, left_on='订单号_clean', 
                          right_on='内部订单号', how='outer')

# 4. 核对金额(退款为负则无需特殊处理)
merged['差异'] = merged['金额'].fillna(0) - merged['最终金额'].fillna(0)
print(merged[['订单号', '退款标志', '金额', '最终金额', '差异']])

输出结果

订单号 退款标志 金额 最终金额 差异
TB-1001 正常 100 100 0
TB-1002 正常 200 200 0
TB-1003 退款 150 -150 300

说明:退款订单差异300元是因平台按原价150结算,但内部记录-150(实际需根据合同规则:如退款按原价扣款,差异应为0)。建议按具体业务规则调整金额对比逻辑。