2026-10-13 · 原文发布日
从电费单照片自动算太阳能投资回报并回发提案PDF
面向屋顶太阳能获客的端到端流程:客户通过WhatsApp或n8n表单发来电费单照片,OpenAI的GPT-4o识别用电量、电价、核准负荷等数据,不清晰时会主动要求重拍;随后计算装机容量、发电量、印度PM Surya Ghar补贴、净成本、回本周期和25年节省,并给出热度评分。再用gpt-4o-mini写提案文案,经QuickChart配图和Gotenberg转成PDF,存Drive后连同Cal.com勘测预约链接回发客户,表格与销售人员同步更新。
原文要点
该n8n模板面向印度屋顶太阳能获客:线索经WhatsApp或n8n表单提交电费单照片触发;无图或图片不可读时会回消息要求重拍清晰账单。GPT-4o从账单识别用电量、电价、核准负荷与历史数据并做校验;随后计算推荐装机容量、预期发电量、PM Surya Ghar补贴、净成本、回本周期、EMI估算与25年节省,并给出HOT/WARM/NURTURE线索评分。gpt-4o-mini生成提案文案,HTML内嵌QuickChart节省曲线图,经自托管Gotenberg(示例地址http://gotenberg:3000)转PDF,存档Google Drive后经WhatsApp回发PDF与Cal.com勘测预约链接,同时更新Google Sheets并提醒销售。Cal.com的预订Webhook(路径solar-survey-booked)回传后更新勘测状态、向客户确认或重约,并通知现场工程师。模板中含REPLACE_WITH_GOOGLE_SHEET_ID与REPLACE_WITH_PROPOSALS_FOLDER_ID等占位符需替换。
这次做成什么
搭一条“电费单照片进、提案PDF出”的太阳能线索流水线,并用一条合成测试数据走通:表单收图→OCR提取→装机与回本测算→生成PDF→表格留档。本节为本站依据模板说明独立设计的复原方案,计算口径与界面参数需导入原模板后核对,补贴与电价为演示参考值。
准备什么
- 已配置WhatsApp Business Cloud凭据和Phone Number ID的n8n实例,或先用n8n表单触发替代
- OpenAI API密钥,可用GPT-4o做账单OCR、gpt-4o-mini写提案文案
- Google Sheets与Google Drive凭据,已建“Solar Leads”表和提案文件夹
- n8n可访问的自托管Gotenberg服务(如gotenberg/gotenberg:8),以及Cal.com账号
具体怎么做
导入模板并替换占位符
复制工作流20875到实例。把REPLACE_WITH_GOOGLE_SHEET_ID换成你的“Solar Leads”表ID,REPLACE_WITH_PROPOSALS_FOLDER_ID换成Drive提案文件夹ID;把销售与工程师提醒节点里的收件号码换成测试号码。先不要接真实客户。
配置测算参数
找到装机容量与补贴计算的配置节点,确认单位电价、每千瓦造价、PM Surya Ghar补贴分档等参数与当前政策一致(模板数值可能过时)。把Cal.com勘测链接填进sizing配置,并把Cal.com的Webhook指向工作流的solar-survey-booked路径。
用合成账单图片走表单通道
先用n8n表单触发测试:上传一张自制虚拟电费单图片(内容见下方示例输入)。观察OCR节点输出是否包含用电量、电价、核准负荷字段;若校验不通过,流程应回复要求重拍清晰照片,确认这个分支存在。
核对测算与PDF生成
OCR通过后,检查测算节点输出的装机kW数、年发电量、补贴额、净成本、回本年限和线索评分是否齐全;再看gpt-4o-mini的提案文案、QuickChart图表URL和Gotenberg转换结果。PDF应出现在Drive提案文件夹里。
验证回发与留档
确认WhatsApp发送节点把PDF链接和Cal.com预约链接发给线索(测试阶段发给自己的测试号);“Solar Leads”表新增或更新一行,包含提案链接;销售提醒消息中带评分和关键数字。最后在Cal.com下一笔测试预约,确认Webhook更新表格勘测状态并通知工程师。
可直接复制的材料
电费单OCR提取提示词(用于GPT-4o节点)
本站独立编写的OCR提示词,字段名对应模板描述的consumption、tariff、sanctioned load;导入模板后请与其内置提示词核对字段口径。
你是电费单数据提取员。从用户上传的电费单图片中提取以下字段,只输出JSON,不要输出任何其他文字:
{
"monthly_consumption_kwh": 月均用电量(千瓦时,数字),
"tariff_per_unit": 每度电单价(卢比,数字),
"sanctioned_load_kw": 核准负荷(千瓦,数字),
"monthly_bill_amount": 月均电费金额(卢比,数字),
"readable": 图片是否清晰可读(true或false)
}
规则:任一数字字段无法辨认时,将该字段设为null并把readable设为false;不要猜测或编造数字;金额统一用数字不带货币符号。装机与回本测算参考配置
本站独立设计的演示参考配置,补贴分档按PM Surya Ghar公开口径近似;实际政策数值与模板内置参数需以导入后的模板和官方最新公告为准,模型调用另计OpenAI费用。
{
"每千瓦日发电量kwh": 4.0,
"系统造价每千瓦卢比": 55000,
"补贴分档": [
{"容量上限kW": 2, "每千瓦补贴卢比": 30000},
{"容量上限kW": 3, "说明": "超出2千瓦部分每千瓦18000卢比"},
{"容量上限kW": 999, "补贴总额封顶卢比": 78000}
],
"推荐装机公式": "月均用电量kwh ÷ 30 ÷ 每千瓦日发电量,向上取整到0.5千瓦",
"回本年限公式": "(系统总价 − 补贴) ÷ (年发电量 × 每度电价)",
"评分规则": "回本≤6年且月电费≥3000卢比为HOT;回本≤9年为WARM;其余NURTURE"
}输入与输出示例
本站虚构演示,输入输出数字按上一条配置公式手工对应,非模板实际运行结果。
输入
合成账单图片上的数据:月均用电320千瓦时,电价每度7卢比,核准负荷5千瓦,月均电费约2240卢比(全部为虚构测试值)。对应输出
测算节点输出示意:推荐装机3千瓦;年发电量约4380千瓦时;补贴78000卢比;系统总价165000卢比,净成本87000卢比;年省电费约30660卢比;回本约2.8年;评分WARM(因月电费低于3000卢比门槛)。随后生成提案PDF存入Drive,WhatsApp回发PDF与勘测预约链接,Solar Leads表新增一行。做完检查这些
- 上传清晰账单图片后OCR节点输出含用电量、电价、核准负荷四个字段且为数字
- 故意上传模糊图片时流程走入“请重拍清晰账单”分支而非继续测算
- 测算输出包含装机kW、补贴、净成本、回本年限和HOT/WARM/NURTURE评分
- PDF出现在Drive指定文件夹,Solar Leads表对应行写入了提案链接
- Cal.com测试预约触发Webhook后表格勘测状态更新且工程师收到通知
容易卡住的地方
- 模板内补贴与造价参数可能滞后于现行政策,直接上线会算错提案金额
- Gotenberg地址默认http://gotenberg:3000,仅在Docker同网络部署时有效,其他环境必须改
- WhatsApp无图片消息需走“请发送账单照片”分支,漏配会让流程卡死
- Cal.com的Webhook必须指向solar-survey-booked路径,配错路径会导致勘测状态永不更新
- 销售与工程师提醒号码是占位号码,忘记替换会把消息发给错误对象
本站借助AI整理来源事实,独立编写中文操作指南与示例。示例不代表实际运行结果;来源效果尚未由本站独立复现。付费模板与模型、服务费用分别计算。
- 原文标题
- Send solar ROI proposals from electricity bills with WhatsApp, OpenAI and Google Drive
- 原作者
- Rahul Joshi
- 原始发布日期
- 2026-10-13T11:14:27.277Z
- 来源
- https://n8n.io/workflows/20875