N8N财务追踪器:Telegram发票至Notion,含AI摘要与报告

高级

这是一个Finance、AI领域的自动化工作流,包含 28 个节点。主要使用 Code、Notion、SplitOut、Telegram、EditImage 等节点,结合人工智能技术实现智能自动化。 将Telegram发票同步到Notion并生成Gemini AI报告的自动化财务追踪器

前置要求
  • Notion API Key
  • Telegram Bot Token
  • Google Gemini API Key

分类

工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
  "id": "3BkxvtCbF6hHGUgM",
  "meta": {
    "instanceId": "d847dccbed2cefba539a228a44c266869b59eafbd4f307c4928a1149fb542a9e",
    "templateCredsSetupCompleted": true
  },
  "name": "N8N财务追踪器:Telegram发票至Notion,含AI摘要与报告",
  "tags": [
    {
      "id": "OXcPKHaINFSvU1ux",
      "name": "Money",
      "createdAt": "2025-05-09T11:02:15.929Z",
      "updatedAt": "2025-05-09T11:02:15.929Z"
    },
    {
      "id": "witgF3iHQ0sAlkjG",
      "name": "experimental",
      "createdAt": "2025-05-09T11:02:15.933Z",
      "updatedAt": "2025-05-09T11:02:15.933Z"
    }
  ],
  "nodes": [
    {
      "id": "3792ae58-807f-4e83-a219-25c17c8b4048",
      "name": "Google Gemini 聊天模型",
      "type": "@n8n/n8n-nodes-langchain.lmChatGoogleGemini",
      "position": [
        680,
        380
      ],
      "parameters": {
        "options": {},
        "modelName": "models/gemini-2.5-flash-preview-04-17"
      },
      "credentials": {
        "googlePalmApi": {
          "id": "haEP6ehKtsSUjFmK",
          "name": "Google Gemini(PaLM) Api account"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "943f87e2-a1ac-4f7e-999b-8ea261259e5a",
      "name": "基础LLM链",
      "type": "@n8n/n8n-nodes-langchain.chainLlm",
      "position": [
        640,
        220
      ],
      "parameters": {
        "text": "=ini ada base64 invoice rangkumkan Pengeluaran dari invoice tersebut Nama Barang jumlah dan Pengeluaran masing masing barang dan total, outputnya jangan panjang panjang saya cukup berikan \n\ndate: DD-MM-YYYY ( Jika dari OCR tidak ada tanggal ambil tanggal hari ini )\nid:\nname:\n qty: \nprice:\n total:\ncategory:\ntax : (jika di total berbeda dengan item brati ada pajak nya hitungkan juga pajaknya masukan kesini)\n\nuntuk pilihan categorynya : Food & Beverage / Transportation / Utilities / Shopping / Healthcare / Entertaiment / Housing / Education\n\ndalam bentuk JSON array object, berikan juga key message summary untuk rangkuman, berikan rangkauman singkat total pengeluaran dan barang apa saja yang dibeli serta jumlah nya berikan juga pajaknya",
        "messages": {
          "messageValues": [
            {
              "type": "HumanMessagePromptTemplate",
              "messageType": "imageBinary"
            }
          ]
        },
        "promptType": "define",
        "hasOutputParser": true
      },
      "typeVersion": 1.4
    },
    {
      "id": "247b78cb-c3f6-4f31-8559-0fff70de9ba9",
      "name": "便签",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        0
      ],
      "parameters": {
        "width": 1703,
        "height": 580,
        "content": "## 自动化财务追踪器:Telegram发票至Notion,含AI摘要与报告"
      },
      "typeVersion": 1
    },
    {
      "id": "e20045c2-a8ef-43d6-b619-6825f605e183",
      "name": "便签1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        0,
        620
      ],
      "parameters": {
        "color": 5,
        "width": 1706,
        "height": 527,
        "content": "## 安排报告发送至频道或私聊"
      },
      "typeVersion": 1
    },
    {
      "id": "ed8d6544-af9e-416a-b1f3-624ca108427f",
      "name": "计划触发器 | 用于发送图表报告",
      "type": "n8n-nodes-base.scheduleTrigger",
      "position": [
        80,
        880
      ],
      "parameters": {
        "rule": {
          "interval": [
            {}
          ]
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "22ad7ea1-9404-48bd-9d0f-0c58b8b66e3d",
      "name": "从Notion获取最新数据",
      "type": "n8n-nodes-base.notion",
      "position": [
        400,
        940
      ],
      "parameters": {
        "filters": {
          "conditions": [
            {
              "key": "Created time|created_time",
              "condition": "past_week"
            }
          ]
        },
        "options": {},
        "resource": "databasePage",
        "operation": "getAll",
        "returnAll": true,
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1d858554-d218-807c-936c-d06c8a8ec769",
          "cachedResultUrl": "https://www.notion.so/1d858554d218807c936cd06c8a8ec769",
          "cachedResultName": "Pengeluaran Rizqi Dini"
        },
        "filterType": "manual"
      },
      "credentials": {
        "notionApi": {
          "id": "AhjWhO7Jpc5x7xKG",
          "name": "Notion account"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "34310645-52da-4f9c-96a2-0a01d0a640f9",
      "name": "汇总交易数据",
      "type": "n8n-nodes-base.summarize",
      "position": [
        760,
        920
      ],
      "parameters": {
        "options": {},
        "fieldsToSplitBy": "property_category",
        "fieldsToSummarize": {
          "values": [
            {
              "field": "property_total",
              "aggregation": "sum"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "80a374cb-00cf-46b1-9505-709be1c550da",
      "name": "生成图表",
      "type": "n8n-nodes-base.quickChart",
      "position": [
        1200,
        900
      ],
      "parameters": {
        "data": "={{ $json.chart.data.datasets[0].data }}",
        "labelsMode": "array",
        "labelsArray": "={{ $json.chart.data.labels }}",
        "chartOptions": {},
        "datasetOptions": {}
      },
      "typeVersion": 1
    },
    {
      "id": "6b7c67ee-b205-42f5-9441-eb2ecee4a503",
      "name": "发送图表图片至群组或私聊",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1460,
        760
      ],
      "webhookId": "66cce6e1-819c-487b-b8ad-3f02aebd40cb",
      "parameters": {
        "chatId": "-1001957001324",
        "operation": "sendPhoto",
        "binaryData": true,
        "additionalFields": {
          "fileName": "chart",
          "message_thread_id": 571
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "J8yRVYmsnH74HuaD",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "06afd5ea-77b2-468d-b12b-1386d37a3ee6",
      "name": "将数据转换为JSON图表有效载荷",
      "type": "n8n-nodes-base.code",
      "position": [
        1080,
        900
      ],
      "parameters": {
        "jsCode": "const labels = [];\nconst values = [];\n\nfor (const item of items) {\n  labels.push(item.json.property_category);\n  values.push(item.json.sum_property_total);\n}\n\nreturn [\n  {\n    json: {\n      chart: {\n        type: 'bar',\n        data: {\n          labels,\n          datasets: [\n            {\n              label: 'Spending by Category',\n              data: values,\n              backgroundColor: 'rgba(54, 162, 235, 0.6)',\n              borderColor: 'rgba(54, 162, 235, 1)',\n              borderWidth: 1\n            }\n          ]\n        },\n        options: {\n          plugins: {\n            title: {\n              display: true,\n              text: 'Spending Summary by Category'\n            }\n          },\n          scales: {\n            y: {\n              beginAtZero: true\n            }\n          }\n        }\n      }\n    }\n  }\n];"
      },
      "typeVersion": 2
    },
    {
      "id": "4ad8c9c9-fbec-46ce-943d-447ca687e031",
      "name": "Telegram触发器 | 当收到照片时",
      "type": "n8n-nodes-base.telegramTrigger",
      "position": [
        160,
        160
      ],
      "webhookId": "cac4ce91-ed1f-42ea-aebe-97ac3612aea6",
      "parameters": {
        "updates": [
          "message"
        ],
        "additionalFields": {}
      },
      "credentials": {
        "telegramApi": {
          "id": "J8yRVYmsnH74HuaD",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.1
    },
    {
      "id": "5231929f-2d7d-43ff-b9ae-141374926131",
      "name": "获取图片信息",
      "type": "n8n-nodes-base.editImage",
      "position": [
        460,
        160
      ],
      "parameters": {
        "operation": "information"
      },
      "typeVersion": 1
    },
    {
      "id": "c8dcc6a1-2367-4049-9a8b-d8a04299ee72",
      "name": "解析为您的对象 | 表格",
      "type": "@n8n/n8n-nodes-langchain.outputParserStructured",
      "position": [
        1040,
        460
      ],
      "parameters": {
        "schemaType": "manual",
        "inputSchema": "{\n  \"type\": \"object\",\n  \"properties\": {\n    \"message\": {\n      \"type\": \"string\"\n    },\n    \"summary\": {\n      \"type\": \"array\",\n      \"items\": {\n        \"type\": \"object\",\n        \"properties\": {\"date\": { \"type\": \"date\" },\n          \"id\": { \"type\": \"integer\" },\n          \"name\": { \"type\": \"string\" },\n          \"qty\": { \"type\": \"integer\" },\n          \"price\": { \"type\": \"number\" },\n          \"tax\": { \"type\": \"number\" },\n          \"total\": { \"type\": \"number\" },\"category\": { \"type\": \"string\" }\n        },\n        \"required\": [\"id\", \"name\", \"qty\", \"price\", \"total\",\"category\"]\n      }\n    }\n  },\n  \"required\": [\"message\", \"summary\"]\n}\n"
      },
      "typeVersion": 1.2
    },
    {
      "id": "bc098a26-4e55-4908-880c-e5f27737a941",
      "name": "拆分出 | 数据交易",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        1120,
        40
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "output.summary"
      },
      "typeVersion": 1
    },
    {
      "id": "2a42bc4b-a5c7-433e-91e4-aa5531570f73",
      "name": "发送回聊天并提供摘要文本",
      "type": "n8n-nodes-base.telegram",
      "position": [
        1480,
        400
      ],
      "webhookId": "f90475fa-69cd-4e19-bc93-bffdceae8324",
      "parameters": {
        "text": "={{ $json.output.message }}",
        "chatId": "={{ $('Telegram Trigger | When recive photo').item.json.message.chat.id }}",
        "additionalFields": {
          "appendAttribution": false
        }
      },
      "credentials": {
        "telegramApi": {
          "id": "J8yRVYmsnH74HuaD",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    },
    {
      "id": "bfc5c52e-313d-4257-bdfa-c542b687a853",
      "name": "记录到Notion数据库",
      "type": "n8n-nodes-base.notion",
      "position": [
        1580,
        120
      ],
      "parameters": {
        "options": {},
        "resource": "databasePage",
        "databaseId": {
          "__rl": true,
          "mode": "list",
          "value": "1d858554-d218-807c-936c-d06c8a8ec769",
          "cachedResultUrl": "https://www.notion.so/1d858554d218807c936cd06c8a8ec769",
          "cachedResultName": "Pengeluaran Rizqi Dini"
        },
        "propertiesUi": {
          "propertyValues": [
            {
              "key": "Name|title",
              "title": "={{ $json.name }}"
            },
            {
              "key": "Quantity|number",
              "numberValue": "={{ $json.qty }}"
            },
            {
              "key": "Price|number",
              "numberValue": "={{ $json.price }}"
            },
            {
              "key": "Total|number",
              "numberValue": "={{ $json.total }}"
            },
            {
              "key": "Category|select",
              "selectValue": "={{ $json.category }}"
            },
            {
              "key": "Date|rich_text",
              "textContent": "={{ $json.date }}"
            },
            {
              "key": "Tax|number",
              "numberValue": "={{ $json.tax }}"
            }
          ]
        }
      },
      "credentials": {
        "notionApi": {
          "id": "AhjWhO7Jpc5x7xKG",
          "name": "Notion account"
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "f514554b-eb9e-47e2-ad6b-0b13036beaf4",
      "name": "便签 2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        60
      ],
      "parameters": {
        "color": 3,
        "width": 340,
        "height": 280,
        "content": "📸 发票输入 📸"
      },
      "typeVersion": 1
    },
    {
      "id": "53fc4c77-3f16-4cb8-82e8-f4810af1f569",
      "name": "便签 3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        600,
        60
      ],
      "parameters": {
        "color": 5,
        "width": 360,
        "height": 460,
        "content": "🤖 AI魔法在此发生 🧠"
      },
      "typeVersion": 1
    },
    {
      "id": "c6fb1193-7cc9-4f45-8a5f-20af41cdf3c8",
      "name": "便签 4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        980,
        340
      ],
      "parameters": {
        "color": 5,
        "width": 280,
        "height": 200,
        "content": "✨ 结构化AI数据 ✨"
      },
      "typeVersion": 1
    },
    {
      "id": "79a4e9ba-d1ea-4cfc-870c-145bae80c9b4",
      "name": "便签 5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1320,
        0
      ],
      "parameters": {
        "color": 2,
        "width": 380,
        "height": 240,
        "content": "📝 保存到Notion 📝"
      },
      "typeVersion": 1
    },
    {
      "id": "9406306b-9f3d-4877-a888-1f5e16a431c1",
      "name": "便签6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        20,
        760
      ],
      "parameters": {
        "height": 280,
        "content": "报告计划 🗓️"
      },
      "typeVersion": 1
    },
    {
      "id": "1b6c8a28-b0f0-44fb-be02-21725d950716",
      "name": "便签7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        320,
        760
      ],
      "parameters": {
        "color": 2,
        "width": 280,
        "height": 380,
        "content": "📊 获取报告数据 📊"
      },
      "typeVersion": 1
    },
    {
      "id": "4612006e-04a9-4ad5-9f05-d49ec13f31cf",
      "name": "便签8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        660,
        740
      ],
      "parameters": {
        "width": 320,
        "height": 360,
        "content": "➕ 汇总支出 ➕"
      },
      "typeVersion": 1
    },
    {
      "id": "103132cf-37a6-455f-b19f-14d3e17af912",
      "name": "### 替换 Airtable 连接",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1040,
        740
      ],
      "parameters": {
        "width": 300,
        "height": 340,
        "content": "📈 生成可视化报告 📈"
      },
      "typeVersion": 1
    },
    {
      "id": "24324366-33e5-4097-ab36-aac31cef0006",
      "name": "便签10",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1380,
        640
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 300,
        "content": "📤 发送报告至Telegram 📤"
      },
      "typeVersion": 1
    },
    {
      "id": "e9fc1140-411b-411a-87a6-bbe9718ba3b3",
      "name": "便签11",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1320,
        280
      ],
      "parameters": {
        "color": 6,
        "width": 300,
        "height": 280,
        "content": "💬 交易摘要 💬"
      },
      "typeVersion": 1
    },
    {
      "id": "013fd587-3504-44b8-97e1-09cad47a0089",
      "name": "便签12",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        40,
        360
      ],
      "parameters": {
        "color": 7,
        "width": 460,
        "height": 240,
        "content": "🔑 所需凭据 🔑"
      },
      "typeVersion": 1
    },
    {
      "id": "8f6f0fdb-d3be-4464-a7db-ea4d642a4f55",
      "name": "Telegram",
      "type": "n8n-nodes-base.telegram",
      "position": [
        320,
        160
      ],
      "webhookId": "6e801e0b-72d1-42a9-ac47-61ac113a01d2",
      "parameters": {
        "fileId": "={{ $json.message.photo[3].file_id }}",
        "resource": "file"
      },
      "credentials": {
        "telegramApi": {
          "id": "J8yRVYmsnH74HuaD",
          "name": "Telegram account"
        }
      },
      "typeVersion": 1.2
    }
  ],
  "active": true,
  "pinData": {},
  "settings": {
    "executionOrder": "v1"
  },
  "versionId": "a192c50c-4a77-44ee-b98a-f18d4ced2cb1",
  "connections": {
    "Telegram": {
      "main": [
        [
          {
            "node": "Get Image Info",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Generate Chart": {
      "main": [
        [
          {
            "node": "Send Chart Image to Group or Private Chat",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Image Info": {
      "main": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Basic LLM Chain": {
      "main": [
        [
          {
            "node": "Split Out | data transaction",
            "type": "main",
            "index": 0
          },
          {
            "node": "Sendback to chat and give summarize text",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Gemini Chat Model": {
      "ai_languageModel": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_languageModel",
            "index": 0
          }
        ]
      ]
    },
    "Summarize Transaction Data": {
      "main": [
        [
          {
            "node": "Convert Data to JSON chart payload",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Get Recent Data from Notions": {
      "main": [
        [
          {
            "node": "Summarize Transaction Data",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Parse To your object | Table": {
      "ai_outputParser": [
        [
          {
            "node": "Basic LLM Chain",
            "type": "ai_outputParser",
            "index": 0
          }
        ]
      ]
    },
    "Split Out | data transaction": {
      "main": [
        [
          {
            "node": "Record To Notion Database",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Convert Data to JSON chart payload": {
      "main": [
        [
          {
            "node": "Generate Chart",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Telegram Trigger | When recive photo": {
      "main": [
        [
          {
            "node": "Telegram",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Schedule Trigger | for send chart report": {
      "main": [
        [
          {
            "node": "Get Recent Data from Notions",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
常见问题

如何使用这个工作流?

复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。

这个工作流适合什么场景?

这是一个高级难度的工作流,适用于Finance、AI等场景。适合高级用户,包含 16+ 个节点的复杂工作流

需要付费吗?

本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。

工作流信息
难度等级
高级
节点数量28
分类2
节点类型13
难度说明

适合高级用户,包含 16+ 个节点的复杂工作流

作者
外部链接
在 n8n.io 上查看 →

分享此工作流