影刀RPA POS收银系统自动化:门店销售数据自动汇总
作者:林焱 | 分类:影刀RPA新手教程 | 难度:★★
什么情况用
连锁门店使用不同品牌的POS收银系统(思迅、银豹、客如云等),总部财务每天要登录各门店POS后台导出销售数据做汇总对账。如果有50家店,光登录导出就要花3小时。
用影刀RPA自动登录各门店POS管理后台,定时导出营业报表,统一格式汇总到Excel。财务人员早上上班就能看到前一天的汇总数据。
怎么做
第一步:维护门店账号清单
在Excel中建一张门店配置表:
拼多多店群自动化报活动上架!
| 门店编号 | POS系统 | 管理后台URL | 账号 | 密码(加密) | 营业时间 |
|---|---|---|---|---|---|
| SH001 | 思迅 | pos.sixun.com.cn | admin01 | **** | 10:00-22:00 |
| SH002 | 银豹 | pos.pospal.cn | admin02 | **** | 09:00-21:00 |
| BJ001 | 客如云 | pos.keruyun.com | admin03 | **** | 11:00-23:00 |
第二步:登录POS后台并导出报表
影刀操作动作(以思迅为例):
- 【打开网页】→ POS管理后台URL
- 【填写】→ 账号输入框
- 【填写】→ 密码输入框(从影刀凭证管理读取)
- 【点击】→ 「登录」
- 【等待元素】→ 首页加载完成
- 【点击】→ 「报表中心」→ 「营业日报」
- 【填写】→ 选择日期(昨天)
- 【点击】→ 「导出Excel」
- 【文件操作】→ 将下载文件移动到指定文件夹
不同的POS系统页面结构不同,需要分别录制登录和导出流程。可以用影刀「子流程」封装,主流程循环调用:
# 影刀Python节点:统一处理不同POS导出的数据importpandasaspdimportosdefparse_pos_file(filepath,store_id,pos_type):"""统一解析不同POS系统的导出文件"""ifpos_type=="思迅":df=pd.read_excel(filepath,skiprows=3)# 思迅前三行是标题行df.columns=["商品类别","销售数量","销售金额","折扣金额","实收金额"]elifpos_type=="银豹":df=pd.read_excel(filepath,sheet_name="汇总")df.columns=["类别","数量","金额","优惠","实收"]elifpos_type=="客如云":df=pd.read_csv(filepath,encoding="gbk")df.columns=["分类","销量","营业额","折扣","净收"]else:raiseValueError(f"未知POS类型:{pos_type}")df["门店编号"]=store_id df["数据日期"]=pd.Timestamp.now().date()-pd.Timedelta(days=1)returndf# 示例print(f"处理完成:{store_id}({pos_type})")第三步:数据校验
# 校验关键指标defvalidate_daily_data(today_data,historical_avg):"""检查异常数据"""today_total=today_data["实收金额"].sum()iftoday_total==0:returnf"⚠️ 门店{store_id}昨日营收为0,请确认是否正常营业"ifhistorical_avg>0:deviation=abs(today_total-historical_avg)/historical_avgifdeviation>0.5:# 波动超过50%returnf"⚠️ 门店{store_id}昨日营收{today_total}元,与近30天均值{historical_avg}元偏差{deviation:.0%},请核实"return"OK"第四步:汇总生成日报
# 汇总所有门店数据all_stores=[]# 影刀从各门店POS采集的数据summary={"日期":"2026-06-27","总门店数":len(all_stores),"正常营业":len([sforsinall_storesifs["实收金额"]>0]),"总实收金额":sum(s["实收金额"]forsinall_stores),"客单价":sum(s["实收金额"]forsinall_stores)/max(sum(s["销售数量"]forsinall_stores),1),"TOP3门店":sorted(all_stores,key=lambdax:x["实收金额"],reverse=True)[:3],}# 写入日报模板print(f"昨日总营收:{summary['总实收金额']:,.2f}元")然后用影刀【写入Excel】或【邮件发送】把日报发送给管理层。
有什么坑
坑1:POS系统五花八门,文件名/格式不统一
有的导出文件名带日期+随机码,有的文件名是中文(编码问题)。建议导出后在Python中统一重命名为{门店编号}_{日期}.xlsx,规范管理。
坑2:导出数据可能不完整
TEMU店群矩阵自动化运营核价报活动
POS系统有时只导出第一页而非全部数据。导出后先检查行数是否合理(比如正常日均100+行,突然只有10行就有问题),异常则触发重新导出。
坑3:POS后台登录态极短
大部分POS后台为了安全,登录态只有15-30分钟。如果门店数量多、导出耗时长,可能中途超时需要重新登录。加上【判断登录状态 → 自动重登】的逻辑。
坑4:不是所有POS都有网页版
老版思迅、科脉等POS只有桌面客户端,没有网页后台。这种情况需要改用桌面自动化:影刀【打开程序】→ 找到POS客户端 → 用鼠标点击模拟操作导出。
坑5:营业时间差异导致对账时差
有些门店营业到凌晨2点,POS系统按自然日切账还是按营业日切账可能不一致。先跟门店确认切账规则,统一按"营业日"取数据,避免对账对不上。
总结:POS数据汇总的难点不是单个系统操作,而是多系统、多格式的统一处理。花60%时间在数据清洗和格式转换上,只有40%在做操作自动化,这是非常正常的比例。