Synchronisation en temps réel des factures QuickBooks vers Slack

Intermédiaire

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

Prérequis
  • Token Bot Slack ou URL Webhook
  • Point de terminaison HTTP Webhook (généré automatiquement par n8n)
Aperçu du workflow
Visualisation des connexions entre les nœuds, avec support du zoom et du déplacement
Exporter le workflow
Copiez la configuration JSON suivante dans n8n pour importer et utiliser ce workflow
{
  "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
          }
        ]
      ]
    }
  }
}
Foire aux questions

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.

Informations sur le workflow
Niveau de difficulté
Intermédiaire
Nombre de nœuds10
Catégorie2
Types de nœuds5
Description de la difficulté

Adapté aux utilisateurs expérimentés, avec des workflows de complexité moyenne contenant 6-15 nœuds

Auteur
Intuz

Intuz

@intuz

Workflow 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

Liens externes
Voir sur n8n.io

Partager ce workflow

Catégories

Catégories: 34