{
  "meta": {
    "templateCredsSetupCompleted": true
  },
  "nodes": [
    {
      "id": "61b7a8c9-1e2d-4b3c-bc7f-14e7b323f680",
      "name": "Manual Test Trigger",
      "type": "n8n-nodes-base.manualTrigger",
      "position": [
        -256,
        224
      ],
      "parameters": {},
      "typeVersion": 1
    },
    {
      "id": "42deb0ce-fb09-40c7-8ffa-f27a8d8f059e",
      "name": "Read Rows from Google Sheets",
      "type": "n8n-nodes-base.googleSheets",
      "position": [
        208,
        224
      ],
      "parameters": {
        "options": {},
        "sheetName": {
          "__rl": true,
          "mode": "url",
          "value": "={{ $json.sheets_url }}"
        },
        "documentId": {
          "__rl": true,
          "mode": "url",
          "value": "={{ $json.sheets_url }}"
        }
      },
      "credentials": {
        "googleSheetsOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 4.6
    },
    {
      "id": "2cd9262d-3afc-4d2f-861a-9258ce8a26d2",
      "name": "Create Invoice in QuickBooks",
      "type": "n8n-nodes-base.quickbooks",
      "position": [
        432,
        224
      ],
      "parameters": {
        "Line": [
          {
            "Qty": 1,
            "Amount": "={{ $json.Amount }}",
            "itemId": "4",
            "DetailType": "SalesItemLineDetail",
            "Description": "={{ $json.Description }}"
          }
        ],
        "resource": "invoice",
        "operation": "create",
        "CustomerRef": "={{ $json.CustomerId }}",
        "additionalFields": {}
      },
      "credentials": {
        "quickBooksOAuth2Api": {
          "name": "<your credential>"
        }
      },
      "typeVersion": 1
    },
    {
      "id": "4148e1f3-c5a9-4936-b5c0-49f1290ab046",
      "name": "Config - Sheet URL",
      "type": "n8n-nodes-base.set",
      "position": [
        -32,
        224
      ],
      "parameters": {
        "options": {},
        "assignments": {
          "assignments": [
            {
              "id": "a869e559-b784-44e4-bc9d-96fb0e8445a4",
              "name": "sheets_url",
              "type": "string",
              "value": "https://docs.google.com/spreadsheets/d/17RyZVropXUeUXX1qJqHss5fNsHSuGsbPioY7Q0BwP00/edit?gid=2132365041#gid=2132365041"
            }
          ]
        }
      },
      "typeVersion": 3.4
    },
    {
      "id": "contact-note-1759910018484",
      "name": "Creator Contact Info",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -956,
        -596
      ],
      "parameters": {
        "color": 5,
        "width": 600,
        "height": 440,
        "content": "# Contact Us:\n## Milan @ SmoothWork - [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n![Milan](https://gravatar.com/avatar/95700d17ba300a9f14c1b8cacf933df7720027b3adda9cbe6183d89142925422?r=pg&d=retro&size=100)\n\n\n### We help businesses eliminate busywork by building compact business tools tailored to your process.\n### Contact us for customizing this, or building similar automations.\n\n\ud83d\udce7 hello@smoothwork.ai\n\u25b6\ufe0f [Check us on YouTube](https://www.youtube.com/@vasarmilan)\n\ud83d\udcde [Book a Free Consulting Call](https://smoothwork.ai/book-a-call/)\n\ud83d\udcbc [Add me on Linkedin](https://www.linkedin.com/in/mil%C3%A1n-v%C3%A1s%C3%A1rhelyi-3a9985123/)\n"
      },
      "typeVersion": 1
    },
    {
      "id": "doc-note-1759910018484",
      "name": "Workflow Description",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -956,
        -156
      ],
      "parameters": {
        "width": 600,
        "height": 1200,
        "content": "## Workflow Overview\n\nThis workflow automates the creation of invoices in QuickBooks Online by importing data from a Google Sheet. When triggered, it reads invoice data from a configured spreadsheet and automatically generates corresponding invoices in your QuickBooks account, eliminating manual data entry.\n\n### First Setup\n\n**QuickBooks Developer Account:**\n1. Register at `developer.intuit.com` and create a new app\n2. Select 'Accounting' scope permissions\n3. Copy your Client ID and Client Secret from the app dashboard\n4. Add the n8n OAuth redirect URL to your app's authorized redirect URIs\n5. Connect your QuickBooks credential in n8n (use Sandbox for testing, Production for live data)\n\n**Google Sheets:**\n- Connect your Google Sheets account in n8n with OAuth2 authentication\n\n### Configuration\n\n**Sheet URL:** Update the `Config - Sheet URL` node with your own Google Sheets URL. Your sheet should contain columns for:\n- `CustomerId` - The QuickBooks customer ID\n- `Description` - Invoice line item description\n- `Amount` - Invoice amount\n\n**Invoice Settings:** In the QuickBooks node, adjust the `itemId` and `Qty` fields as needed for your accounting setup."
      },
      "typeVersion": 1
    },
    {
      "id": "video-note-1759912267932",
      "name": "Video Walkthrough",
      "type": "n8n-nodes-base.stickyNote",
      "position": [
        -346,
        -596
      ],
      "parameters": {
        "width": 420,
        "height": 340,
        "content": "# Video Walkthrough\n[![image.png](https://vasarmilan-public.s3.us-east-1.amazonaws.com/blog_thumbnails/thumbnail_rec0EGjS8Q1AxvT1b.jpg)](https://youtu.be/mprQ4CY3yn0)"
      },
      "typeVersion": 1
    }
  ],
  "connections": {
    "Config - Sheet URL": {
      "main": [
        [
          {
            "node": "Read Rows from Google Sheets",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Manual Test Trigger": {
      "main": [
        [
          {
            "node": "Config - Sheet URL",
            "type": "main",
            "index": 0
          }
        ]
      ]
    },
    "Read Rows from Google Sheets": {
      "main": [
        [
          {
            "node": "Create Invoice in QuickBooks",
            "type": "main",
            "index": 0
          }
        ]
      ]
    }
  }
}