Automatisierte Erstellung von QuickBooks-Kunden und Kostenvoranschlägen

Experte

Dies ist ein CRM, Multimodal AI-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden If, Set, Quickbooks, GoogleSheetsTrigger und andere Nodes verwendet. Automatisierung der Erstellung von QuickBooks-Kunden und Kostenvoranschlägen aus Google Sheets

Voraussetzungen
  • Google Sheets API-Anmeldedaten
Workflow-Vorschau
Visualisierung der Node-Verbindungen, mit Zoom und Pan
Workflow exportieren
Kopieren Sie die folgende JSON-Konfiguration und importieren Sie sie in n8n
{
  "id": "9pEgr7vVvXPDtNdZ",
  "meta": {
    "instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787"
  },
  "name": "Automate Quickbook Customer & Estimation Creation",
  "tags": [],
  "nodes": [
    {
      "id": "4cf9b22e-5514-4e34-9cb3-ed66411e6de0",
      "name": "Setzen - Felder normalisieren",
      "type": "n8n-nodes-base.set",
      "position": [
        540,
        980
      ],
      "parameters": {
        "values": {
          "number": [
            {
              "name": "Amount",
              "value": "={{$json.Amount }}"
            }
          ],
          "string": [
            {
              "name": "CustomerName",
              "value": "={{$json['CustomerName']}}"
            },
            {
              "name": "Email",
              "value": "={{$json['Email']}}"
            },
            {
              "name": "Phone",
              "value": "={{$json['Phone']}}"
            },
            {
              "name": "Company Name",
              "value": "={{$json['Company Name']}}"
            }
          ]
        },
        "options": {}
      },
      "typeVersion": 1
    },
    {
      "id": "bd6f49f4-27ec-4a52-afe3-453863d0a785",
      "name": "QuickBooks - Kunde suchen",
      "type": "n8n-nodes-base.quickbooks",
      "position": [
        1020,
        980
      ],
      "parameters": {
        "limit": 500,
        "filters": {
          "query": "=WHERE DisplayName = '{{ $json.CustomerName }}'\n\n"
        },
        "operation": "getAll"
      },
      "typeVersion": 1,
      "alwaysOutputData": true
    },
    {
      "id": "82e53cdc-6e3b-4df0-8f05-8b5802d97d69",
      "name": "Wenn - Kunde vorhanden?",
      "type": "n8n-nodes-base.if",
      "position": [
        1460,
        980
      ],
      "parameters": {
        "conditions": {
          "string": [
            {
              "value1": "={{ $json[\"Id\"] }}",
              "operation": "isEmpty"
            }
          ]
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8631ac1c-94a8-47a4-bc7d-601b55c4e388",
      "name": "QuickBooks - Kunde erstellen (NEU)",
      "type": "n8n-nodes-base.quickbooks",
      "position": [
        1960,
        640
      ],
      "parameters": {
        "operation": "create",
        "displayName": "={{ $('Google Sheets Trigger').item.json.CustomerName }}",
        "additionalFields": {
          "CompanyName": "={{ $('Google Sheets Trigger').item.json['Company Name'] }}",
          "PrimaryPhone": "={{ $('Google Sheets Trigger').item.json.Phone }}",
          "PrimaryEmailAddr": "={{ $('Google Sheets Trigger').item.json.Email }}"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
      "name": "No-op (Ende)",
      "type": "n8n-nodes-base.noOp",
      "position": [
        3300,
        1000
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "f98ee27a-73e2-4625-92f0-18fd2969760f",
      "name": "Google Tabellen Trigger",
      "type": "n8n-nodes-base.googleSheetsTrigger",
      "position": [
        100,
        980
      ],
      "parameters": {
        "event": "rowAdded",
        "options": {},
        "pollTimes": {
          "item": [
            {
              "mode": "everyMinute"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_SHEETS_ID}/edit#gid=0",
          "cachedResultName": "quickbooksCustomer"
        },
        "documentId": {
          "__rl": true,
          "mode": "list",
          "value": "{YOUR_GOOGLE_SHEETS_ID}",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/{YOUR_GOOGLE_SHEETS_ID}/edit?usp=drivesdk",
          "cachedResultName": "quickbooksCustomer"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "8addc4c1-0f40-4e07-83fe-f11ae9706069",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        640
      ],
      "parameters": {
        "color": 6,
        "width": 440,
        "height": 320,
        "content": "### Step 1: Google Sheet Trigger 📊⚡\n\nThis node listens for new rows appended to a Google Sheet and triggers the workflow each time a new entry is added.\n\nWhy this step is important:\n\n- ⏰ Automatically starts the workflow without manual intervention.\n- 📈 Captures new data entries in real time.\n- 🔄 Ensures your automation reacts instantly to updates in the sheet.\n\nIt’s the step that keeps your workflow in sync with your Google Sheet data. 🔔✨\n"
      },
      "typeVersion": 1
    },
    {
      "id": "9a2cd2c2-2d58-4a82-8187-937d96f7a6bc",
      "name": "Haftnotiz1",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        380,
        1140
      ],
      "parameters": {
        "width": 480,
        "height": 300,
        "content": "### Step 2: Data Formatter (Set Node) 🛠️📋\n\nThis node formats and organizes the raw data from the Google Sheet into clean, usable variables for the workflow.\n\nWhy this step is important:\n\n- 🧹 Cleans and structures incoming data for easier processing.\n- 🔄 Prepares variables needed for subsequent nodes.\n- 🎯 Ensures consistent data format throughout the workflow.\n\nIt’s the step that shapes your raw input into actionable information. ⚙️✨\n"
      },
      "typeVersion": 1
    },
    {
      "id": "31fe85c1-e5e0-458c-9493-114ac37eb07f",
      "name": "Haftnotiz2",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        800,
        640
      ],
      "parameters": {
        "color": 3,
        "width": 560,
        "height": 300,
        "content": "### Step 3: Find Customer in QuickBooks 🔍👤\n\nThis node uses the **Find Customer** operation to check if a customer already exists in QuickBooks based on the name.\n\nWhy this step is important:\n\n- ✅ Avoids duplicate customer entries.\n- 🔎 Confirms customer presence before creating or updating records.\n- 📋 Helps maintain clean and accurate customer data.\n\nIt’s the step that verifies your customer’s existence to keep your database tidy and consistent. 🧹✨\n"
      },
      "typeVersion": 1
    },
    {
      "id": "532ad17a-c3a3-411d-94a6-23c68639644d",
      "name": "Haftnotiz3",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1280,
        1140
      ],
      "parameters": {
        "color": 5,
        "width": 560,
        "height": 360,
        "content": "### Step 4: Customer Existence Check (If Node) ❓✅❌\n\nThis node evaluates whether the customer exists based on the previous **Find Customer** step.\n\n- **True:** Customer does **not** exist in QuickBooks.\n- **False:** Customer **already exists** in QuickBooks.\n\nWhy this step is important:\n\n- 🔄 Directs the workflow to create a new customer or skip creation.\n- ⚙️ Ensures the right path is taken for accurate data handling.\n- 🛡️ Prevents duplicate customer records in your system.\n\nIt’s the decision point that keeps your customer data clean and your workflow efficient. 🔀✨\n"
      },
      "typeVersion": 1
    },
    {
      "id": "75bb775b-9f42-4502-b656-f155d4deee91",
      "name": "Haftnotiz4",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        1740,
        300
      ],
      "parameters": {
        "color": 4,
        "width": 540,
        "height": 300,
        "content": "### Step 5: Create New Customer in QuickBooks ➕👤\n\nThis node uses the **Create Customer** operation to add a new customer to QuickBooks when they don’t already exist.\n\nWhy this step is important:\n\n- 🆕 Adds missing customers automatically.\n- 📥 Keeps your QuickBooks customer database up-to-date.\n- 🔗 Ensures new invoices link to the correct customer records.\n\nIt’s the step that fills gaps in your customer list, making sure no one gets left out. ✍️✨\n"
      },
      "typeVersion": 1
    },
    {
      "id": "fb2a8680-92e8-4a86-ba7c-c93a85a0c232",
      "name": "Haftnotiz5",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3140,
        1180
      ],
      "parameters": {
        "color": 6,
        "width": 480,
        "height": 280,
        "content": "### Step 7: No-Op Node 🛑✨\n\nThis node acts as a **no operation** step to gracefully conclude the workflow without performing any action.\n\nWhy this step is important:\n\n- 🛡️ Ensures a smooth and clean workflow termination.\n- 🔄 Prevents errors by providing a controlled end point.\n- 🧩 Helps maintain clear and organized workflow logic.\n\nIt’s the final checkpoint that safely wraps up the process. 🎬✅\n"
      },
      "typeVersion": 1
    },
    {
      "id": "26f5e203-a313-4bcc-a7db-dcaaf10ce0fa",
      "name": "Haftnotiz6",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -80,
        300
      ],
      "parameters": {
        "color": 3,
        "width": 400,
        "height": 220,
        "content": "### Prerequisites ⚙️🔗\n\n- Connect your **Google OAuth2** credentials with both **Google Sheets** and **Google Drive** enabled.\n- Connect your **QuickBooks OAuth2** credentials.\n\nThese connections ensure seamless authentication and access to the required services throughout the workflow. 🔐🚀\n"
      },
      "typeVersion": 1
    },
    {
      "id": "242b1395-cbd2-414f-bccf-ab1a8921778b",
      "name": "Kostenvoranschlag erstellen",
      "type": "n8n-nodes-base.quickbooks",
      "position": [
        2860,
        640
      ],
      "parameters": {
        "Line": [
          {
            "Amount": "={{ $('Google Sheets Trigger').item.json.Amount}}",
            "itemId": "15",
            "LineNum": 1,
            "DetailType": "SalesItemLineDetail",
            "TaxCodeRef": "TAX",
            "Description": "Sales Estimate"
          }
        ],
        "resource": "estimate",
        "operation": "create",
        "CustomerRef": "={{ $json.Id }}",
        "additionalFields": {}
      },
      "typeVersion": 1
    },
    {
      "id": "6fe76106-1236-41ec-96c0-f94eec48cce8",
      "name": "Haftnotiz7",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        2580,
        340
      ],
      "parameters": {
        "color": 5,
        "width": 580,
        "height": 280,
        "content": "### Step 6: Create Estimate in QuickBooks 🧾✨\n\nThis node uses the **Create Estimate** operation to generate an estimate in QuickBooks based on the data from the Google Sheet.\n\nWhy this step is important:\n\n- 📊 Converts your sheet data into a formal QuickBooks estimate.\n- 💼 Streamlines your sales process by automating estimate creation.\n- 🔗 Links estimates directly to customer and invoice records.\n\nIt’s the step that turns raw data into actionable sales documents. 💡📈\n"
      },
      "typeVersion": 1
    },
    {
      "id": "d02e5da2-204e-4461-bec0-815f13ab7b6e",
      "name": "Haftnotiz8",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        3820,
        940
      ],
      "parameters": {
        "color": 6,
        "width": 520,
        "height": 340,
        "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": "21e19475-1189-471a-bbfc-57b092fa82a6",
  "connections": {
    "242b1395-cbd2-414f-bccf-ab1a8921778b": {
      "main": [
        [
          {
            "node": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Google Sheets Trigger": {
      "main": [
        [
          {
            "node": "Set - Felder normalisieren",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "IF - Kunde vorhanden?": {
      "main": [
        [
          {
            "node": "8631ac1c-94a8-47a4-bc7d-601b55c4e388",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "52f890dd-8f40-4e8d-abd6-ae844a01f97d",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Set - Felder normalisieren": {
      "main": [
        [
          {
            "node": "bd6f49f4-27ec-4a52-afe3-453863d0a785",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "bd6f49f4-27ec-4a52-afe3-453863d0a785": {
      "main": [
        [
          {
            "node": "IF - Kunde vorhanden?",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "8631ac1c-94a8-47a4-bc7d-601b55c4e388": {
      "main": [
        [
          {
            "node": "242b1395-cbd2-414f-bccf-ab1a8921778b",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}
Häufig gestellte Fragen

Wie verwende ich diesen Workflow?

Kopieren Sie den obigen JSON-Code, erstellen Sie einen neuen Workflow in Ihrer n8n-Instanz und wählen Sie "Aus JSON importieren". Fügen Sie die Konfiguration ein und passen Sie die Anmeldedaten nach Bedarf an.

Für welche Szenarien ist dieser Workflow geeignet?

Experte - Kundenbeziehungsmanagement, Multimodales KI

Ist es kostenpflichtig?

Dieser Workflow ist völlig kostenlos. Beachten Sie jedoch, dass Drittanbieterdienste (wie OpenAI API), die im Workflow verwendet werden, möglicherweise kostenpflichtig sind.

Workflow-Informationen
Schwierigkeitsgrad
Experte
Anzahl der Nodes16
Kategorie2
Node-Typen6
Schwierigkeitsbeschreibung

Für fortgeschrittene Benutzer, komplexe Workflows mit 16+ Nodes

Autor
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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34