Stablecoins

Paiements en stablecoins pour les factures B2B

Comment laisser des clients professionnels payer leurs factures en stablecoins : choisir le réseau, un paiement par facture, qui supporte les frais, paiements insuffisants, rapprochement et ce qu'il faut convenir à l'avance.

Les clients professionnels paient des factures, pas des paniers d'achat. Ils veulent un numéro de facture, un montant exact, une confirmation et une trace pour la comptabilité. Les stablecoins s'y prêtent bien : un montant en dollars arrive en quelques minutes, n'importe quel jour, sans banques correspondantes. Ce guide montre comment accepter des stablecoins contre des factures, ce qu'il faut convenir à l'avance avec le client et comment rapprocher le résultat.

Pourquoi les clients professionnels paient leurs factures en stablecoins

Les raisons sont pratiques, non idéologiques :

  • Des factures internationales sans friction bancaire. Un virement entre pays via les banques peut prendre des jours et perdre de l'argent en frais d'intermédiaires. Un transfert en stablecoin arrive en quelques minutes.
  • Des montants en dollars qui restent des dollars. L'USDT et l'USDC suivent le dollar américain ; la facture n'est donc pas exposée à une variation de prix entre l'émission et le paiement.
  • Cela fonctionne le week-end. Il n'y a pas d'heure limite bancaire.
  • Des contreparties qui détiennent déjà des stablecoins et préfèrent payer avec plutôt que de convertir d'abord.

La limite est tout aussi pratique : les deux parties doivent être à l'aise avec la crypto, et l'équipe financière du client a besoin d'un processus clair. Pour un angle propre au SaaS, voir facturation crypto pour le SaaS B2B.

Choisissez l'actif et le réseau, et dites-le sur la facture

Pour une même monnaie, le réseau fait partie du paiement. L'USDT sur TRON (TRC20), sur Ethereum (ERC20) et sur BNB Smart Chain (BEP20) sont des rails distincts, et les fonds envoyés sur le mauvais n'arrivent pas là où l'expéditeur l'attend. En B2B cela compte davantage, car les montants sont plus élevés.

  • Les frais diffèrent. Les transferts sur TRON sont généralement les moins chers pour l'expéditeur ; Ethereum est généralement le plus cher. Sur une grosse facture l'écart est faible, sur une petite il ne l'est pas.
  • Le client peut être limité à un réseau par la plateforme que son entreprise utilise.
  • Laissez la page de paiement décider. Le client y choisit l'actif et le réseau et reçoit l'adresse et le montant exact correspondants. Si vous voulez l'orienter, transmettez un moyen de paiement à la création du paiement, de sorte que la page s'ouvre avec lui sélectionné.

Indiquez sur la facture quels actifs et réseaux vous acceptez (voir les monnaies prises en charge) et que le paiement doit se faire sur le réseau choisi sur la page de paiement.

Un paiement par facture

La correspondance la plus propre est un paiement Qvard pour chaque facture. Depuis votre backend, envoyez un POST vers https://api.qvard.com/api/v1/payment avec votre clé dans l'en-tête Authorization: Bearer et un JSON avec :

  • id : le numéro de votre facture, sous forme de chaîne. Il revient dans le webhook.
  • price : le montant de la facture en dollars américains.
  • paymentSystemId (facultatif) : un moyen de paiement de votre projet.

La réponse est 201 avec un redirectUrl, l'adresse de la page de paiement hébergée. Placez ce lien dans l'e-mail ou le PDF de la facture à côté des coordonnées bancaires habituelles, pour que le client puisse choisir comment payer. Répéter la requête avec le même id pour le même moyen de paiement renvoie le paiement existant ; une facture renvoyée n'en crée donc pas un second.

Le taux de la page de paiement est fixé pendant une heure, le montant que voit le client ne bouge donc pas pendant qu'il paie. Si une facture est payée des jours plus tard, ouvrez un nouveau paiement pour elle plutôt que de réutiliser une page périmée.

Frais et paiements insuffisants : convenez-en à l'avance

La dispute classique en B2B porte sur qui supporte le coût de faire parvenir l'argent. Réglez-la dans les conditions, pas après coup.

  • Les frais de réseau du transfert sont payés par l'expéditeur. Votre facture doit indiquer que le montant dû est le montant qui doit arriver, pas le montant envoyé.
  • Les frais de retrait de la plateforme. Chez un client qui paie depuis une plateforme, des frais de retrait sont souvent déduits du montant envoyé, et le paiement arrive insuffisant. Mettez-le par écrit et demandez au client d'en tenir compte.
  • Le statut partial. Si moins que le montant complet arrive, le paiement reçoit le statut partial et aucun webhook de fin n'est envoyé. Gardez la facture ouverte, dites au client combien il manque et laissez-le payer la différence.
  • Le trop-perçu. Décidez à l'avance comment traiter un client qui envoie plus : l'imputer sur la facture suivante ou le rembourser.

Ne marquez la facture comme payée sur aucun statut autre que completed.

Rapprochement et comptabilité

Les équipes financières demanderont une trace. Donnez-leur-en une.

  • Le webhook est envoyé lorsque le paiement est terminé, avec le numéro de votre facture comme id et le statut. Marquez la facture comme payée à sa réception. Le point de terminaison doit répondre exactement HTTP 200 (sinon il y a des nouvelles tentatives : cinq en environ six minutes) et être sûr s'il s'exécute deux fois. Voir comment sécuriser les webhooks de paiement crypto.
  • Enregistrez en dollars. Le montant de la facture est en dollars ; comptabilisez donc l'encaissement à cette valeur et gardez l'id du paiement à côté de la facture.
  • Un contrôle quotidien. Comparez les factures que vous considérez payées avec les paiements et le solde de votre espace Qvard.
  • Renvoi. Si votre serveur a manqué une notification, renvoyez-la pour ce paiement depuis l'espace client.

Le traitement fiscal et comptable des encaissements en crypto dépend de votre pays et de celui de votre client. Vérifiez-le avec vos conseillers avant de lancer.

Sortir l'argent

Les fonds des factures restent sur votre solde Qvard. Vous les retirez vers votre propre portefeuille crypto, et le retrait ne coûte que les frais de réseau. Il n'y a pas d'abonnement et la commission est individuelle pour votre projet ; selon la page des tarifs, elle part de 1 % et peut descendre jusqu'à 0,1 %.

Le retrait vers un compte bancaire en monnaie fiat n'est pas disponible. Si votre activité a besoin de fiat, prévoyez la sortie via une plateforme ou un service en qui vous avez déjà confiance, et rappelez-vous que cette étape fait aussi partie de votre rapprochement.

Ce qui est prêt aujourd'hui

Qvard fonctionne via son API : vous créez un paiement pour chaque facture et recevez un webhook. Il n'existe pas encore de plugin de facturation prêt à l'emploi, les liens de paiement et un sandbox séparé sont en développement, et les clients reviennent sur votre site d'eux-mêmes. Si vos factures sont produites par votre propre code de facturation, c'est un petit ajout. Voir la documentation développeur et une facture de démonstration, et pour démarrer spécifiquement avec un stablecoin, comment accepter les paiements en USDT TRC20.

FAQ

Avec quels stablecoins et réseaux un client peut-il payer une facture ?

Qvard prend en charge l'USDT et l'USDC, entre autres actifs, sur des réseaux dont TRON (TRC20), Ethereum (ERC20) et BNB Smart Chain (BEP20). Le client choisit sur la page de paiement, ou vous pouvez présélectionner un moyen de paiement.

Qui paie les frais de réseau ?

Les frais du transfert sont payés par l'expéditeur. Indiquez sur la facture que le montant dû est celui qui doit arriver, afin que le client tienne compte d'éventuels frais de retrait de la plateforme.

Et si le client paie moins que la facture ?

Le paiement reçoit le statut partial et aucun webhook de fin n'est envoyé. Gardez la facture ouverte et demandez la différence.

Puis-je retirer vers un compte bancaire ?

Non. Le retrait se fait vers un portefeuille crypto et ne coûte que les frais de réseau. Le retrait vers un compte bancaire en monnaie fiat n'est pas disponible.

Articles similaires

Articles similaires