Workflow n8n

Automatisation Stripe et QuickBooks avec n8n : gestion des paiements

Ce workflow n8n a pour objectif d'automatiser la gestion des paiements entre Stripe et QuickBooks, facilitant ainsi le suivi financier pour les entreprises. Dans un contexte où la synchronisation des données financières est cruciale, ce processus permet d'éliminer les erreurs manuelles et de gagner du temps. Les cas d'usage incluent la création automatique de clients dans QuickBooks à partir des données de Stripe et l'envoi de reçus de vente.

  • Étape 1 : le workflow est déclenché par un nouvel événement de paiement dans Stripe.
  • Étape 2 : il vérifie si le client existe déjà dans QuickBooks. Si c'est le cas, il utilise les données existantes, sinon, il crée un nouveau client dans QuickBooks.
  • Étape 3 : les données de paiement sont ensuite fusionnées avec les informations du client QuickBooks.
  • Étape 4 : enfin, un reçu de vente est envoyé à QuickBooks, assurant ainsi une comptabilité précise. Grâce à cette automatisation n8n, les entreprises peuvent réduire le risque d'erreurs, améliorer leur efficacité opérationnelle et se concentrer sur leur croissance.
Tags clés :automatisationStripeQuickBooksgestion des paiementsworkflow
Catégorie: Webhook · Tags: automatisation, Stripe, QuickBooks, gestion des paiements, workflow0

Workflow n8n Stripe, QuickBooks, gestion des paiements : vue d'ensemble

Schéma des nœuds et connexions de ce workflow n8n, généré à partir du JSON n8n.

Workflow n8n Stripe, QuickBooks, gestion des paiements : détail des nœuds

  • POST Sales Receipt

    Envoie une requête POST pour créer un reçu de vente.

  • GET Quickbooks Customer

    Récupère les informations d'un client depuis QuickBooks.

  • Get Stripe Customer

    Récupère les informations d'un client depuis Stripe.

  • New Payment

    Déclenche le workflow lors de la réception d'un nouveau paiement.

  • If Customer Exists

    Vérifie si un client existe en fonction des conditions spécifiées.

  • Use Stripe Customer

    Fusionne les données du client Stripe avec d'autres données.

  • Create QuickBooks Customer

    Crée un nouveau client dans QuickBooks avec les informations fournies.

  • Merge Stripe and QuickBooks Data

    Fusionne les données de Stripe et de QuickBooks.

  • Merge Payment and QuickBooks Customer

    Fusionne les informations de paiement avec celles du client QuickBooks.

  • POST Sales Receipt To QuickBooks

    Envoie une requête POST pour transmettre le reçu de vente à QuickBooks.

Inscris-toi pour voir l'intégralité du workflow

Inscription gratuite

S'inscrire gratuitementBesoin d'aide ?
{
  "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
          }
        ]
      ]
    }
  }
}

Workflow n8n Stripe, QuickBooks, gestion des paiements : pour qui est ce workflow ?

Ce workflow s'adresse aux PME et aux startups qui utilisent Stripe pour leurs paiements et QuickBooks pour leur comptabilité. Il est idéal pour les équipes financières et les entrepreneurs souhaitant automatiser leurs processus sans nécessiter de compétences techniques avancées.

Workflow n8n Stripe, QuickBooks, gestion des paiements : problème résolu

Ce workflow résout le problème de la gestion manuelle des paiements entre Stripe et QuickBooks, qui peut entraîner des erreurs et des incohérences dans les données financières. En automatisant ce processus, les utilisateurs peuvent réduire le temps consacré à la saisie manuelle des données, minimiser les risques d'erreurs et garantir une comptabilité à jour. Le résultat est une meilleure visibilité sur les finances et un gain de temps significatif pour les équipes.

Workflow n8n Stripe, QuickBooks, gestion des paiements : étapes du workflow

Étape 1 : le workflow est déclenché par un nouvel événement de paiement dans Stripe.

  • Étape 1 : il vérifie si le client existe déjà dans QuickBooks.
  • Étape 2 : si le client existe, il utilise les données de ce client, sinon, il crée un nouveau client dans QuickBooks.
  • Étape 3 : les données de paiement sont fusionnées avec les informations du client QuickBooks.
  • Étape 4 : un reçu de vente est envoyé à QuickBooks, assurant ainsi une comptabilité précise.

Workflow n8n Stripe, QuickBooks, gestion des paiements : guide de personnalisation

Pour personnaliser ce workflow, vous pouvez modifier l'URL du webhook pour l'adapter à votre environnement. Assurez-vous également de configurer les identifiants d'authentification pour Stripe et QuickBooks. Si vous souhaitez ajouter d'autres services, vous pouvez intégrer des nœuds supplémentaires pour enrichir les données ou envoyer des notifications. Pensez à tester chaque étape pour garantir que les données sont correctement synchronisées entre les deux plateformes.