Intégrations de logiciels de comptabilitéBêta
Offrez à vos utilisateurs la possibilité de synchroniser automatiquement leurs transactions, frais, remboursements, virements, clients et produits avec leur logiciel de comptabilité.
Intégration avec les composants intégrés Connect
Configurez Connect.js pour permettre d’ajouter une fonctionnalité de Dashboard de compte connecté à votre site Web.
Sélectionnez l'application à intégrer
Stripe prend en charge les intégrations d’applications comptables suivantes.
Intégration d’applications de comptabilité | ID de l’application |
---|---|
Synchronisation avec QuickBooks par Acodei | com.example.acodeistripeapp |
Synchronisation avec Xero par Xero | com.xero.stripeapp |
Configurer l'installation d'applications
Affichez le composant intégré d’installation correspondant à l’application de comptabilité sélectionnée. L’installation d’une application autorise l’application tierce à accéder aux données Stripe de vos utilisateurs, en créant une connexion entre votre plateforme, Stripe et l’application tierce. Le composant a deux états possibles : uninstalled
et installed
. Écoutez les déclencheurs d’événement d’installation pour créer votre flux d’expérience utilisateur personnalisé ou pour effectuer des mises à jour dans votre propre back-end.
Lors de la création d’une session de compte, activez les paiements en spécifiant app_onboarding
, app_install
et app_settings
dans le paramètre components
.
Après avoir créé la session du compte et initialisé ConnectJS, vous pouvez générer le rendu du composant app_install dans le front-end :
Ce composant intégré prend en charge les paramètres suivants :
Configurer les paramètres de l'application
Affichez le composant intégré des paramètres correspondant à l’application de comptabilité que vous avez sélectionnée afin d’activer les principales fonctionnalités de l’application, notamment la connexion au compte du logiciel de comptabilité avec OAuth, l’inscription, les paramètres et la configuration des états de service et de synchronisation des transactions. Transmettez l’attribut user_id
(l’entreprise représentée sur votre plateforme) en tant qu’attribut HTML facultatif que les applications tierces peuvent utiliser pour créer une URL dynamique qui redirige vers le Dashboard de votre utilisateur après OAuth.
Ce composant prend en charge les attributs facultatifs suivants :
Attribut | Description |
---|---|
app | ID de l’application intégrée, fourni par Stripe |
user-id | Identifiant unique de l’utilisateur de la plateforme |
Personnaliser pour paiement indirect OBO Connect
Transmettez les données de transaction obligatoires et facultatives à Xero ou QuickBooks Sync via Acodei en mettant à jour le paiement indirect sur le compte connecté à l’aide du schéma de données normalisées ci-dessous. Vous devez transmettre un objet Customer au paiement indirect. La synchronisation avec QuickBooks Sync via Acodei exige également des mises à jour des paiements avec montants de remboursement écrits dans les métadonnées. La mise à jour d’un paiement indirect est requise dans trois cas de figure :
- paiement ponctuel effectué
- paiement récurrent effectué
- paiement remboursé
Nom du champ ou de la clé | Format (les règles de fichier CSV standard s’appliquent) | Description |
---|---|---|
charges.customer | chaîne (ID) | ID du client Stripe (appartenant au compte connecté) associé à un objet de paiement indirect. Si ce champ n’est pas renseigné, les transactions ne sont pas synchronisées avec les applications (comme Xero et QBO). |
customer.name | chaîne | Nom complet du client |
customer.email | chaîne | Adresse e-mail du client |
customer.address.<> | chaîne (plusieurs champs) | Adresse physique du client (peut être utilisée pour la facturation et la livraison) |
charges.metadata.[refund_amount] | chaîne (entier exprimé en centimes) | reflète charges.amount_refunded |
charges.metadata.[refund_reason] | chaîne | motif du remboursement |
charges.metadata.[currency_converted] | true | false | null | Définissez sur true si la devise a été convertie, par exemple si la devise de présentation est différente de la devise de règlement. |
customer.metadata.[platform_customer_ID] | chaîne | ID du client tel qu’il est enregistré dans le système de la plateforme |
charges.metadata.[platform_product_ID] | chaîne, fichier CSV avec plusieurs produits | ID de produit enregistrés dans le système de la plateforme, correspondant à cette transaction (paiement) |
charges.metadata.[platform_product_name] | chaîne, fichier CSV avec plusieurs produits | Nom de produit enregistré dans le système de la plateforme, correspondant à cette transaction (paiement) |
charges.metadata.[platform_product_value] | chaîne, fichier CSV avec plusieurs produits | Valeur du produit (tarif/coût) correspondant à l’ID et au nom du produit |
charges.metadata.[platform_order_ID] | chaîne | ID de commande enregistré dans le système de la plateforme, correspondant à cette transaction (paiement) |
charges.metadata.[platform_charge_ID] | chaîne | ID de paiement ou de transaction enregistré dans le système de la plateforme et visible du marchand |
charges.metadata.[fees_names] | chaîne, CSV | Nom de tout type de frais payés par le marchand (dépenses) correspondant à la transaction et non capturés dans l’objet Charge (par exemple : frais de traitement du crédit, frais de plateforme). Remarque : si ce champ est renseigné, le champ charges.application_fee sera ignoré. |
charges.metadata.[fees_values] | chaîne, CSV | Valeurs des frais de tous types payés par le marchand (dépenses) en lien avec la transaction et qui ne sont pas capturées dans l’objet Charge (par exemple : frais de traitement du crédit, frais de plateforme) |
L’exemple d’extrait de code suivant passe au paiement indirect cible et montre comment effectuer une mise à jour par schéma.
- Suivi de la transaction au paiement indirect
const paymentOnPlatform = await StripeClient.paymentIntents.retrieve( "pi_3N6JL7LirQdaQn8E1Lpn7Dui", ); const latestCharge = await StripeClient.charges.retrieve( paymentOnPlatform.latest_charge as string, ); const transfer = await StripeClient.transfers.retrieve( latestCharge.transfer as string, ); const payment = await StripeClient.charges.retrieve( transfer.destination_payment as string, undefined, { stripeAccount: transfer.destination as string, }, );
- Créez un client, puis modifiez le paiement pour y inclure l’ID et les métadonnées du client. Pour que les données soient transmises et les applications synchronisées, le client doit appartenir au compte connecté, et non à la plateforme.
const customer = await StripeClient.customers.create( { email: `jenny.rosen@example.com`, name: "Jenny Rosen", address.city: "Brothers" Address.state: "Oregon" address.country: "USA" address.line1: "27 Fredrick Ave" address.postal_code: "97712" metadata: { platform_customer_ID: "K-123456" }, }, { stripeAccount: accountId, }, ); const payment = await StripeClient.charges.update( id, { customer: customer.id, metadata: { product_name: "Creative writing course for PMs", platform_product_ID: "P-123456" platform_order_ID: "O-123456" }, }, { stripeAccount: accountId, }, );
Paiements directs
L’intégration de comptabilité intégrée permet d’accéder à toutes les données relatives aux paiements, clients et produits sauvegardées sur Stripe. Vous pouvez transmettre au logiciel de comptabilité des données facultatives spécifiques à la plateforme via l’application, à l’aide du schéma de métadonnées ci-dessous.
Nom du champ ou de la clé | Format (les règles de fichier CSV standard s’appliquent) | Description |
---|---|---|
customer.metadata.[platform_customer_ID] | chaîne | ID du client tel qu’il est enregistré dans le système de la plateforme |
payment.metadata.[platform_product_ID] | chaîne, fichier CSV avec plusieurs produits | ID de produit enregistrés dans le système de la plateforme en lien avec cette transaction, s’ils diffèrent de l’ID de produit Stripe |
payment.metadata.[platform_product_name] | chaîne, fichier CSV avec plusieurs produits | Noms de produit ou service enregistrés dans le système de la plateforme en lien avec cette transaction, s’ils diffèrent du nom des produits Stripe |
payment.metadata.[platform_product_value] | chaîne, fichier CSV avec plusieurs produits | Valeur du produit (tarif ou coût) correspondant à la matrice d’ID et de nom, si elle diffère de la valeur de produit Stripe |
payment.metadata.[platform_order_ID] | chaîne | ID de commande enregistré dans le système de la plateforme, correspondant à cette transaction (paiement) |
payment.metadata.[platform_charge_ID] | chaîne | ID de paiement ou de transaction enregistré sur la plateforme et visible de l’utilisateur, s’il diffère de l’ID de paiement Stripe |
Facturation de l’utilisateur
L’application Xero est gratuite pour les utilisateurs des plateformes. La synchronisation avec QuickBooks par Acodei inclut des niveaux gratuits et payants.
Autres intégrations
Si vous avez besoin d’une intégration avec un autre logiciel de comptabilité ou d’un autre type d’intégration, contactez-nous à l’adresse stripe-apps#stripe.com.