Création de clients et de factures de vente dans Quickbook à partir de données Google Sheet
Ceci est unInvoice Processingworkflow d'automatisation du domainecontenant 8 nœuds.Utilise principalement des nœuds comme If, Quickbooks, GoogleSheetsTrigger. Automatiser la création de clients et de reçus de vente QuickBooks à partir de Google Sheet
- •Informations d'identification Google Sheets API
Nœuds utilisés (8)
Catégorie
{
"id": "0PCgKBDaVH6uI0KX",
"meta": {
"instanceId": "1a54c41d9050a8f1fa6f74ca858828ad9fb97b9fafa3e9760e576171c531a787",
"templateCredsSetupCompleted": true
},
"name": "Create customers & Sales Receipts in Quickbook from Google Sheet Data",
"tags": [],
"nodes": [
{
"id": "01eb09e0-1209-4614-ab15-16ee134500b4",
"name": "Google Sheets Trigger",
"type": "n8n-nodes-base.googleSheetsTrigger",
"position": [
-360,
-60
],
"parameters": {
"event": "rowAdded",
"options": {},
"pollTimes": {
"item": [
{
"mode": "everyMinute"
}
]
},
"sheetName": {
"__rl": true,
"mode": "list",
"value": "gid=0",
"cachedResultUrl": "https://docs.google.com/spreadsheets/d/1vHkhooOUi5AbeLg-HG72jU-jCCJncqdEyY3dXboQc1g/edit#gid=0",
"cachedResultName": "Customers"
},
"documentId": {
"__rl": true,
"mode": "url",
"value": "https://docs.google.com/spreadsheets/d/1vHkhooOUi5AbeLg-HG72jU-jCCJncqdEyY3dXboQc1g/edit?gid=0#gid=0"
}
},
"credentials": {
"googleSheetsTriggerOAuth2Api": {
"id": "2QhkhdXWYCUB5Sf9",
"name": "Google Sheets Trigger account 3"
}
},
"typeVersion": 1
},
{
"id": "generated-601704ef-7cbd-449a-afd3-da0f6d324ddd",
"name": "Aperçu du workflow",
"type": "n8n-nodes-base.stickyNote",
"position": [
-580,
-400
],
"parameters": {
"width": 800,
"height": 280,
"content": "## Workflow Overview\n\nThis workflow first checks if a customer from the Google Sheet already exists in QuickBooks Online using their **Customer Name** or **Email**.\n\n- If the customer **exists**, the workflow proceeds directly to the **Create Sales Receipt** step.\n- If the customer **does not exist**, a new customer is created in QuickBooks Online, and then the workflow proceeds to the **Create Sales Receipt** step."
}
},
{
"id": "generated-b0d6eeec-8888-4a1a-a47e-6e4507bd358c",
"name": "Vérification et création de client QuickBooks",
"type": "n8n-nodes-base.stickyNote",
"position": [
-200,
200
],
"parameters": {
"color": 4,
"width": 800,
"height": 280,
"content": "### QuickBooks Customer Check & Creation\n\n1. **Check Customer Existence**: This node queries QuickBooks Online to see if a customer with the matching \"Customer Name\" or \"Email\" already exists.\n2. **Customer Exists?**: This \"If\" node evaluates the output from \"Check Customer Existence\".\n * The \"True\" branch (top output) means the customer was found.\n * The \"False\" branch (bottom output) means the customer was not found.\n3. **Create Customer**: This node is executed only if the \"Customer Exists?\" node's \"False\" branch is taken, meaning a new customer needs to be created in QuickBooks Online."
}
},
{
"id": "generated-2e0f8a9c-3a00-4222-997a-ccfd0dfdd357",
"name": "Le client existe-t-il ?",
"type": "n8n-nodes-base.if",
"position": [
440,
40
],
"parameters": {
"options": {
"ignoreCase": true,
"looseTypeValidation": true
},
"conditions": {
"options": {
"version": 1,
"leftValue": "",
"caseSensitive": false,
"typeValidation": "strict"
},
"combinator": "and",
"conditions": [
{
"id": "ba271f0d-1115-4bb7-a39b-7b2e97afe9cb",
"operator": {
"type": "number",
"operation": "gt"
},
"leftValue": "={{ $('Get many customers').all().length }}",
"rightValue": 0
}
]
}
}
},
{
"id": "generated-035f9a50-5501-4f7e-a282-4054830fd813",
"name": "Créer un client",
"type": "n8n-nodes-base.quickbooks",
"position": [
760,
160
],
"parameters": {
"operation": "create",
"displayName": "={{ $json[\"Customer Name\"] }}",
"additionalFields": {
"Active": true,
"Balance": "",
"Taxable": false,
"GivenName": "",
"FamilyName": "",
"CompanyName": "",
"PrimaryPhone": "={{ $json.Phone }}",
"BillWithParent": false,
"BalanceWithJobs": 0,
"PrimaryEmailAddr": "={{ $json.Email }}",
"PrintOnCheckName": "",
"FullyQualifiedName": "",
"PreferredDeliveryMethod": "Print"
}
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "cOFFQQfsoezdBS0c",
"name": "QuickBooks Online account 2"
}
}
},
{
"id": "generated-f97635f5-7da3-4756-9569-88abcf4259ea",
"name": "Créer un reçu de vente",
"type": "n8n-nodes-base.quickbooks",
"position": [
1020,
-20
],
"parameters": {
"resource": "payment",
"operation": "create",
"CustomerRef": "={{ $json.Id || $json.customer.Id }}",
"additionalFields": {
"TxnDate": ""
}
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "cOFFQQfsoezdBS0c",
"name": "QuickBooks Online account 2"
}
}
},
{
"id": "ae9dae6f-5c70-4547-8dd7-90fd4eb3b431",
"name": "Vérification et création de client QuickBooks 1",
"type": "n8n-nodes-base.stickyNote",
"position": [
640,
-380
],
"parameters": {
"color": 4,
"width": 820,
"height": 340,
"content": "### Sales Receipts\n\n1. **Check Customer Existence**: This node queries QuickBooks Online to see if a customer with the matching \"Customer Name\" or \"Email\" already exists.\n2. **Customer Exists?**: This \"If\" node evaluates the output from \"Check Customer Existence\".\n * The \"True\" branch (top output) means the customer was found.\n * The \"False\" branch (bottom output) means the customer was not found.\n3. **Create Customer**: This node is executed only if the \"Customer Exists?\" node's \"False\" branch is taken, meaning a new customer needs to be created in QuickBooks Online."
},
"typeVersion": 1
},
{
"id": "0b6028de-052f-40ad-a384-c126f3d2c20a",
"name": "Vérifier l'existence du client",
"type": "n8n-nodes-base.quickbooks",
"position": [
60,
0
],
"parameters": {
"filters": {
"query": "=DisplayName = '{{ $json[\"Customer Name\"] }}'"
},
"operation": "getAll"
},
"credentials": {
"quickBooksOAuth2Api": {
"id": "cOFFQQfsoezdBS0c",
"name": "QuickBooks Online account 2"
}
},
"typeVersion": 1
}
],
"active": false,
"pinData": {},
"settings": {
"executionOrder": "v1"
},
"versionId": "32e15321-dbce-4da0-b087-1bd2c8902643",
"connections": {
"generated-035f9a50-5501-4f7e-a282-4054830fd813": {
"main": [
[
{
"node": "generated-f97635f5-7da3-4756-9569-88abcf4259ea",
"type": "main",
"index": 0
}
]
]
},
"generated-2e0f8a9c-3a00-4222-997a-ccfd0dfdd357": {
"main": [
[
{
"node": "generated-f97635f5-7da3-4756-9569-88abcf4259ea",
"type": "main",
"index": 0
}
],
[
{
"node": "generated-035f9a50-5501-4f7e-a282-4054830fd813",
"type": "main",
"index": 0
}
]
]
},
"01eb09e0-1209-4614-ab15-16ee134500b4": {
"main": [
[
{
"node": "Create a customer",
"type": "main",
"index": 0
},
{
"node": "0b6028de-052f-40ad-a384-c126f3d2c20a",
"type": "main",
"index": 0
}
]
]
},
"0b6028de-052f-40ad-a384-c126f3d2c20a": {
"main": [
[
{
"node": "generated-2e0f8a9c-3a00-4222-997a-ccfd0dfdd357",
"type": "main",
"index": 0
}
]
]
}
}
}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
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.
Workflows recommandés
Intuz
@intuzWorkflow 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
Partager ce workflow