使用Outlook和QuickBooks自动化客户账单详情收集与开票
中级
这是一个Invoice Processing, Multimodal AI领域的自动化工作流,包含 15 个节点。主要使用 Quickbooks, FormTrigger, MicrosoftOutlook 等节点。 使用Outlook和QuickBooks自动化客户账单详情收集与开票
前置要求
- •无特殊前置要求,导入即可使用
工作流预览
可视化展示节点连接关系,支持缩放和平移
导出工作流
复制以下 JSON 配置到 n8n 导入,即可使用此工作流
{
"meta": {
"instanceId": "d6e2f2f655b1125bbcac14a4cac6d2e46c7a150e927f85fc96fdca1a6dc39e0e",
"templateCredsSetupCompleted": true
},
"nodes": [
{
"id": "cae8787a-786d-4fc5-bf08-630e5b6ffb83",
"name": "将客户添加到 QBO",
"type": "n8n-nodes-base.quickbooks",
"onError": "continueRegularOutput",
"position": [
1280,
304
],
"parameters": {
"operation": "create",
"displayName": "={{ $json.data['Company Name'] ? $json.data['Company Name'] : $json.data['First Name'] + \" \" + $json.data['Last Name'] }}",
"additionalFields": {
"BillAddr": {
"details": {
"City": "={{ $json.data.City }}",
"Line1": "={{ $json.data['Street Address'] }}",
"PostalCode": "={{ $json.data['Zip / Postal Code'] }}",
"CountrySubDivisionCode": "={{ $json.data['State / Province'] }}"
}
},
"GivenName": "={{ $json.data['First Name'] }}",
"FamilyName": "={{ $json.data['Last Name'] }}",
"CompanyName": "={{ $json.data['Company Name'] }}",
"PrimaryPhone": "={{ $json.data['Phone Number'] }}",
"PrimaryEmailAddr": "={{ $('Enter Client Details').item.json['What is the client\\'s email?'] }}"
}
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "zZyR3nZpTizUyR0u",
"name": "QuickBooks n8n Sandbox"
}
},
"typeVersion": 1
},
{
"id": "63086803-cda4-4760-a0b2-3255d1e37037",
"name": "查找现有客户",
"type": "n8n-nodes-base.quickbooks",
"position": [
1552,
304
],
"parameters": {
"limit": 1,
"filters": {
"query": "=WHERE DisplayName = '{{ $('Ask Client for Billing Info').item.json.data['Company Name'] ? $('Ask Client for Billing Info').item.json.data['Company Name'] : $('Ask Client for Billing Info').item.json.data['First Name'] + \" \" + $('Ask Client for Billing Info').item.json.data['Last Name'] }}'"
},
"operation": "getAll"
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "zZyR3nZpTizUyR0u",
"name": "QuickBooks n8n Sandbox"
}
},
"typeVersion": 1
},
{
"id": "5dc696bb-11cf-4a79-97b6-80acc6fb6548",
"name": "便签",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
0
],
"parameters": {
"width": 660,
"height": 1520,
"content": "## 向客户索取账单详情并自动在 QuickBooks 中生成发票"
},
"typeVersion": 1
},
{
"id": "1f003845-a2cb-401a-93aa-ff2aa0cf889e",
"name": "便签 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
128
],
"parameters": {
"color": 7,
"height": 360,
"content": "## 输入客户信息"
},
"typeVersion": 1
},
{
"id": "e0d9812c-0327-47f0-a4d2-f08559b2ea66",
"name": "便签 2",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
128
],
"parameters": {
"color": 7,
"height": 360,
"content": "## 向客户索取信息"
},
"typeVersion": 1
},
{
"id": "d9df35de-c805-47a5-b403-ba7a891bd9ce",
"name": "便签 5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
128
],
"parameters": {
"color": 7,
"height": 360,
"content": "## 将客户添加到 QBO"
},
"typeVersion": 1
},
{
"id": "4fd29b6e-1b35-4a19-8574-7eb72a1f6bbc",
"name": "便签6",
"type": "n8n-nodes-base.stickyNote",
"position": [
1488,
128
],
"parameters": {
"color": 7,
"height": 360,
"content": "## 查找现有客户"
},
"typeVersion": 1
},
{
"id": "8b5d4376-5b4f-4e46-8dc0-03bacfb1473c",
"name": "便签7",
"type": "n8n-nodes-base.stickyNote",
"position": [
960,
512
],
"parameters": {
"color": 7,
"height": 380,
"content": "## 创建新发票"
},
"typeVersion": 1
},
{
"id": "aa570522-1427-4875-a0a5-c776f7a6f4ef",
"name": "输入客户详情",
"type": "n8n-nodes-base.formTrigger",
"position": [
768,
304
],
"webhookId": "9f932cb2-8f3c-4e22-b05f-4594c491c30a",
"parameters": {
"options": {
"appendAttribution": true
},
"formTitle": "Enter Client Details",
"formFields": {
"values": [
{
"fieldLabel": "What is the client's first name?",
"requiredField": true
},
{
"fieldLabel": "What is the client's email?",
"requiredField": true
},
{
"fieldType": "dropdown",
"fieldLabel": "Product",
"fieldOptions": {
"values": [
{
"option": "Item A"
},
{
"option": "Misc"
}
]
},
"requiredField": true
},
{
"fieldType": "textarea",
"fieldLabel": "Description of what is being sold",
"requiredField": true
},
{
"fieldType": "number",
"fieldLabel": "Amount (before taxes)",
"requiredField": true
},
{
"fieldType": "date",
"fieldLabel": "Invoice Due Date",
"requiredField": true
}
]
},
"formDescription": "Please enter the client's details so we can contact them for their billing info."
},
"typeVersion": 2.2
},
{
"id": "c0b85a31-5b18-4f8b-9c31-5c5038fd9e8b",
"name": "便签8",
"type": "n8n-nodes-base.stickyNote",
"position": [
1232,
512
],
"parameters": {
"color": 7,
"height": 380,
"content": "## 向客户发送发票"
},
"typeVersion": 1
},
{
"id": "9df68696-127f-455e-b598-35e0b37cc3eb",
"name": "获取所选产品",
"type": "n8n-nodes-base.quickbooks",
"position": [
752,
704
],
"parameters": {
"limit": 1,
"filters": {
"query": "=WHERE name = '{{ $('Enter Client Details').item.json.Product }}'"
},
"resource": "item",
"operation": "getAll"
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "zZyR3nZpTizUyR0u",
"name": "QuickBooks n8n Sandbox"
}
},
"typeVersion": 1
},
{
"id": "0a83e9e0-e1a4-49c2-ac5e-e7643a932002",
"name": "便签9",
"type": "n8n-nodes-base.stickyNote",
"position": [
704,
512
],
"parameters": {
"color": 7,
"height": 380,
"content": "## 获取所选产品"
},
"typeVersion": 1
},
{
"id": "030571d0-d2ba-4186-97fb-ba7c45f4ec43",
"name": "创建新发票",
"type": "n8n-nodes-base.quickbooks",
"position": [
1024,
704
],
"parameters": {
"Line": [
{
"Amount": "={{ $('Enter Client Details').item.json['Amount (before taxes)'] }}",
"itemId": "={{ $json.Id }}",
"DetailType": "SalesItemLineDetail",
"TaxCodeRef": "5",
"Description": "={{ $('Enter Client Details').item.json['Description of what is being sold'] }}"
}
],
"resource": "invoice",
"operation": "create",
"CustomerRef": "={{ $('Find Existing Customer').item.json.Id ? $('Find Existing Customer').item.json.Id : $('Add Client to QBO').item.json.Id }}",
"additionalFields": {
"DueDate": "={{ $('Enter Client Details').item.json['Invoice Due Date'] }}",
"BillEmail": "={{ $('Enter Client Details').item.json['What is the client\\'s email?'] }}"
}
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "zZyR3nZpTizUyR0u",
"name": "QuickBooks n8n Sandbox"
}
},
"typeVersion": 1
},
{
"id": "a563cc2b-0bf5-4676-a0b2-5ddcfaaa1f75",
"name": "发送发票",
"type": "n8n-nodes-base.quickbooks",
"position": [
1280,
704
],
"parameters": {
"email": "={{ $('Enter Client Details').item.json['What is the client\\'s email?'] }}",
"resource": "invoice",
"invoiceId": "={{ $json.Id }}",
"operation": "send"
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "zZyR3nZpTizUyR0u",
"name": "QuickBooks n8n Sandbox"
}
},
"typeVersion": 1
},
{
"id": "0d498c28-de86-407f-85ea-a87f2bc3624e",
"name": "向客户索取账单信息",
"type": "n8n-nodes-base.microsoftOutlook",
"position": [
1024,
304
],
"webhookId": "c711ace8-971f-4992-9c3d-f883d0c09387",
"parameters": {
"message": "=Hello {{ $json['First Name'] || 'Customer' }},\n\nCompany A is requesting your billing information in order to create an invoice and finalize your order.\n\n**Description:** {{ $json['Description of what is being sold'] }} \n**Amount (before tax):** ${{ $json['Amount (before taxes)'] }}\n\nPlease fill in the form below so we can complete your invoice.\n\nThanks, \nCompany A",
"options": {},
"subject": "Billing Details Required",
"operation": "sendAndWait",
"formFields": {
"values": [
{
"fieldLabel": "First Name",
"requiredField": true
},
{
"fieldLabel": "Last Name",
"requiredField": true
},
{
"fieldLabel": "Company Name"
},
{
"fieldLabel": "Street Address",
"requiredField": true
},
{
"fieldLabel": "City",
"requiredField": true
},
{
"fieldLabel": "State / Province",
"requiredField": true
},
{
"fieldLabel": "Zip / Postal Code",
"requiredField": true
},
{
"fieldLabel": "Phone Number"
}
]
},
"responseType": "customForm",
"toRecipients": "={{ $json['What is the client\\'s email?'] }}"
},
"typeVersion": 2
}
],
"pinData": {},
"connections": {
"Add Client to QBO": {
"main": [
[
{
"node": "Find Existing Customer",
"type": "main",
"index": 0
}
]
]
},
"Create A New Invoice": {
"main": [
[
{
"node": "Send the Invoice",
"type": "main",
"index": 0
}
]
]
},
"Enter Client Details": {
"main": [
[
{
"node": "Ask Client for Billing Info",
"type": "main",
"index": 0
}
]
]
},
"Find Existing Customer": {
"main": [
[
{
"node": "Get The Selected Product",
"type": "main",
"index": 0
}
]
]
},
"Get The Selected Product": {
"main": [
[
{
"node": "Create A New Invoice",
"type": "main",
"index": 0
}
]
]
},
"Ask Client for Billing Info": {
"main": [
[
{
"node": "Add Client to QBO",
"type": "main",
"index": 0
}
]
]
}
}
}常见问题
如何使用这个工作流?
复制上方的 JSON 配置代码,在您的 n8n 实例中创建新工作流并选择「从 JSON 导入」,粘贴配置后根据需要修改凭证设置即可。
这个工作流适合什么场景?
中级 - 发票处理, 多模态 AI
需要付费吗?
本工作流完全免费,您可以直接导入使用。但请注意,工作流中使用的第三方服务(如 OpenAI API)可能需要您自行付费。
相关工作流推荐
Google Sheets和QuickBooks费用自动化模板
Google Sheets和QuickBooks费用自动化模板
If
Set
Split Out
+6
16 节点Rosh Ragel
发票处理
客户账单详情收集与发票生成(Gmail 和 QuickBooks)
使用 Gmail 和 QuickBooks 收集客户账单详情并生成发票
Gmail
Quickbooks
Form Trigger
+1
15 节点Rosh Ragel
发票处理
Gmail与QuickBooks Online工作流
Gmail与QuickBooks Online工作流
Gmail
Gmail Trigger
Schedule Trigger
+1
11 节点Rosh Ragel
发票处理
从Gmail标签使用GPT-4O + QuickBooks自动创建发票
从Gmail标签使用GPT-4O + QuickBooks自动创建发票
Code
Gmail
Quickbooks
+5
23 节点Rosh Ragel
发票处理
自动通过 Outlook 发送 Square 月度销售报告
自动通过 Outlook 发送 Square 月度销售报告
If
Code
Split Out
+5
16 节点Rosh Ragel
文档提取
报销申请
使用 Gmail、Google Drive 和 AI 验证实现员工报销工作流自动化
If
Code
Gmail
+6
19 节点Pramod Kumar Rathoure
发票处理