2026-09-11 · 原文发布日
定时审计采购交易的合规自动化流程
一个n8n定时工作流:从Google Sheets读取采购交易与监管规则两个标签页,逐条对照GDPR、SOX、劳动法、反贿赂等规则计算风险评分,把批次摘要交给Google Gemini生成叙述式审计报告;违规项写入Compliance_Alerts页,全部结果进Audit_Reports页,AI报告存档后经Gmail发给指定收件人。高风险国家、尽职调查门槛等参数可在配置节点直接修改。
原文要点
原工作流由WeblineIndia发布:定时触发后从Google Sheets的Procurement_Transactions与Regulatory_Rules两个标签页读数据,经Edit Fields节点注入收件人、高风险国家、尽职调查金额门槛和SLA天数,Code节点按GDPR、SOX/财务、劳动法、反贿赂、合同管理、尽职调查六类规则逐条判定并计算风险分,产出交易级结果和批次摘要;摘要根据Google Gemini生成叙述式审计报告,违规行写入Compliance_Alerts页,全部行进Audit_Reports页,AI报告存AI_Batch_Reports页后经Gmail发送。规则逻辑可在Code节点按既有if块模式扩展。
这次做成什么
在n8n里搭一条定时采购合规审计练习流程:用合成数据跑通“读表→规则评分→分支写表→AI叙述报告→邮件发送”全链路,并学会在配置节点改参数。
准备什么
- n8n实例(云端或自托管均可)
- 一个Google账号,能创建Sheets并配置OAuth2凭据
- Google Gemini (PaLM) API凭据与Gmail OAuth2凭据
- 一份合成采购交易CSV和一份合成规则CSV(可用下方材料,不含真实个人信息)
具体怎么做
建表结构
新建一个Google Sheets文档,建五个标签页:Procurement_Transactions、Regulatory_Rules、Compliance_Alerts、Audit_Reports、AI_Batch_Reports。把下方合成CSV导入前两个标签页,后三个先只写表头(如transaction_id、vendor、risk_score、status、reason)。记下文档ID。
搭前半段
n8n新建工作流:Schedule Trigger(先设手动测试,确认后改周期)→两个Google Sheets读节点分别指向Procurement_Transactions和Regulatory_Rules→Merge节点合并→Edit Fields节点,加入字段alert_email_recipient、high_risk_countries、due_diligence_threshold_usd、sla_days_standard等配置值。
写规则引擎
加一个Code节点(Run Once for All Items),对每条交易按规则打违规模块:如供应商在处理个人数据但未签DPA记GDPR违规;金额超过due_diligence_threshold_usd且未完成尽调记Due Diligence违规;国家在高风险清单且无反贿赂证明记Anti-Bribery违规。累计risk_score并输出status与violation_reasons数组。
分支与写表
接IF节点判断status是否等于Non-Compliant:True分支写Compliance_Alerts页;两路汇合后把全部结果追加到Audit_Reports页。字段映射要与表头一致。
AI报告与邮件
把批次摘要(总数、违规数、按类别统计、高风险明细)发给Google Gemini Chat Model,提示词用下方材料;输出存AI_Batch_Reports页,再用Gmail节点把报告正文发到alert_email_recipient。
可直接复制的材料
配置节点示例值
本站独立编写的示例配置,邮箱、国家名为虚构占位,需替换为你的收件人和风险清单。
{
"alert_email_recipient": "compliance-demo@example.com",
"high_risk_countries": "CountryA,CountryB,CountryC",
"due_diligence_threshold_usd": 50000,
"sla_days_standard": 30,
"sla_days_renewal_notice": 30,
"sla_days_certificate_validity": 365
}合成采购交易数据
本站虚构合成数据,仅供练习导入Procurement_Transactions页。
transaction_id,vendor,amount_usd,country,processes_personal_data,dpa_signed,due_diligence_done,anti_bribery_cert,contract_expires_in_days
TXN-1001,Acme Cloud Ltd,120000,CountryA,yes,no,no,no,45
TXN-1002,Beta Logistics,18000,CountryD,no,yes,yes,yes,200
TXN-1003,Gamma Staffing,76000,CountryB,yes,yes,no,no,20Gemini批次审计报告提示词
本站独立撰写,按你的Code节点实际输出字段替换占位符。
你是一名采购合规审计员。下面是本批次采购交易的统计摘要(JSON)。请生成一份中文叙述式审计报告,包含四节:1.本批概况(交易总数、违规数、整体风险等级);2.按规则类别(GDPR、SOX/财务、劳动法、反贿赂、合同管理、尽职调查)说明发现;3.金额最高或风险最高的三笔违规交易及原因;4.整改建议与跟进时限。只依据所给JSON,不要编造数据。
批次摘要:{{ $json.batch_summary }}输入与输出示例
本站虚构演示,分数与类别判定为本练习设定值,非原作者运行结果。
输入
Procurement_Transactions中一行:TXN-1001, Acme Cloud Ltd, 120000美元, CountryA, 处理个人数据=yes, DPA未签, 尽调未完成, 无反贿赂证明, 合同45天后到期。对应输出
规则引擎输出:{transaction_id:TXN-1001, violations:[GDPR, Anti-Bribery, Due Diligence], risk_score:85, status:Non-Compliant, escalation_required:Yes};该行写入Compliance_Alerts页,同时进Audit_Reports页;批次摘要交Gemini后生成含四节的中文报告并邮件发出。做完检查这些
- 手动执行一次后,Audit_Reports页出现与输入行数一致的三行记录
- TXN-1001和TXN-1003进入Compliance_Alerts页,TXN-1002不出现
- AI_Batch_Reports页新增一行且收件邮箱收到含四节结构的报告邮件
- 把due_diligence_threshold_usd改成100000后重跑,TXN-1003的尽调违规消失
容易卡住的地方
- Sheets表头与Code节点期望的列名不一致会导致全部误判为违规,先逐列核对
- high_risk_countries必须是逗号分隔且无多余空格,数字字段填纯数字
- 激活定时后不要再手动触发,否则写表会重复
- Gemini凭据失效或限流时AI报告为空,但写表不受影响,需分别排查
- 高风险国家、金额门槛为本练习虚构参考值,上线前应由合规团队确认
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Audit procurement compliance with Google Sheets, Google Gemini, and Gmail
- 原作者
- WeblineIndia
- 原始发布日期
- 2026-09-11T10:51:14.671Z
- 来源
- https://n8n.io/workflows/19490