影刀RPA 采购订单自动化:从申请到审批全流程
影刀RPA 采购订单自动化:从申请到审批全流程
作者:林焱 | 分类:影刀RPA新手教程 | 难度:★★
什么情况用
企业采购流程通常很繁琐:需求部门填采购申请 → 部门经理审批 → 采购部询价 → 比价 → 财务审批 → 生成采购订单 → 发送给供应商。整个流程涉及多个系统(OA、ERP、邮箱),一张单子流转3-5天是常态。
用影刀RPA打通OA→ERP→邮件链路,实现采购申请自动审批(低金额)、自动生成采购订单、自动发送给供应商。把3-5天缩短到几小时。
怎么做
第一步:从OA拉取待审批采购申请
影刀操作动作:
- 【打开网页】→ OA系统(如飞书审批、钉钉OA审批、泛微等)
- 【点击】→ 「采购申请」模块
- 【筛选】→ 状态=“待审批”
拼多多店群自动化上架方案
- 【获取元素列表】→ 提取申请单号、申请人、部门、金额、采购明细
# 影刀Python节点:解析采购申请purchase_requests=[{"单号":"PR202606001","申请人":"技术部-张三","金额":3500,"采购内容":"服务器内存条 x4","品类":"IT设备"},{"单号":"PR202606002","申请人":"行政部-李四","金额":800,"采购内容":"办公文具一批","品类":"办公用品"},{"单号":"PR202606003","申请人":"市场部-王五","金额":15000,"采购内容":"展会搭建服务","品类":"市场服务"},]# 按金额自动分流AUTO_APPROVAL_LIMIT=2000# 2000元以下自动审批auto_list=[rforrinpurchase_requestsifr["金额"]<=AUTO_APPROVAL_LIMIT]manual_list=[rforrinpurchase_requestsifr["金额"]>AUTO_APPROVAL_LIMIT]print(f"自动审批:{len(auto_list)}单")print(f"需人工审批:{len(manual_list)}单")第二步:ERP自动生成采购订单
对于已审批的采购申请,在ERP中生成采购订单:
# 影刀Python节点:匹配供应商和价格defgenerate_po(pr,supplier_catalog,price_list):"""根据采购内容和供应商目录生成采购订单"""category=pr["品类"]# 从供应商目录匹配matched_suppliers=supplier_catalog.get(category,[])ifnotmatched_suppliers:return{"error":f"未找到{category}的合格供应商"}# 选择价格最优的供应商best_supplier=Nonebest_price=float("inf")forsupplierinmatched_suppliers:price=price_list.get((supplier,pr["采购内容"].split("x")[0].strip()),None)ifpriceandprice<best_price:best_price=price best_supplier=supplierifnotbest_supplier:return{"error":"无匹配价格"}return{"采购单号":pr["单号"].replace("PR","PO"),"供应商":best_supplier,"单价":best_price,"总金额":best_price*int(pr["采购内容"].split("x")[-1].strip()if"x"inpr["采购内容"]else1),}影刀操作动作(ERP操作):
- 【点击】→ 「采购管理」→ 「新增采购订单」
- 【填写】→ 供应商选择(根据匹配结果)
- 【填写】→ 采购明细(逐行填入物料、数量、单价)
- 【填写】→ 交货日期(按供应商标准交期+今天)
- 【点击】→ 「保存」→ 「提交审批」
- 【获取文本】→ 系统生成的采购订单号
第三步:询价比价自动化(非标准采购)
如果采购品类没有现成价格,需要向多家供应商询价:
影刀操作动作:
- 【循环】→ 遍历合格供应商列表
- 【邮件】→ 发送询价单(模板:物料名称、规格、数量、交货期要求)
- 【等待】→ 等待24小时(或定时第二天检查)
- 【邮件】→ 检查收件箱,提取供应商报价
- 【Python节点】→ 比价,选择最优
# 比价逻辑quotes=[{"供应商":"A","单价":850,"交期":"3天","含税":True},{"供应商":"B","单价":820,"交期":"5天","含税":True},{"供应商":"C","单价":880,"交期":"2天","含税":False},]# 根据当前需求权重决策:紧急采购看交期,常规采购看价格defcompare_quotes(quotes,priority="价格优先"):ifpriority=="交期优先":returnmin(quotes,key=lambdax:int(x["交期"].replace("天","")))else:returnmin(quotes,key=lambdax:x["单价"])best=compare_quotes(quotes)print(f"最优选择:{best['供应商']}| 单价{best['单价']}元 | 交期{best['交期']}")第四步:自动发送采购订单给供应商
- 【读取Excel】→ 获取供应商邮箱
- 【邮件-新建】→ 收件人为供应商邮箱
- 【邮件-填写】→ 主题"采购订单 PO202606001"
- 【邮件-添加附件】→ 采购订单PDF
- 【邮件-发送】
第五步:跟踪采购订单状态
# 影刀Python节点:订单状态闭环管理PO_STATUS_FLOW={"已发送":"等待供应商确认","已确认":"等待发货","已发货":"等待到货","已到货":"等待质检","已入库":"完成",}# 定时检查订单状态(从ERP或供应商反馈)forpoinactive_pos:days_pending=(datetime.now()-po["创建时间"]).daysifdays_pending>3andpo["状态"]=="已发送":print(f"⚠️{po['单号']}已发送{days_pending}天,供应商未确认,需要跟进")# 影刀自动发送提醒邮件给供应商有什么坑
TEMU店群如何管理运营?
坑1:OA审批流与ERP不是同一套系统
最常见的架构:OA审批完了,ERP还没有生成单据。中间需要人工"搬运"。RPA在这里做的就是数据搬运工。关键是要保证两边数据一致——OA的审批金额和ERP的采购订单金额必须相同,否则财务对账时会出问题。
坑2:供应商价格可能动态变化
价格表不是死的,尤其是大宗商品(钢材、芯片等),价格波动大。如果RPA按昨天的价格自动下单,今天可能就亏了。建议对价格波动大的品类,RPA只做"生成采购申请草稿",不自动下单。
坑3:紧急采购的流程例外
"老板口头说了采购,先买东西后补流程"这种场景很常见。RPA处理正式流程没问题,但这种例外情况无法覆盖。不要试图让RPA处理所有采购,明确RPA的范围:只处理标准流程。
坑4:审批权限矩阵复杂
有些企业不同部门、不同品类、不同金额的审批权限都不一样。不要把复杂的审批规则写死在Python里,用Excel配置表维护:申请人部门+采购品类+金额区间→对应审批人。
坑5:供应商邮箱可能变更
供应商联系人离职或换岗后,邮件发到旧邮箱没人看。建议RPA发送后24小时检查是否有"已读回执"或回复,没有的话自动查供应商主数据找备用联系人。
总结:采购自动化的第一步不是上RPA,而是梳理采购审批规则。把所有"金额<XX自动审批""XX品类走快速通道"之类的规则明确下来,RPA才能准确执行。
