Synchronisation en temps réel des factures QuickBooks vers Slack
Ceci est unInvoice Processing, Multimodal AIworkflow d'automatisation du domainecontenant 10 nœuds.Utilise principalement des nœuds comme Code, Slack, Webhook, Quickbooks. Automatisation des rappels de factures QuickBooks en temps réel dans Slack
- •Token Bot Slack ou URL Webhook
- •Point de terminaison HTTP Webhook (généré automatiquement par n8n)
Nœuds utilisés (10)
{
"id": "HryakGwRjy2LO1wa",
"meta": {
"instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787"
},
"name": "Real-Time QuickBooks Invoice Sync to Slack",
"tags": [],
"nodes": [
{
"id": "4cbf005e-2368-4c6d-b3ab-e3530953ad40",
"name": "QuickBooks Déclencheur Webhook",
"type": "n8n-nodes-base.webhook",
"position": [
120,
900
],
"webhookId": "{YOUR_WEBHOOK_ID}",
"parameters": {
"path": "quickbooks-invoice",
"options": {},
"httpMethod": "POST"
},
"typeVersion": 1
},
{
"id": "0537ea5b-7013-4190-97ae-6e54501049bc",
"name": "Code",
"type": "n8n-nodes-base.code",
"position": [
1300,
900
],
"parameters": {
"jsCode": "return items.map(item => {\n return {\n json: {\n ID: item.json.Id,\n Domain: item.json.domain,\n \"Customer Name\": item.json.CustomerRef?.name || \"\",\n \"Due Date\": item.json.DueDate || \"\"\n }\n };\n});\n"
},
"typeVersion": 2
},
{
"id": "edb8d672-8327-4218-810e-17fc6a24d35f",
"name": "Obtenir une facture",
"type": "n8n-nodes-base.quickbooks",
"position": [
740,
900
],
"parameters": {
"resource": "invoice",
"invoiceId": "={{ $json.body.eventNotifications[0].dataChangeEvent.entities[0].id }}"
},
"typeVersion": 1
},
{
"id": "75b72ba9-98a1-4369-a930-2189e3cead72",
"name": "Note adhésive",
"type": "n8n-nodes-base.stickyNote",
"position": [
0,
-40
],
"parameters": {
"color": 3,
"width": 480,
"height": 360,
"content": "## 🛠️ Prerequisites\n\nBefore running this workflow, make sure the following are set up:\n\n1. **QuickBooks Webhook Configuration** \n - Connect the **production URL** of your webhook to the **Intuit Developer Portal** for your specific company. \n - Ensure **Invoice** events are subscribed and activated (e.g., create, update, delete).\n\n2. **Slack account Integration** \n - Connect your **Slack client credentials**. \n\n\nOnce these are in place, your workflow will seamlessly capture and log every invoice change in real time. 🚀📊\n"
},
"typeVersion": 1
},
{
"id": "ca26318b-5b28-4f13-b46e-ec7c6e055579",
"name": "Note adhésive1",
"type": "n8n-nodes-base.stickyNote",
"position": [
-60,
1040
],
"parameters": {
"width": 380,
"height": 360,
"content": "### Step 1: Webhook Trigger Activated! 🪝📢\n\nThis node is the **starting point** of the workflow.\n\nIt listens for **invoice changes in QuickBooks**\n\nWhat it does:\n\n- 📡 Captures the event in real time from QuickBooks.\n- 📦 Passes the invoice data into the workflow instantly.\n- 🔄 Eliminates the need for manual checks or periodic polling.\n"
},
"typeVersion": 1
},
{
"id": "de869e01-8b5d-40f6-a441-367ed61d32cd",
"name": "Note adhésive2",
"type": "n8n-nodes-base.stickyNote",
"position": [
560,
480
],
"parameters": {
"color": 5,
"width": 460,
"height": 400,
"content": "### Step 2: Invoice Data Fetcher 📄🔍\n\nThis node uses the **Get an Invoice** operation to pull full details of the invoice from QuickBooks.\n\nWhy this step is important:\n\n- ✅ Retrieves complete and up-to-date invoice information.\n- 📊 Captures fields like invoice number, date, customer.\n- 🧾 Ensures the Google Sheet reflects the exact state of the invoice at the moment of the event.\n\nIt’s the step that turns a simple event notification into a fully detailed record. 📥✨\n"
},
"typeVersion": 1
},
{
"id": "9e919726-2e33-4d1a-90af-ce811a5435c0",
"name": "Note adhésive3",
"type": "n8n-nodes-base.stickyNote",
"position": [
1140,
1040
],
"parameters": {
"color": 3,
"width": 420,
"height": 320,
"content": "### Step 3: JSON Formatter 🛠️📦\n\nThis **Code** node takes the raw invoice data from QuickBooks and formats it into a clean, structured JSON object—ready to be sent to Slack channel\n\nWhat it does:\n\n- 🧹 Extracts only the necessary fields (e.g., id, domain, Customer Name, Due Date).\n- 🔄 Converts the data into the correct order and structure for the message.\n- 📐 Ensures consistent formatting so every message in the channel stays organized.\n\n"
},
"typeVersion": 1
},
{
"id": "7e01de38-6b16-48fa-b125-dd0da09472de",
"name": "Note adhésive4",
"type": "n8n-nodes-base.stickyNote",
"position": [
1700,
440
],
"parameters": {
"color": 6,
"width": 540,
"height": 440,
"content": "### Step 4: Slack Message Generator 💬⚡\n\nThis node creates a **custom message** to notify your Slack channel about the new or updated invoice.\n\n**Sample message format**: \n> Invoice having ID: `160` having the Domain: `QBO` for the customer `Rondonuwu Fruit and Vegi` which is due on `2025-09-07` has been generated successfully.\n\nWhat it does:\n\n- 🧠 Dynamically fills in invoice details (ID, Domain, Customer Name, Due Date).\n- 📢 Prepares a human-readable message for instant team updates.\n- ✅ Keeps everyone in the loop without having to check QuickBooks manually.\n\nClear, concise, and delivered straight to your Slack workspace. 📡\n"
},
"typeVersion": 1
},
{
"id": "0bd08387-d175-44f4-8f83-d37792c76de0",
"name": "Envoyer un message",
"type": "n8n-nodes-base.slack",
"position": [
1960,
900
],
"webhookId": "3022ba8d-9f02-474a-9bed-997eea9a690d",
"parameters": {
"text": "=Invoice having ID: {{ $json.ID }} having the Domain: {{ $json.Domain }} for the customer {{ $json[\"Customer Name\"] }} which is due on {{ $json[\"Due Date\"] }} has been generated successfully\n",
"select": "channel",
"blocksUi": "=[\n {\n \"type\": \"section\",\n \"text\": {\n \"type\": \"mrkdwn\",\n \"text\": \"Invoice having ID: {{ $json.ID }} having the Domain: {{ $json.Domain }} for the customer {{ $json['Customer Name'] }} which is due on {{ $json['Due Date'] }} has been generated successfully\"\n }\n }\n]\n",
"channelId": {
"__rl": true,
"mode": "list",
"value": "{YOUR_SLACK_CHANNEL_ID}",
"cachedResultName": "n8nmessages"
},
"messageType": "block",
"otherOptions": {},
"authentication": "oAuth2"
},
"typeVersion": 2.3
},
{
"id": "33917945-18e9-4a9a-8bf2-9bb131838de5",
"name": "Note adhésive5",
"type": "n8n-nodes-base.stickyNote",
"position": [
1880,
1120
],
"parameters": {
"color": 3,
"width": 420,
"height": 320,
"content": "### Get in Touch\n\nPlease feel free to reachout to us, if you need any help in settin up this workflow.\n\nWe can also help customize workflow pet the use-case. \n\nReach out us at: getstarted@intuz.com\n\nWebsite: https://www.intuz.com/\n\n"
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "51ee5907-ffb1-46fe-8ea9-cda24f3190a9",
"connections": {
"0537ea5b-7013-4190-97ae-6e54501049bc": {
"main": [
[
{
"node": "0bd08387-d175-44f4-8f83-d37792c76de0",
"type": "main",
"index": 0
}
]
]
},
"edb8d672-8327-4218-810e-17fc6a24d35f": {
"main": [
[
{
"node": "0537ea5b-7013-4190-97ae-6e54501049bc",
"type": "main",
"index": 0
}
]
]
},
"QuickBooks Webhook": {
"main": [
[
{
"node": "edb8d672-8327-4218-810e-17fc6a24d35f",
"type": "main",
"index": 0
}
]
]
}
}
}Comment utiliser ce workflow ?
Copiez le code de configuration JSON ci-dessus, créez un nouveau workflow dans votre instance n8n et sélectionnez "Importer depuis le JSON", collez la configuration et modifiez les paramètres d'authentification selon vos besoins.
Dans quelles scénarios ce workflow est-il adapté ?
Intermédiaire - Traitement des factures, IA Multimodale
Est-ce payant ?
Ce workflow est entièrement gratuit et peut être utilisé directement. Veuillez noter que les services tiers utilisés dans le workflow (comme l'API OpenAI) peuvent nécessiter un paiement de votre part.
Workflows recommandés
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
Partager ce workflow