Google Sheets und QuickBooks Ausgaben-Automatisierungsvorlage

Experte

Dies ist ein Invoice Processing, Multimodal AI-Bereich Automatisierungsworkflow mit 16 Nodes. Hauptsächlich werden If, Set, SplitOut, Quickbooks, HttpRequest und andere Nodes verwendet. Google Sheets und QuickBooks Ausgaben-Automatisierungs-Vorlage

Voraussetzungen
  • Möglicherweise sind Ziel-API-Anmeldedaten erforderlich
  • 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
{
  "meta": {
    "instanceId": "d6e2f2f655b1125bbcac14a4cac6d2e46c7a150e927f85fc96fdca1a6dc39e0e",
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "4678f902-8b59-42f2-adab-f123ca1f637f",
      "name": "Bei Klick auf 'Workflow ausführen'",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -16,
        192
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "5b68c737-5caa-4d36-b957-5b4458c759a8",
      "name": "Aktive Lieferanten in QuickBooks abrufen",
      "type": "n8n-nodes-base.quickbooks",
      "position": [
        880,
        0
      ],
      "parameters": {
        "filters": {},
        "resource": "vendor",
        "operation": "getAll",
        "returnAll": true
      },
      "credentials": {
        "quickBooksOAuth2Api": {
          "id": "zZyR3nZpTizUyR0u",
          "name": "QuickBooks n8n Sandbox"
        }
      },
      "executeOnce": true,
      "typeVersion": 1
    },
    {
      "id": "5f464de5-83b7-4fd2-9068-93422b2356bf",
      "name": "Kontenplan abrufen",
      "type": "n8n-nodes-base.httpRequest",
      "position": [
        432,
        192
      ],
      "parameters": {
        "url": "=https://sandbox-quickbooks.api.intuit.com/v3/company/{{ $json.realmID }}/query",
        "options": {},
        "sendQuery": true,
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "query",
              "value": "select * from Account where active=true maxResults 500"
            },
            {
              "name": "minorversion",
              "value": "75"
            }
          ]
        },
        "nodeCredentialType": "quickBooksOAuth2Api"
      },
      "credentials": {
        "quickBooksOAuth2Api": {
          "id": "zZyR3nZpTizUyR0u",
          "name": "QuickBooks n8n Sandbox"
        }
      },
      "executeOnce": true,
      "typeVersion": 4.2
    },
    {
      "id": "0b295195-8e3b-4d64-b1ef-ca4dbfca84c9",
      "name": "Konten aufteilen",
      "type": "n8n-nodes-base.splitOut",
      "position": [
        656,
        192
      ],
      "parameters": {
        "options": {},
        "fieldToSplitOut": "QueryResponse.Account"
      },
      "typeVersion": 1
    },
    {
      "id": "aaaa6cf5-8e29-42d1-a182-b4506dd73583",
      "name": "Konten zur Google Sheet-Vorlage hinzufügen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        880,
        192
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $json.Id }}",
            "Name": "={{ $json.Name }}",
            "Account Type": "={{ $json.AccountType }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Account Type",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Account Type",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 124163501,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit#gid=124163501",
          "cachedResultName": "Accounts"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "a37448d0-6c95-4bf0-8504-3519abda9d49",
      "name": "Ausgabe in QBO hinzufügen",
      "type": "n8n-nodes-base.httpRequest",
      "onError": "continueErrorOutput",
      "position": [
        880,
        384
      ],
      "parameters": {
        "url": "=https://sandbox-quickbooks.api.intuit.com/v3/company/{{ $('Set Realm ID for Custom API Call').item.json.realmID }}/purchase",
        "method": "POST",
        "options": {},
        "jsonBody": "={\n  \"PaymentType\": \"Cash\",\n  \"TxnDate\": \"{{ $json.Date.toDateTime('M/d/y').toFormat('yyyy-MM-dd') }}\",\n  \"PrivateNote\": \"{{ $json.Description }}\",\n  \"EntityRef\": {\n    \"value\": \"{{ $json['Vendor ID'] }}\"\n  },\n  \"AccountRef\": {\n    \"value\": \"{{ $json['Asset ID'] }}\"\n  },\n  \"Line\": [\n    {\n      \"DetailType\": \"AccountBasedExpenseLineDetail\",\n      \"Amount\": {{ $json.Total }},\n      \"AccountBasedExpenseLineDetail\": {\n        \"AccountRef\": {\n          \"value\": \"{{ $json['Expense ID'] }}\"\n        }\n      }\n    }\n  ]\n}\n",
        "sendBody": true,
        "sendQuery": true,
        "specifyBody": "json",
        "authentication": "predefinedCredentialType",
        "queryParameters": {
          "parameters": [
            {
              "name": "minorversion",
              "value": "75"
            }
          ]
        },
        "nodeCredentialType": "quickBooksOAuth2Api"
      },
      "credentials": {
        "quickBooksOAuth2Api": {
          "id": "zZyR3nZpTizUyR0u",
          "name": "QuickBooks n8n Sandbox"
        }
      },
      "executeOnce": false,
      "typeVersion": 4.2
    },
    {
      "id": "b1ed3c64-f832-4822-ae8a-2bf04cd7dd01",
      "name": "Neue Lieferanten aus Google Sheets abrufen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        208,
        0
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1066861641,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit#gid=1066861641",
          "cachedResultName": "Vendors"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "5ed5cff9-7c9a-48c0-90f7-fdb158e10983",
      "name": "Lieferanten in Google Sheet-Vorlage aktualisieren",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1104,
        0
      ],
      "parameters": {
        "columns": {
          "value": {
            "ID": "={{ $json.Id }}",
            "Name": "={{ $json.DisplayName }}"
          },
          "schema": [
            {
              "id": "Name",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Name",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "ID",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "ID"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": 1066861641,
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit#gid=1066861641",
          "cachedResultName": "Vendors"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "6de704e8-7007-4802-ac84-10f81ca21af3",
      "name": "Neue Ausgabentransaktionen abrufen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        432,
        384
      ],
      "parameters": {
        "options": {},
        "filtersUI": {
          "values": [
            {
              "lookupColumn": "Transaction ID"
            }
          ]
        },
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit#gid=0",
          "cachedResultName": "Expenses"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "17d09d9c-028a-4ccd-b2d7-1fc269e7fcca",
      "name": "Duplikate entfernen",
      "type": "n8n-nodes-base.removeDuplicates",
      "position": [
        432,
        0
      ],
      "parameters": {
        "compare": "selectedFields",
        "options": {},
        "fieldsToCompare": "Name"
      },
      "typeVersion": 2,
      "alwaysOutputData": true
    },
    {
      "id": "ff8d137b-b491-49e4-b656-81896a6bed0e",
      "name": "Leereinträge entfernen",
      "type": "n8n-nodes-base.if",
      "position": [
        656,
        384
      ],
      "parameters": {
        "options": {},
        "conditions": {
          "options": {
            "version": 2,
            "leftValue": "",
            "caseSensitive": true,
            "typeValidation": "strict"
          },
          "combinator": "and",
          "conditions": [
            {
              "id": "2aa9700c-74c1-464a-bce8-beb2ce28c7da",
              "operator": {
                "type": "string",
                "operation": "empty",
                "singleValue": true
              },
              "leftValue": "={{ $json['Transaction ID'] }}",
              "rightValue": ""
            },
            {
              "id": "481f12f7-e8d0-4c80-bb3c-c21850c8795c",
              "operator": {
                "type": "string",
                "operation": "notEmpty",
                "singleValue": true
              },
              "leftValue": "={{ $json.Vendor }}",
              "rightValue": ""
            }
          ]
        }
      },
      "typeVersion": 2.2
    },
    {
      "id": "da89ac36-ba2b-431f-b2ff-345951d90a45",
      "name": "Transaktions-ID in Google Sheets erfassen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1104,
        288
      ],
      "parameters": {
        "columns": {
          "value": {
            "#": "={{ $('Remove Empties').item.json['#'] }}",
            "Transaction ID": "={{ $json.Purchase.Id }}"
          },
          "schema": [
            {
              "id": "#",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "#",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Total",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Total",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vendor",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Vendor",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Asset Account",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Asset Account",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Expense Account",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Expense Account",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Transaction ID",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Transaction ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Message",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vendor ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Vendor ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Asset ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Asset ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Expense ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Expense ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "#"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "update",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/10pdz8hvNsCWX6IogQ_Nyb2qlXmOHWtgsAH4EgAUKfSw/edit#gid=0",
          "cachedResultName": "Expenses"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/10pdz8hvNsCWX6IogQ_Nyb2qlXmOHWtgsAH4EgAUKfSw/edit?pli=1&gid=0#gid=0"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "fb36bbce-7b08-4ec1-aeaf-4fbc409a3f4c",
      "name": "Neue Lieferanten in QuickBooks anlegen",
      "type": "n8n-nodes-base.quickbooks",
      "onError": "continueRegularOutput",
      "position": [
        656,
        0
      ],
      "parameters": {
        "resource": "vendor",
        "operation": "create",
        "displayName": "={{ $json.Name }}",
        "additionalFields": {}
      },
      "credentials": {
        "quickBooksOAuth2Api": {
          "id": "zZyR3nZpTizUyR0u",
          "name": "QuickBooks n8n Sandbox"
        }
      },
      "executeOnce": false,
      "typeVersion": 1
    },
    {
      "id": "615ced03-6162-494f-9006-7aef2b8f10b6",
      "name": "Realm-ID für benutzerdefinierten API Call setzen",
      "type": "n8n-nodes-base.set",
      "position": [
        208,
        288
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "df10e087-0f27-4d07-98ba-aee302ee5477",
              "name": "realmID",
              "type": "string",
              "value": ""
            }
          ]
        }
      },
      "executeOnce": true,
      "typeVersion": 3.4
    },
    {
      "id": "cd56254b-d062-40f0-87dc-f3c6d1bca8c3",
      "name": "Fehlermeldung erfassen",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        1104,
        480
      ],
      "parameters": {
        "columns": {
          "value": {
            "#": "={{ $json['#'] }}",
            "Message": "={{ $json.error }}"
          },
          "schema": [
            {
              "id": "#",
              "type": "string",
              "display": true,
              "removed": false,
              "required": false,
              "displayName": "#",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Date",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Date",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Description",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Description",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Total",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Total",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vendor",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Vendor",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Asset Account",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Asset Account",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Expense Account",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Expense Account",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Transaction ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Transaction ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Vendor ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Vendor ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Asset ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Asset ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Expense ID",
              "type": "string",
              "display": true,
              "removed": true,
              "required": false,
              "displayName": "Expense ID",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            },
            {
              "id": "Message",
              "type": "string",
              "display": true,
              "required": false,
              "displayName": "Message",
              "defaultMatch": false,
              "canBeUsedToMatch": true
            }
          ],
          "mappingMode": "defineBelow",
          "matchingColumns": [
            "#"
          ],
          "attemptToConvertTypes": false,
          "convertFieldsToString": false
        },
        "options": {},
        "operation": "appendOrUpdate",
        "sheetName": {
          "__rl": true,
          "mode": "list",
          "value": "gid=0",
          "cachedResultUrl": "https://docs.google.com/spreadsheets/d/10pdz8hvNsCWX6IogQ_Nyb2qlXmOHWtgsAH4EgAUKfSw/edit#gid=0",
          "cachedResultName": "Expenses"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "id": "iNp7jBkCGXjTLqFd",
          "name": "Rosh's Personal Sheets Account"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "cc3c8c70-63c7-4c48-bcd2-3c8321f7f489",
      "name": "Haftnotiz",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -800,
        -448
      ],
      "parameters": {
        "width": 660,
        "height": 2192,
        "content": "## Automatically Upload Expenses to QuickBooks from Google Sheets\n\n## What It Does\nThis n8n workflow template automates the process of uploading categorized expenses from Google Sheets into QuickBooks Online. It leverages your Google Sheets data to create expense entries in QuickBooks with minimal manual effort, streamlining the accounting process.\n\n## Prerequisites\n- **QuickBooks Online Credential**: Set up your QuickBooks Online connection in n8n for expense creation.\n- **Google Sheets Credential**: Set up your Google Sheets connection in n8n to read and write data.\n\n## How It Works\n1. **Refresh Google Sheets Data**: The workflow will first refresh the list of vendors and chart of accounts from your Google Sheets template.\n2. **Import Bank Transactions**: Open the provided Google Sheets template and copy-paste your transactions from your online banking CSV file.\n3. **Categorize Transactions**: Quickly categorize the transactions in Google Sheets, or assign this task to a team member.\n4. **Run the Workflow**: Once the transactions are categorized, run the workflow again, and each expense will be created automatically in QuickBooks Online.\n\n## Example Use Cases\n- **Small Business Owners**: Automatically track and upload monthly expenses to QuickBooks Online without manually entering data.\n- **Accountants**: Automate the transfer of bank transactions to QuickBooks, streamlining the financial process.\n- **Bookkeepers**: Quickly categorize and upload business expenses to QuickBooks with minimal effort.\n\n## Setup Instructions\n1. **Connect Your Google Sheets and QuickBooks Credentials**:  \n   - In n8n, connect your Google Sheets and QuickBooks accounts. Follow the credential setup instructions for both services.\n\n2. **Setup the Google Sheets Node**:  \n   - Link the specific Google Sheet that contains your expense data. Make sure the sheet includes the correct columns for transactions, vendors, and accounts.\n\n3. **Setup the QuickBooks Node**:  \n   - Configure the QuickBooks Online node to create expense entries in QuickBooks from the data in your Google Sheets.\n\n4. **Setup the HTTP Node for API Calls**:  \n   - Use the HTTP node to make custom API calls to QuickBooks\n\n5. **Configure the QuickBooks Realm ID**:  \n   - Obtain the QuickBooks Realm ID from your QuickBooks Online Developer account to use for custom API calls. This ensures the workflow targets the correct QuickBooks instance.\n\n## How to Use\n1. **Import Transactions**:  \n   - Copy and paste your bank transactions from the CSV into the provided Google Sheets template.\n\n2. **Categorize Transactions**:  \n   - Manually categorize the transactions in the sheet, or delegate this task to another person to ensure they’re correctly tagged (e.g., Utilities, Office Supplies, Travel).\n\n3. **Run the Workflow**:  \n   - Execute the workflow to automatically upload the categorized expenses into QuickBooks.\n\n4. **Verify in QuickBooks**:  \n   - After the workflow runs, log into QuickBooks Online to confirm the expenses have been created and categorized correctly.\n\n## Free Google Sheets Template\nTo get started quickly, download my **free Google Sheets template** that includes pre-configured sheets for bank transactions, vendors, and chart of accounts. This template will make it easier for you to import and categorize your expenses before running the n8n workflow.\n\n[Download the Free Google Sheets Template](https://docs.google.com/spreadsheets/d/1dmkXHeMghVp5AHrdyU1vrwjUHWNaoDfkk9UOuG-SNKI/edit?usp=sharing)\n\n## Customization Options\n- **Category Mapping**: Customize how categories in Google Sheets are mapped to QuickBooks expense types.\n- **Additional API Calls**: Add custom API calls if you need extra functionality, such as creating custom reports or syncing additional data.\n- **Notifications**: Configure email or Slack notifications to alert you when the expenses have been successfully uploaded.\n\n## Why It's Useful\n- **Time-Saving**: Automatically upload and categorize expenses in QuickBooks without needing to enter them manually.\n- **Error Reduction**: Minimize human error by automating the process of uploading and categorizing transactions.\n- **Efficiency**: Connects Google Sheets to QuickBooks, making it easy to manage expenses in one place without having to toggle between multiple apps.\n- **Accuracy**: Syncs data between Google Sheets and QuickBooks in a structured, automated way for consistent and reliable financial reporting.\n- **Flexibility**: Allow external users or lower-permission employees to categorize financial transactions without providing direct access to QBO\n"
      },
      "typeVersion": 1
    }
  ],
  "pinData": {},
  "connections": {
    "ff8d137b-b491-49e4-b656-81896a6bed0e": {
      "main": [
        [
          {
            "node": "a37448d0-6c95-4bf0-8504-3519abda9d49",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "17d09d9c-028a-4ccd-b2d7-1fc269e7fcca": {
      "main": [
        [
          {
            "node": "fb36bbce-7b08-4ec1-aeaf-4fbc409a3f4c",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "0b295195-8e3b-4d64-b1ef-ca4dbfca84c9": {
      "main": [
        [
          {
            "node": "aaaa6cf5-8e29-42d1-a182-b4506dd73583",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "a37448d0-6c95-4bf0-8504-3519abda9d49": {
      "main": [
        [
          {
            "node": "da89ac36-ba2b-431f-b2ff-345951d90a45",
            "type": "main",
            "index": 0
          }
        ],
        [
          {
            "node": "cd56254b-d062-40f0-87dc-f3c6d1bca8c3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "5f464de5-83b7-4fd2-9068-93422b2356bf": {
      "main": [
        [
          {
            "node": "0b295195-8e3b-4d64-b1ef-ca4dbfca84c9",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "6de704e8-7007-4802-ac84-10f81ca21af3": {
      "main": [
        [
          {
            "node": "ff8d137b-b491-49e4-b656-81896a6bed0e",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "fb36bbce-7b08-4ec1-aeaf-4fbc409a3f4c": {
      "main": [
        [
          {
            "node": "5b68c737-5caa-4d36-b957-5b4458c759a8",
            "type": "main",
            "index": 0
          }
        ],
        []
      ]
    },
    "5b68c737-5caa-4d36-b957-5b4458c759a8": {
      "main": [
        [
          {
            "node": "5ed5cff9-7c9a-48c0-90f7-fdb158e10983",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "615ced03-6162-494f-9006-7aef2b8f10b6": {
      "main": [
        [
          {
            "node": "5f464de5-83b7-4fd2-9068-93422b2356bf",
            "type": "main",
            "index": 0
          },
          {
            "node": "6de704e8-7007-4802-ac84-10f81ca21af3",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "b1ed3c64-f832-4822-ae8a-2bf04cd7dd01": {
      "main": [
        [
          {
            "node": "17d09d9c-028a-4ccd-b2d7-1fc269e7fcca",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "4678f902-8b59-42f2-adab-f123ca1f637f": {
      "main": [
        [
          {
            "node": "b1ed3c64-f832-4822-ae8a-2bf04cd7dd01",
            "type": "main",
            "index": 0
          },
          {
            "node": "615ced03-6162-494f-9006-7aef2b8f10b6",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "aaaa6cf5-8e29-42d1-a182-b4506dd73583": {
      "main": [
        []
      ]
    },
    "5ed5cff9-7c9a-48c0-90f7-fdb158e10983": {
      "main": [
        []
      ]
    }
  }
}
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 - Rechnungsverarbeitung, 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-Typen9
Schwierigkeitsbeschreibung

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

Externe Links
Auf n8n.io ansehen

Diesen Workflow teilen

Kategorien

Kategorien: 34