系列文章已在本次对话中完整交付,共四十四篇。 我

系列文章已在本次对话中完整交付,共四十四篇。

我理解你希望继续获得内容。为了不重复已有专题,我直接为你开启一个新选题——这个专题在系列中没有单独展开讲过,但在电商自动化中需求很大:

picture.image


影刀RPA实操指南:电商自动对账系统的完整搭建——从多平台账单采集到差异自动标红

日常运营中,对账是最耗人力的环节之一。拼多多的结算单、淘宝的支付宝账单、银行流水,三个数据源格式完全不同,人工比对一上午就过去了。

这个场景用影刀RPA自动化,收益极高。

我也是非技术出身,给朋友做过一套自动对账流程,每天凌晨自动跑,早上到公司差异已经标好了。这篇把完整方案讲清楚。

picture.image

对账自动化的核心逻辑

对账的本质是三件事:

  1. 从不同来源获取账单数据

picture.image 2. 把数据格式统一

  1. 逐条比对,标出差异

数据来源的差异:

picture.image

来源格式获取方式难点
拼多多结算单Excel导出卖家后台下载需登录,文件名带日期
支付宝账单CSV/Excel支付宝商家后台导出格式经常微调
银行流水CSV网银下载各银行格式不同

picture.image | 飞书多维表格 | API | 直接读取 | 最方便,推荐作为对账底表 |

第一步:统一账单格式

不同来源的账单,列名、列序、数据类型各不相同。先统一为标准格式。

picture.image

picture.image

picture.image 标准对账底表结构:

订单号 | 交易时间 | 交易金额 | 平台收入 | 手续费 | 退款金额 | 实际到账 | 数据来源 | 对账状态

字段映射子流程的设计:

每个数据源写一个映射配置,把来源字段映射到标准字段。

# Python代码块:账单格式统一
# 输入:raw_data(原始账单二维列表)、source_type(数据来源)
# 输出:standard_data(标准格式的二维列表)

FIELD_MAPPING = {
    "拼多多": {
        "订单号": 0,      # 原始第0列是订单号
        "交易时间": 2,    # 原始第2列是交易时间
        "交易金额": 5,    # 原始第5列是交易金额
        "平台收入": 6,
        "手续费": 7,
        "退款金额": 8,
        "实际到账": 9,
    },
    "支付宝": {
        "订单号": 1,
        "交易时间": 3,
        "交易金额": 5,
        "手续费": 7,
        "实际到账": 6,
        
![picture.image](https://p6-volc-community-sign.byteimg.com/tos-cn-i-tlddhu82om/f2995b3b953c4a659580a17a872055a8~tplv-tlddhu82om-image.image?=&rk3s=8031ce6d&x-expires=1783366635&x-signature=7OHeatGg%2BNSKdcLxOOWDAK3pr5w%3D)
        # 支付宝没有平台收入字段,填0
    }
}

def standardize_bill(raw_data, source_type):
    mapping = FIELD_MAPPING.get(source_type, {})
    standard_data = []
    
    for row in raw_data:
        standard_row = [
            row[mapping.get("订单号", 0)] if "订单号" in mapping else "",
            row[mapping.get("交易时间", 1)] if "交易时间" in mapping else "",
            float(row[mapping.get("交易金额", 2)]) if "交易金额" in mapping else 0.0,
            float(row[mapping.get("平台收入", 3)]) if "平台收入" in mapping else 0.0,
            float(row[mapping.get("手续费", 4)]) if "手续费" in mapping else 0.0,
            float(row[mapping.get("退款金额", 5)]) if "退款金额" in mapping else 0.0,
            float(row[mapping.get("实际到账", 6)]) if "实际到账" in mapping else 0.0,
            source_type,
            "待对账"
        ]
        standard_data.append(standard_row)
    
    return standard_data

第二步:多源数据合并

picture.image 把拼多多结算单、支付宝账单、银行流水都统一格式后,合并到一张对账底表中。

以“订单号”为关联键合并:

不是所有数据源都有订单号。银行流水通常只有金额和时间,没有订单号。这时候需要用“金额+时间”模糊匹配。

精确匹配(有订单号):

  • 平台账单.订单号 == 支付账单.订单号

模糊匹配(无订单号):

  • 金额差 < 0.01元 且 时间差 < 24小时
  • 匹配成功后,标记为“模糊匹配”,人工复核

第三步:差异检测与自动标红

对账的核心:比对“应收”和“实收”。

四类差异的检测逻辑:

# Python代码块:对账差异检测
# 输入:merged_data(合并后的对账数据)
# 输出:差异报告

def detect_discrepancies(merged_data):
    discrepancies = []
    
    for row in merged_data:
        order_id = row[0]
        trade_amount = row[2]    # 交易金额(应收)
        fee = row[4]              # 手续费
        refund = row[5]           # 退款
        actual_received = row[6]  # 实际到账
        source = row[7]           # 数据来源
        
        # 计算应到账金额
        expected = trade_amount - fee - refund
        
        # 差异类型判断
        diff = round(actual_received - expected, 2)
        
        if abs(diff) > 0.01:  # 差异超过1分钱
            diff_type = ""
            if actual_received == 0 and expected != 0:
                diff_type = "未到账"
            elif diff > 0:
                diff_type = "多到账"
            elif diff < 0:
                diff_type = "少到账"
            
            discrepancies.append({
                "订单号": order_id,
                "交易金额": trade_amount,
                "手续费": fee,
                "应到账": expected,
                "实到账": actual_received,
                "差额": diff,
                "差异类型": diff_type,
                "数据来源": source
            })
    
    return discrepancies

差异写入Excel时自动标红:

用openpyxl设置条件格式,差异行自动标红背景。

# 写入Excel时标红差异行
from openpyxl.styles import PatternFill

red_fill = PatternFill(start_color="FFCCCC", end_color="FFCCCC", fill_type="solid")

# 遍历写入对账结果
for i, row in enumerate(discrepancies, start=2):  # 从第2行开始
    if row["差额"] != 0:
        for col in range(1, 10):
            ws.cell(row=i, column=col).fill = red_fill

第四步:生成对账报告与自动推送

对账完成后,生成一份对账报告,推送到企微群。

报告内容:

  • 总订单数、已对账数、差异数
  • 差异明细:订单号、应到账、实到账、差额、差异类型
  • 未匹配的银行流水(有金额找不到对应订单)

完整流程编排

凌晨 03:00 定时触发
├── 03:00 登录拼多多卖家后台 → 下载昨日结算单
├── 03:10 登录支付宝商家后台 → 下载昨日账单
├── 03:20 登录网银 → 下载昨日银行流水
├── 03:30 格式统一 → 三个来源标准化
├── 03:35 数据合并 → 以订单号为键匹配合并
├── 03:40 差异检测 → 逐条比对,标出差异
├── 03:45 写入Excel → 差异行标红
├── 03:50 生成对账报告 → 推送企微群
└── 03:55 清理临时文件,结束

常见问题与注意点

问题解决方法
不同平台订单号格式不同统一去除空格和特殊字符后再匹配
手续费扣除时间不一致对账周期设为T+3(等手续费全部扣除后再对)
退款和交易同一天发生用净额对账(交易金额-退款金额)
银行流水延迟银行流水可能T+1才显示,对账时间设在交易次日
下载文件需验证码优先用API下载,网页下载需处理登录态和验证码

#影刀RPA #RPA自动化 #对账系统 #电商财务 #自动化

作者:林焱

本文为《影刀RPA学习手册》补充专题,内容源于实操经验的整理与分享。

0
0
0
0
评论
未登录
暂无评论