{ "meta": { "instanceId": "6f3fb2495ae05d668c93cbf9e1649128d6e08178f8a900941cf97e588f18fdfc", "templateCredsSetupCompleted": true }, "nodes": [ { "id": "7fe02521-c46a-4314-9387-b7b4983fa859", "name": "POST Sales Receipt", "type": "n8n-nodes-base.httpRequest", "position": [ 1320, -120 ], "parameters": { "url": "https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/salesreceipt?minorversion=73", "method": "POST", "options": {}, "jsonBody": "={\n \"Line\": [\n {\n \"Description\": \"{{ $json.data.object.description }}\",\n \"DetailType\": \"SalesItemLineDetail\",\n \"SalesItemLineDetail\": {\n \"TaxCodeRef\": {\n \"value\": \"NON\"\n },\n \"Qty\": 1,\n \"UnitPrice\": {{ $json.data.object.amount_received / 100 }},\n \"ItemRef\": {\n \"name\": \"Subscription\", \n \"value\": \"10\"\n }\n },\n \"Amount\": {{ $json.data.object.amount / 100 }},\n \"LineNum\": 1\n }\n ],\n \"CustomerRef\": {\n \"value\": {{ $input.all()[2].json.QueryResponse.Customer[0].BillAddr.Id }},\n \"name\": \"{{ $input.all()[2].json.QueryResponse.Customer[0].DisplayName }}\"\n },\n \"CurrencyRef\": {\n \"value\": \"{{ $json.data.object.currency.toUpperCase() }}\"\n },\n \"PrivateNote\": \"Payment from Stripe Payment Intent ID: {{ $json.data.object.id }}\"\n}", "sendBody": true, "specifyBody": "json", "authentication": "predefinedCredentialType", "nodeCredentialType": "quickBooksOAuth2Api" }, "credentials": { "quickBooksOAuth2Api": { "id": "IUNAfwwSgnbwWygB", "name": "QuickBooks Online account" } }, "executeOnce": true, "typeVersion": 4.2 }, { "id": "5ed429d7-c93d-48c8-b603-ca8d7efb57ed", "name": "GET Quickbooks Customer", "type": "n8n-nodes-base.httpRequest", "position": [ 400, -20 ], "parameters": { "url": "=https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/query?query=select * from Customer Where PrimaryEmailAddr = '{{ $json.email }}'&minorversion=73\n\n", "options": {}, "authentication": "predefinedCredentialType", "nodeCredentialType": "quickBooksOAuth2Api" }, "credentials": { "httpCustomAuth": { "id": "hqXGCVkt6W41KDDK", "name": "Custom Auth account" }, "quickBooksOAuth2Api": { "id": "IUNAfwwSgnbwWygB", "name": "QuickBooks Online account" } }, "typeVersion": 4.2 }, { "id": "bef5b4c3-4948-4294-bd80-7039342edf0d", "name": "Get Stripe Customer", "type": "n8n-nodes-base.stripe", "position": [ 240, -140 ], "parameters": { "resource": "customer", "customerId": "={{ $json.data.object.customer }}" }, "credentials": { "stripeApi": { "id": "o6KHVZiU8S7O38wq", "name": "Stripe account" } }, "typeVersion": 1 }, { "id": "042fff2c-b5e7-4877-b935-f6a707118c4a", "name": "New Payment", "type": "n8n-nodes-base.stripeTrigger", "position": [ 80, -260 ], "webhookId": "5cc15770-f762-4389-8372-1b2926de4570", "parameters": { "events": [ "payment_intent.succeeded" ] }, "credentials": { "stripeApi": { "id": "o6KHVZiU8S7O38wq", "name": "Stripe account" } }, "typeVersion": 1 }, { "id": "12235c25-712b-4e84-b744-60573e00d381", "name": "If Customer Exists", "type": "n8n-nodes-base.if", "position": [ 560, 100 ], "parameters": { "options": {}, "conditions": { "options": { "version": 2, "leftValue": "", "caseSensitive": true, "typeValidation": "strict" }, "combinator": "and", "conditions": [ { "id": "aef7393c-c4ff-4196-887d-6a9b057381f8", "operator": { "type": "string", "operation": "exists", "singleValue": true }, "leftValue": "={{ $json.QueryResponse.Customer[0].PrimaryEmailAddr.Address }}", "rightValue": "" } ] } }, "typeVersion": 2.2 }, { "id": "68f63246-cb95-494f-918c-c0c6da5a64f9", "name": "Use Stripe Customer", "type": "n8n-nodes-base.merge", "position": [ 880, 120 ], "parameters": {}, "executeOnce": true, "typeVersion": 3 }, { "id": "e9eea332-7109-479f-8f50-65b3b9438e0e", "name": "Create QuickBooks Customer", "type": "n8n-nodes-base.quickbooks", "position": [ 1100, 120 ], "parameters": { "operation": "create", "displayName": "={{ $input.all()[0].json.name }}", "additionalFields": { "Balance": "={{ $input.all()[0].json.balance }}", "PrimaryEmailAddr": "={{ $input.all()[0].json.email }}" } }, "credentials": { "quickBooksOAuth2Api": { "id": "IUNAfwwSgnbwWygB", "name": "QuickBooks Online account" } }, "executeOnce": true, "typeVersion": 1 }, { "id": "f805f03d-93b7-4e3b-8b6a-37d9dd802368", "name": "Merge Stripe and QuickBooks Data", "type": "n8n-nodes-base.merge", "position": [ 1100, -120 ], "parameters": { "numberInputs": 3 }, "typeVersion": 3 }, { "id": "b9c31838-2bb7-4882-bd15-c096cb97e225", "name": "Merge Payment and QuickBooks Customer", "type": "n8n-nodes-base.merge", "position": [ 1320, 120 ], "parameters": {}, "executeOnce": true, "typeVersion": 3 }, { "id": "cb69fcee-8d5d-47ab-be76-9e25cb0a7f42", "name": "POST Sales Receipt To QuickBooks", "type": "n8n-nodes-base.httpRequest", "position": [ 1540, 120 ], "parameters": { "url": "https://sandbox-quickbooks.api.intuit.com/v3/company/9341453851324714/salesreceipt?minorversion=73", "method": "POST", "options": {}, "jsonBody": "={\n \"Line\": [\n {\n \"Description\": \"{{ $json.data.object.description }}\",\n \"DetailType\": \"SalesItemLineDetail\",\n \"SalesItemLineDetail\": {\n \"TaxCodeRef\": {\n \"value\": \"NON\"\n },\n \"Qty\": 1,\n \"UnitPrice\": {{ $json.data.object.amount_received / 100 }},\n \"ItemRef\": {\n \"name\": \"Subscription\", \n \"value\": \"10\"\n }\n },\n \"Amount\": {{ $json.data.object.amount / 100 }},\n \"LineNum\": 1\n }\n ],\n \"CustomerRef\": {\n \"value\": {{ $input.all()[1].json.Id}},\n \"name\": \"{{ $input.all()[1].json.DisplayName }}\"\n },\n \"CurrencyRef\": {\n \"value\": \"{{ $json.data.object.currency.toUpperCase() }}\"\n },\n \"PrivateNote\": \"Payment from Stripe Payment Intent ID: {{ $json.data.object.id }}\"\n}", "sendBody": true, "specifyBody": "json", "authentication": "predefinedCredentialType", "nodeCredentialType": "quickBooksOAuth2Api" }, "credentials": { "quickBooksOAuth2Api": { "id": "IUNAfwwSgnbwWygB", "name": "QuickBooks Online account" } }, "executeOnce": true, "typeVersion": 4.2 } ], "pinData": { "New Payment": [ { "id": "evt_3Qjf7fJJNVDH5POn01Am9Q1x", "data": { "object": { "id": "pi_3Qjf54D14htxZ8341jkWWJJs", "amount": 9500, "object": "payment_intent", "review": null, "source": null, "status": "succeeded", "created": 1737456794, "invoice": "in_1Qje8QD14htxZ834S3Gh3Nn6", "currency": "usd", "customer": "cus_R4OkhTTT1ebzPl", "livemode": false, "metadata": {}, "shipping": null, "processing": null, "application": null, "canceled_at": null, "description": "Subscription update", "next_action": null, "on_behalf_of": null, "client_secret": "pi_3Qjf54D14htxZ8341jkWWJJs_secret_FXltcZHFUDM8I4F0AQjRPE9Vz", "latest_charge": "ch_3Qjf54D14htxZ8341xwQhggm", "receipt_email": null, "transfer_data": null, "amount_details": { "tip": {} }, "capture_method": "automatic", "payment_method": "pm_1Qh6nED14htxZ834bTgSzUQy", "transfer_group": null, "amount_received": 9500, "amount_capturable": 0, "last_payment_error": null, "setup_future_usage": null, "cancellation_reason": null, "confirmation_method": "automatic", "payment_method_types": [ "amazon_pay", "card", "cashapp", "link" ], "statement_descriptor": null, "application_fee_amount": null, "payment_method_options": { "card": { "network": null, "installments": null, "mandate_options": null, "request_three_d_secure": "automatic" }, "link": { "persistent_token": null }, "cashapp": {}, "amazon_pay": { "express_checkout_element_session_id": null } }, "automatic_payment_methods": null, "statement_descriptor_suffix": null, "payment_method_configuration_details": null } }, "type": "payment_intent.succeeded", "object": "event", "created": 1737456956, "request": { "id": "req_vbXfG1vUORKZJ6", "idempotency_key": "e63d5e07-f753-429c-bd06-c642e23d9ff8" }, "livemode": false, "api_version": "2020-08-27", "pending_webhooks": 3 } ], "Get Stripe Customer": [ { "id": "cus_R4OkhTTT1ebzPl", "name": "Test Usershvili", "email": "Birds@Intuit.com", "phone": null, "object": "customer", "address": { "city": null, "line1": null, "line2": null, "state": null, "country": "GE", "postal_code": null }, "balance": 0, "created": 1729495354, "currency": "usd", "discount": null, "livemode": false, "metadata": {}, "shipping": null, "delinquent": false, "tax_exempt": "none", "test_clock": null, "description": null, "default_source": null, "invoice_prefix": "F73B0901", "default_currency": "usd", "invoice_settings": { "footer": null, "custom_fields": null, "rendering_options": null, "default_payment_method": null }, "preferred_locales": [ "en-GB" ] } ] }, "connections": { "New Payment": { "main": [ [ { "node": "Get Stripe Customer", "type": "main", "index": 0 }, { "node": "Merge Stripe and QuickBooks Data", "type": "main", "index": 0 }, { "node": "Merge Payment and QuickBooks Customer", "type": "main", "index": 0 } ] ] }, "If Customer Exists": { "main": [ [ { "node": "Merge Stripe and QuickBooks Data", "type": "main", "index": 2 } ], [ { "node": "Use Stripe Customer", "type": "main", "index": 0 } ] ] }, "POST Sales Receipt": { "main": [ [] ] }, "Get Stripe Customer": { "main": [ [ { "node": "GET Quickbooks Customer", "type": "main", "index": 0 }, { "node": "Use Stripe Customer", "type": "main", "index": 1 } ] ] }, "Use Stripe Customer": { "main": [ [ { "node": "Create QuickBooks Customer", "type": "main", "index": 0 } ] ] }, "GET Quickbooks Customer": { "main": [ [ { "node": "If Customer Exists", "type": "main", "index": 0 }, { "node": "Merge Stripe and QuickBooks Data", "type": "main", "index": 1 } ] ] }, "Create QuickBooks Customer": { "main": [ [ { "node": "Merge Payment and QuickBooks Customer", "type": "main", "index": 1 } ] ] }, "Merge Stripe and QuickBooks Data": { "main": [ [ { "node": "POST Sales Receipt", "type": "main", "index": 0 } ] ] }, "Merge Payment and QuickBooks Customer": { "main": [ [ { "node": "POST Sales Receipt To QuickBooks", "type": "main", "index": 0 } ] ] } } }