我的工作流23
高级
这是一个Invoice Processing、Multimodal AI领域的自动化工作流,包含 46 个节点。主要使用 If、Code、Merge、Stripe、Airtable 等节点。 全周期发票自动化:Airtable、QuickBooks和Stripe
前置要求
- •Stripe API Key
- •Airtable API Key
- •可能需要目标 API 的认证凭证
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"id": "wnHdgRqker2FalaJ",
"meta": {
"instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787"
},
"name": "我的工作流 23",
"tags": [],
"nodes": [
{
"id": "989dcbdc-5d15-45df-bb0e-db6049c537e2",
"name": "Airtable 触发器",
"type": "n8n-nodes-base.airtableTrigger",
"position": [
60,
1780
],
"parameters": {
"baseId": {
"__rl": true,
"mode": "id",
"value": "{YOUR_AIRTABLE_BASE_ID}"
},
"tableId": {
"__rl": true,
"mode": "id",
"value": "{YOUR_AIRTABLE_TABLE_ID}"
},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"triggerField": "Created",
"authentication": "airtableTokenApi",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "45863a72-e832-448e-88e6-edb6ee1c8908",
"name": "IF - 状态检查",
"type": "n8n-nodes-base.if",
"position": [
1580,
1580
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.Status }}",
"value2": "Approved for Invoicing"
}
]
}
},
"typeVersion": 1
},
{
"id": "43c615f1-777f-43da-8274-2b9ecce18aa0",
"name": "IF - 客户是否存在?",
"type": "n8n-nodes-base.if",
"position": [
3020,
1340
],
"parameters": {
"conditions": {
"number": [
{
"value1": "={{ $json.Id ?? \"\" }}",
"operation": "isEmpty"
}
]
}
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "2cb49f5e-08f7-46ea-afab-217e98908a14",
"mode": "append",
"name": "合并 QBO 客户",
"type": "n8n-nodes-base.merge",
"position": [
4320,
1540
],
"parameters": {},
"typeVersion": 1
},
{
"id": "60920472-77b6-4243-89b0-f162f6e900d9",
"name": "Stripe - 查找客户",
"type": "n8n-nodes-base.stripe",
"position": [
5800,
1020
],
"parameters": {
"resource": "customer",
"customerId": "={{ $('Search records').item.json['Stripe Customer ID'] || \"\"}}"
},
"typeVersion": 1
},
{
"id": "bd0adf89-499a-40ee-9e37-648ae0aad30d",
"name": "IF - Stripe 客户是否存在?",
"type": "n8n-nodes-base.if",
"position": [
7220,
1160
],
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.DisplayName }}",
"operation": "isNotEmpty"
}
]
}
},
"typeVersion": 1
},
{
"id": "ea27b7d1-4e6e-4620-b402-b0b8e0db436d",
"name": "Stripe - 创建客户",
"type": "n8n-nodes-base.stripe",
"position": [
7960,
980
],
"parameters": {
"name": "={{ $json.DisplayName }}",
"resource": "customer",
"operation": "create",
"additionalFields": {
"email": "={{ $json.PrimaryEmailAddr.Address }}"
}
},
"typeVersion": 1
},
{
"id": "901e1828-f5e5-4801-83a0-53fce11f4ea0",
"mode": "append",
"name": "合并 Stripe 客户",
"type": "n8n-nodes-base.merge",
"position": [
8520,
1380
],
"parameters": {},
"typeVersion": 1
},
{
"id": "4c99441c-1f72-49d6-b421-62e3c2c72b28",
"name": "QuickBooks - 查找客户",
"type": "n8n-nodes-base.quickbooks",
"position": [
2360,
1160
],
"parameters": {
"limit": 500,
"filters": {
"query": "=WHERE DisplayName = '{{ $json['Client Name'] }}'\n\n"
},
"operation": "getAll"
},
"typeVersion": 1,
"alwaysOutputData": false
},
{
"id": "497c8d82-1916-4ac6-acd2-7fdc561d3919",
"name": "创建发票",
"type": "n8n-nodes-base.quickbooks",
"position": [
13120,
1420
],
"parameters": {
"Line": [
{
"Qty": "={{ $('Update Quickbooks and Stripe Customer Ids').item.json.fields.Quantity }}",
"Amount": "={{ $json.Amount }}",
"itemId": "={{ $json.Id }}",
"DetailType": "SalesItemLineDetail",
"Description": "={{ $json.Description }}"
}
],
"resource": "invoice",
"operation": "create",
"CustomerRef": "={{ $('Update Quickbooks and Stripe Customer Ids').item.json.fields['QuickBooks Customer ID'] }}",
"additionalFields": {}
},
"typeVersion": 1
},
{
"id": "b1330d78-6e36-4296-98b0-0312804e955d",
"name": "创建客户",
"type": "n8n-nodes-base.quickbooks",
"position": [
3680,
1100
],
"parameters": {
"operation": "create",
"displayName": "={{ $('IF - Status Check').item.json['Client Name'] }}",
"additionalFields": {
"PrimaryEmailAddr": "={{ $('IF - Status Check').item.json['Client Email'] }}"
}
},
"typeVersion": 1
},
{
"id": "8b371200-572e-4995-b7d7-d496751342f4",
"name": "搜索记录",
"type": "n8n-nodes-base.airtable",
"position": [
800,
1360
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_BASE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_BASE_NAME}"
},
"table": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}/{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_TABLE_NAME}"
},
"options": {},
"operation": "search"
},
"typeVersion": 2.1
},
{
"id": "d56e433c-447b-406f-8467-a8c5de082d5b",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
-100,
1920
],
"parameters": {
"color": 3,
"width": 500,
"height": 300,
"content": "### 步骤 1:Airtable 触发器 🚦📋"
},
"typeVersion": 1
},
{
"id": "44f16735-21cb-4a35-bb97-45bf8ec79469",
"name": "便签1",
"type": "n8n-nodes-base.stickyNote",
"position": [
620,
1040
],
"parameters": {
"width": 460,
"height": 300,
"content": "### 步骤 2:Airtable 搜索记录 🔍📋"
},
"typeVersion": 1
},
{
"id": "430acba9-f9ad-424f-888e-a239968e9bbf",
"name": "便签2",
"type": "n8n-nodes-base.stickyNote",
"position": [
1360,
1220
],
"parameters": {
"color": 5,
"width": 500,
"height": 300,
"content": "### 步骤 3:状态检查(If 节点)✅❌"
},
"typeVersion": 1
},
{
"id": "5d2740d4-c4fc-4290-914c-bcbff9202b1c",
"name": "便签3",
"type": "n8n-nodes-base.stickyNote",
"position": [
2200,
2080
],
"parameters": {
"color": 3,
"width": 520,
"height": 300,
"content": "### 优雅退出(No-Op 节点)🛑✨"
},
"typeVersion": 1
},
{
"id": "12d6c762-e245-4203-b91d-a03ad0c39c5a",
"name": "退出工作流",
"type": "n8n-nodes-base.noOp",
"position": [
2400,
1920
],
"parameters": {},
"typeVersion": 1
},
{
"id": "d3de759a-8382-4127-867f-84afbc9fb1b6",
"name": "便签4",
"type": "n8n-nodes-base.stickyNote",
"position": [
2180,
800
],
"parameters": {
"color": 4,
"width": 460,
"height": 320,
"content": "### 步骤 4:在 QuickBooks 中查找客户 🔍👤"
},
"typeVersion": 1
},
{
"id": "2aa200ff-342e-4a9b-b46d-956dc31ea3e1",
"name": "便签5",
"type": "n8n-nodes-base.stickyNote",
"position": [
2820,
1480
],
"parameters": {
"color": 6,
"width": 580,
"height": 340,
"content": "### 步骤 5:客户存在性检查(If 节点)❓✅❌"
},
"typeVersion": 1
},
{
"id": "054ac6a9-7198-49d3-8005-8291e2b99de1",
"name": "便签 6",
"type": "n8n-nodes-base.stickyNote",
"position": [
3480,
780
],
"parameters": {
"color": 4,
"width": 480,
"height": 300,
"content": "在 QuickBooks 中创建客户 ➕👤"
},
"typeVersion": 1
},
{
"id": "e656e242-fcd7-4f4b-b8c7-1093e6873c9d",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
4160,
1180
],
"parameters": {
"width": 500,
"height": 300,
"content": "### 步骤 6:合并客户数据节点 🔗📊"
},
"typeVersion": 1
},
{
"id": "43640cbe-d8c0-4d46-a8be-71ed26deaf88",
"name": "If - Stripe 客户 ID",
"type": "n8n-nodes-base.if",
"position": [
5100,
1180
],
"parameters": {
"options": {},
"conditions": {
"options": {
"version": 2,
"leftValue": "",
"caseSensitive": true,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "0e0b7c72-589a-4d76-9201-cbc4cfdc9c70",
"operator": {
"type": "string",
"operation": "notEmpty",
"singleValue": true
},
"leftValue": "={{ $('Search records').item.json['Stripe Customer ID'] }}",
"rightValue": ""
}
]
}
},
"typeVersion": 2.2
},
{
"id": "e7fd405d-2dca-453d-ad16-086d855393e0",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
4840,
800
],
"parameters": {
"color": 3,
"width": 600,
"height": 340,
"content": "### 步骤 7:Stripe 客户 ID 检查(If 节点)🔍💳"
},
"typeVersion": 1
},
{
"id": "d8810872-3110-450d-a87e-a68c6acec976",
"name": "便签 9",
"type": "n8n-nodes-base.stickyNote",
"position": [
5540,
680
],
"parameters": {
"color": 5,
"width": 580,
"height": 300,
"content": "在 Stripe 中查找客户 🔍💳"
},
"typeVersion": 1
},
{
"id": "0af13885-0000-48a4-9a1a-5ca0695d4329",
"name": "合并 - Stripe 客户",
"type": "n8n-nodes-base.merge",
"position": [
6320,
1460
],
"parameters": {},
"typeVersion": 3.2
},
{
"id": "66ce007d-361a-44d1-b397-c8bf354bc62a",
"name": "便利贴 10",
"type": "n8n-nodes-base.stickyNote",
"position": [
6180,
1620
],
"parameters": {
"color": 6,
"width": 480,
"height": 300,
"content": "### 步骤 8:合并 Stripe 客户数据节点 🔗💳"
},
"typeVersion": 1
},
{
"id": "642cf14a-238f-4525-bc6c-a4d88ad2ff25",
"name": "便利贴 11",
"type": "n8n-nodes-base.stickyNote",
"position": [
7020,
780
],
"parameters": {
"color": 3,
"width": 540,
"height": 340,
"content": "### 步骤 9:Stripe 客户存在性检查(If 节点)🔍✅❌"
},
"typeVersion": 1
},
{
"id": "fe468b60-5f78-4a61-9262-a0c24e2054e8",
"name": "便签 12",
"type": "n8n-nodes-base.stickyNote",
"position": [
7740,
640
],
"parameters": {
"width": 500,
"height": 320,
"content": "在 Stripe 中创建客户 ➕💳"
},
"typeVersion": 1
},
{
"id": "84f2c126-13e0-4999-95ed-c62155473934",
"name": "便签 13",
"type": "n8n-nodes-base.stickyNote",
"position": [
8320,
1540
],
"parameters": {
"color": 5,
"width": 520,
"height": 300,
"content": "### 步骤 10:合并新 Stripe 客户数据节点 🔗💳"
},
"typeVersion": 1
},
{
"id": "d72208de-119a-4cc7-8f41-c04e8534fdf5",
"name": "按电子邮件搜索记录",
"type": "n8n-nodes-base.airtable",
"position": [
9260,
1080
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_BASE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_BASE_NAME}"
},
"table": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}/{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_TABLE_NAME}"
},
"options": {},
"operation": "search",
"filterByFormula": "={Client Email} = \"{{ $json.email }}\""
},
"typeVersion": 2.1,
"alwaysOutputData": true
},
{
"id": "0dc8e7c1-e027-4641-9618-357f72d67039",
"name": "便签14",
"type": "n8n-nodes-base.stickyNote",
"position": [
9060,
760
],
"parameters": {
"color": 6,
"width": 480,
"height": 300,
"content": "### 步骤 11:在 Airtable 中搜索记录 🔍📋"
},
"typeVersion": 1
},
{
"id": "62d46511-8cf8-4160-a242-bea2e4e81086",
"name": "更新 Quickbooks 和 Stripe 客户 ID",
"type": "n8n-nodes-base.airtable",
"position": [
9980,
1400
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_BASE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_BASE_NAME}"
},
"table": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}/{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_TABLE_NAME}"
},
"columns": {
"value": {
"id": "={{ $json.id }}",
"Stripe Customer ID": "={{ $('Merge Stripe Customer').item.json.id }}",
"QuickBooks Customer ID": "={{ $('Merge QBO Customer').item.json.Id }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Deal Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Deal Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Client Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Client Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Client Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Client Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Approved for Invoicing",
"value": "Approved for Invoicing"
},
{
"name": "Draft",
"value": "Draft"
},
{
"name": "Invoiced",
"value": "Invoiced"
}
],
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Line Items JSON",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Line Items JSON",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QuickBooks Customer ID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "QuickBooks Customer ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stripe Customer ID",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Stripe Customer ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stripe Payment Link",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Stripe Payment Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QuickBooks Invoice #",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "QuickBooks Invoice #",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"typeVersion": 2.1
},
{
"id": "5cbaa7bd-1ef6-49d8-8b61-fef3f2d3090c",
"name": "便签15",
"type": "n8n-nodes-base.stickyNote",
"position": [
9780,
1580
],
"parameters": {
"width": 520,
"height": 300,
"content": "### 步骤 12:在 Airtable 中更新记录 ✏️🔄"
},
"typeVersion": 1
},
{
"id": "cdd5c85d-1168-4b4e-ab95-b17132f0bd10",
"name": "生成支付链接",
"type": "n8n-nodes-base.httpRequest",
"position": [
10700,
1080
],
"parameters": {
"url": "https://api.stripe.com/v1/payment_links",
"method": "POST",
"options": {},
"sendBody": true,
"contentType": "form-urlencoded",
"authentication": "predefinedCredentialType",
"bodyParameters": {
"parameters": [
{
"name": "line_items[0][price]",
"value": "={{ $json.fields['Stripe Price Id'] }}"
},
{
"name": "line_items[0][quantity]",
"value": "={{ $json.fields.Quantity }}"
}
]
},
"nodeCredentialType": "stripeApi"
},
"typeVersion": 4.2
},
{
"id": "86d2ad6f-2501-4885-9f61-40563bcd132a",
"name": "便签 16",
"type": "n8n-nodes-base.stickyNote",
"position": [
10500,
760
],
"parameters": {
"color": 3,
"width": 520,
"height": 300,
"content": "### 步骤 13:生成 Stripe 支付链接(HTTP 请求)🔗💳"
},
"typeVersion": 1
},
{
"id": "cce1f3fd-3731-41ea-8b6c-b1b6872f571c",
"name": "获取所有 Quickbook 产品",
"type": "n8n-nodes-base.httpRequest",
"position": [
11440,
1400
],
"parameters": {
"url": "https://quickbooks.api.intuit.com/v3/company/{YOUR_QUICKBOOKS_COMPANY_ID}/query?query=SELECT%20*%20FROM%20Item",
"options": {},
"authentication": "predefinedCredentialType",
"nodeCredentialType": "quickBooksOAuth2Api"
},
"typeVersion": 4.2
},
{
"id": "e4819fee-6591-45cf-b9e7-000ec6ba07e4",
"name": "便签17",
"type": "n8n-nodes-base.stickyNote",
"position": [
11240,
1580
],
"parameters": {
"width": 540,
"height": 280,
"content": "### 步骤 14:从 QuickBooks 获取所有产品(HTTP 请求)📦🔍"
},
"typeVersion": 1
},
{
"id": "29e7df5d-6b99-44a4-8493-d3c2aec66353",
"name": "便签18",
"type": "n8n-nodes-base.stickyNote",
"position": [
12060,
760
],
"parameters": {
"color": 6,
"width": 540,
"height": 300,
"content": "### 步骤 15:按 Airtable 数据过滤产品(代码节点)⚙️🔍"
},
"typeVersion": 1
},
{
"id": "b6e2c9d4-502b-44e6-b907-8eab05c7561e",
"name": "过滤并返回产品详细信息",
"type": "n8n-nodes-base.code",
"position": [
12260,
1100
],
"parameters": {
"mode": "runOnceForEachItem",
"jsCode": "const airtableProductName = $('Update Quickbooks and Stripe Customer Ids').item.json.fields['Quickbooks Product Name'];\nconst quantity = $('Update Quickbooks and Stripe Customer Ids').item.json.fields.Quantity;\n\nconst quickBooksProducts = $json.QueryResponse.Item;\n\nconst matchingProduct = quickBooksProducts.find(product => product.Name === airtableProductName);\n\nif (matchingProduct) {\n const unitPrice = matchingProduct.UnitPrice || 0;\n const amount = unitPrice * (quantity || 0);\n\n return {\n json: {\n Id: matchingProduct.Id,\n Description: matchingProduct.Description,\n Amount: amount,\n }\n };\n} else {\n return {\n json: {\n Id: null,\n Description: null,\n Amount: 0,\n }\n };\n}\n"
},
"typeVersion": 2
},
{
"id": "4e309a57-bebd-4a0e-871f-1f66e7119099",
"name": "便签19",
"type": "n8n-nodes-base.stickyNote",
"position": [
12960,
1620
],
"parameters": {
"color": 4,
"width": 480,
"height": 300,
"content": "### 步骤 16:在 QuickBooks 中创建发票 🧾✨"
},
"typeVersion": 1
},
{
"id": "52c262a3-df12-47a4-bc8a-73eaaea82ec8",
"name": "更新 Stripe 支付链接和 Quickbooks 发票编号",
"type": "n8n-nodes-base.airtable",
"position": [
13840,
1100
],
"parameters": {
"base": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_BASE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_BASE_NAME}"
},
"table": {
"__rl": true,
"mode": "list",
"value": "{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultUrl": "https://airtable.com/{YOUR_AIRTABLE_BASE_ID}/{YOUR_AIRTABLE_TABLE_ID}",
"cachedResultName": "{YOUR_AIRTABLE_TABLE_NAME}"
},
"columns": {
"value": {
"id": "={{ $('Update Quickbooks and Stripe Customer Ids').item.json.id }}",
"Status": "Invoiced",
"Stripe Payment Link": "={{ $('Generate Payment Links').item.json.url }}",
"QuickBooks Invoice #": "=INV-{{ $json.DocNumber }}"
},
"schema": [
{
"id": "id",
"type": "string",
"display": true,
"removed": false,
"readOnly": true,
"required": false,
"displayName": "id",
"defaultMatch": true
},
{
"id": "Deal Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Deal Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Client Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Client Name",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Client Email",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Client Email",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Status",
"type": "options",
"display": true,
"options": [
{
"name": "Approved for Invoicing",
"value": "Approved for Invoicing"
},
{
"name": "Draft",
"value": "Draft"
},
{
"name": "Invoiced",
"value": "Invoiced"
}
],
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Status",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Line Items JSON",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Line Items JSON",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QuickBooks Customer ID",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "QuickBooks Customer ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stripe Customer ID",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Stripe Customer ID",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stripe Payment Link",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "Stripe Payment Link",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "QuickBooks Invoice #",
"type": "string",
"display": true,
"removed": false,
"readOnly": false,
"required": false,
"displayName": "QuickBooks Invoice #",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Stripe Price Id",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Stripe Price Id",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quantity",
"type": "number",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Quantity",
"defaultMatch": false,
"canBeUsedToMatch": true
},
{
"id": "Quickbooks Product Name",
"type": "string",
"display": true,
"removed": true,
"readOnly": false,
"required": false,
"displayName": "Quickbooks Product Name",
"defaultMatch": false,
"canBeUsedToMatch": true
}
],
"mappingMode": "defineBelow",
"matchingColumns": [
"id"
],
"attemptToConvertTypes": false,
"convertFieldsToString": false
},
"options": {},
"operation": "update"
},
"typeVersion": 2.1
},
{
"id": "cba338d9-dbad-4cf8-becc-609892ba96dc",
"name": "便签20",
"type": "n8n-nodes-base.stickyNote",
"position": [
13640,
740
],
"parameters": {
"color": 5,
"width": 480,
"height": 320,
"content": "### 步骤 17:更新 Airtable 记录 ✏️🔄"
},
"typeVersion": 1
},
{
"id": "e8125d20-5e72-443c-82ca-9f444ff91e1d",
"name": "工作流完成",
"type": "n8n-nodes-base.noOp",
"position": [
14660,
1420
],
"parameters": {},
"typeVersion": 1
},
{
"id": "b3e74b53-f2e4-4c37-adb0-008766c0c21e",
"name": "便签21",
"type": "n8n-nodes-base.stickyNote",
"position": [
14500,
1560
],
"parameters": {
"color": 4,
"width": 500,
"height": 300,
"content": "### 步骤 18:工作流完成(No-Op 节点)✅🎉"
},
"typeVersion": 1
},
{
"id": "75b2998f-2369-425a-b88b-f8e7383861f1",
"name": "便签22",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
40
],
"parameters": {
"color": 3,
"width": 620,
"height": 680,
"content": "### 先决条件 ⚙️🔗"
},
"typeVersion": 1
},
{
"id": "d88adcf9-9557-4759-9638-bfdd2f6e00b8",
"name": "便签 23",
"type": "n8n-nodes-base.stickyNote",
"position": [
14500,
900
],
"parameters": {
"width": 360,
"height": 300,
"content": "### 联系我们"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "e10a1c5b-b5c4-4861-a1b7-8cf52907b464",
"connections": {
"Search records": {
"main": [
[
{
"node": "IF - Status Check",
"type": "main",
"index": 0
}
]
]
},
"Airtable Trigger": {
"main": [
[
{
"node": "Search records",
"type": "main",
"index": 0
}
]
]
},
"Create a customer": {
"main": [
[
{
"node": "Merge QBO Customer",
"type": "main",
"index": 0
}
]
]
},
"Create an invoice": {
"main": [
[
{
"node": "Update Stripe Payment Link and Quickbooks Invoice #",
"type": "main",
"index": 0
}
]
]
},
"IF - Status Check": {
"main": [
[
{
"node": "QuickBooks - Find Customer",
"type": "main",
"index": 0
}
],
[
{
"node": "Exit from workflow",
"type": "main",
"index": 0
}
]
]
},
"Merge QBO Customer": {
"main": [
[
{
"node": "If - Stripe Customer Id",
"type": "main",
"index": 0
}
]
]
},
"IF - Customer Exists?": {
"main": [
[
{
"node": "Create a customer",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge QBO Customer",
"type": "main",
"index": 1
}
]
]
},
"Merge Stripe Customer": {
"main": [
[
{
"node": "Search records by email",
"type": "main",
"index": 0
}
]
]
},
"Generate Payment Links": {
"main": [
[
{
"node": "Get all Quickbook products",
"type": "main",
"index": 0
}
]
]
},
"Stripe - Find Customer": {
"main": [
[
{
"node": "Merge - Stripe Customers",
"type": "main",
"index": 1
}
]
]
},
"If - Stripe Customer Id": {
"main": [
[
{
"node": "Stripe - Find Customer",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge - Stripe Customers",
"type": "main",
"index": 0
}
]
]
},
"Search records by email": {
"main": [
[
{
"node": "Update Quickbooks and Stripe Customer Ids",
"type": "main",
"index": 0
}
]
]
},
"Merge - Stripe Customers": {
"main": [
[
{
"node": "IF - Stripe Customer Exists?",
"type": "main",
"index": 0
}
]
]
},
"Stripe - Create Customer": {
"main": [
[
{
"node": "Merge Stripe Customer",
"type": "main",
"index": 0
}
]
]
},
"Get all Quickbook products": {
"main": [
[
{
"node": "Filter and Return product details",
"type": "main",
"index": 0
}
]
]
},
"QuickBooks - Find Customer": {
"main": [
[
{
"node": "IF - Customer Exists?",
"type": "main",
"index": 0
}
]
]
},
"IF - Stripe Customer Exists?": {
"main": [
[
{
"node": "Stripe - Create Customer",
"type": "main",
"index": 0
}
],
[
{
"node": "Merge Stripe Customer",
"type": "main",
"index": 1
}
]
]
},
"Filter and Return product details": {
"main": [
[
{
"node": "Create an invoice",
"type": "main",
"index": 0
}
]
]
},
"Update Quickbooks and Stripe Customer Ids": {
"main": [
[
{
"node": "Generate Payment Links",
"type": "main",
"index": 0
}
]
]
},
"Update Stripe Payment Link and Quickbooks Invoice #": {
"main": [
[
{
"node": "Workflow Completed",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
这是一个高级难度的工作流,适用于Invoice Processing、Multimodal AI等场景。适合高级用户,包含 16+ 个节点的复杂工作流
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
从Airtable到QuickBooks自动化费用报告
从Airtable到QuickBooks自动化费用报告
If
Merge
Airtable
+4
20 节点Intuz
Invoice Processing
从 Airtable 销售订单自动执行 QuickBooks 发票开具和客户创建
Airtable 和 QuickBooks 之间的自动化工作流
If
Code
Merge
+6
35 节点Intuz
Content Creation
CB资助公司及信息丰富
自动化潜在客户生成与邮件外联:Apify、Apollo.io、GPT-4和Google Sheets
If
Code
Merge
+8
32 节点Intuz
Lead Generation
从Stripe支付和客户创建自动生成QuickBooks销售收据
从Stripe支付自动化QuickBooks销售收据和客户创建
If
Code
Merge
+4
17 节点Intuz
Miscellaneous
实时 - 使用Gemini和Creatomate自动化病毒式AI视频制作与发布
使用Gemini和Creatomate自动化AI视频创作与多平台发布
Set
Code
Wait
+15
47 节点Intuz
Content Creation
使用Apify、Apollo.io和Google Gemini自动化LinkedIn职位AI驱动潜在客户生成
自动化LinkedIn职位潜在客户生成:Apify、Apollo.io和Google Gemini
If
Code
Limit
+11
47 节点Intuz
Lead Generation
工作流信息
难度等级
高级
节点数量46
分类2
节点类型10
作者
Intuz
@intuzWorkflow automation can help automate your routine activities and help saves $$$, as well as hours of time. As a boutique tech consulting company, Intuz help businesses with custom AI/ML, AI Workflow Automations, and software development. Automate your business workflow for: Sales Marketing Accounting Finance Operations E-Commerce Customer Support Admin & Backoffice Logistics & Supply Chain
外部链接
在 n8n.io 上查看 →
分享此工作流