{"id":76,"date":"2021-03-23T09:20:00","date_gmt":"2021-03-23T12:20:00","guid":{"rendered":"https:\/\/dcoder.io\/blog\/marketplace-multi-vendeur-repartition-paiements\/"},"modified":"2021-03-23T09:20:00","modified_gmt":"2021-03-23T12:20:00","slug":"marketplace-multi-vendeur-repartition-paiements","status":"publish","type":"post","link":"https:\/\/dcoder.io\/blog\/fr\/marketplace-multi-vendeur-repartition-paiements\/","title":{"rendered":"Marketplace multi-vendeurs : r\u00e9partition des paiements, reversements et erreurs co\u00fbteuses"},"content":{"rendered":"<p><strong>Le point difficile d&#8217;une marketplace n&#8217;est ni le catalogue ni le panier. C&#8217;est l&#8217;argent.<\/strong> Une r\u00e9partition effectu\u00e9e \u00e0 la source par le prestataire de paiement, un cycle de reversement \u00e0 la r\u00e8gle \u00e9crite et un traitement des remboursements pens\u00e9 d\u00e8s le d\u00e9part : voil\u00e0 ce qui s\u00e9pare une exploitation saine d&#8217;un rapprochement manuel sans fin.<\/p>\n<p>Construire la vitrine est un travail connu. Ce qui coule les projets, c&#8217;est le premier lundi du mois suivant, quand trente vendeurs veulent savoir pourquoi le montant re\u00e7u ne correspond pas \u00e0 leur calcul.<\/p>\n<h2>R\u00e9partir \u00e0 la source, pas sur votre compte<\/h2>\n<p>La premi\u00e8re erreur grave consiste \u00e0 tout encaisser sur un compte unique de la plateforme et \u00e0 reverser ensuite par virement. Cela para\u00eet simple et cr\u00e9e deux vrais probl\u00e8mes.<\/p>\n<p>Le premier est fiscal. La totalit\u00e9 du montant transite d\u00e9sormais comme chiffre d&#8217;affaires de la plateforme, ce qui change compl\u00e8tement votre situation fiscale. Le second est op\u00e9rationnel : tout remboursement devient une tentative manuelle de r\u00e9cup\u00e9rer de l&#8217;argent d\u00e9j\u00e0 sorti.<\/p>\n<p>La bonne r\u00e9ponse est une r\u00e9partition effectu\u00e9e par le prestataire lui-m\u00eame, qu&#8217;il s&#8217;agisse de Stripe Connect, d&#8217;Adyen for Platforms ou d&#8217;un \u00e9quivalent local. Chaque vendeur dispose d&#8217;un compte connect\u00e9, le paiement na\u00eet d\u00e9j\u00e0 divis\u00e9 et la plateforme ne re\u00e7oit que sa commission. Un remboursement s&#8217;inverse proportionnellement, sans intervention.<\/p>\n<h2>Le cycle de reversement a besoin d&#8217;un nom et d&#8217;une r\u00e8gle<\/h2>\n<p>\u00c9crivez-le au contrat et dans le code, avec les m\u00eames mots des deux c\u00f4t\u00e9s :<\/p>\n<ul>\n<li><strong>Quand les fonds deviennent disponibles.<\/strong> \u00c0 la confirmation du paiement ? \u00c0 la livraison confirm\u00e9e ? Sept jours plus tard, pour couvrir la fen\u00eatre de r\u00e9clamation ?<\/li>\n<li><strong>Qui supporte les frais de transaction.<\/strong> Le vendeur, la plateforme, ou un partage ?<\/li>\n<li><strong>Ce qu&#8217;il advient des frais de port.<\/strong> Entrent-ils dans l&#8217;assiette de commission ? G\u00e9n\u00e9ralement non, et g\u00e9n\u00e9ralement personne ne l&#8217;a act\u00e9 \u00e0 l&#8217;avance.<\/li>\n<li><strong>Les remboursements apr\u00e8s reversement.<\/strong> D\u00e9duits du cycle suivant ? Et s&#8217;il n&#8217;y a pas de cycle suivant ?<\/li>\n<\/ul>\n<p>Toute marketplace tomb\u00e9e dans le chaos du rapprochement avait laiss\u00e9 au moins un de ces points en suspens.<\/p>\n<h2>Chaque mouvement est une \u00e9criture immuable<\/h2>\n<p>Ne stockez pas le solde du vendeur dans un champ que l&#8217;on met \u00e0 jour. Stockez des \u00e9critures : vente, commission, frais, remboursement, ajustement manuel, reversement. Le solde en est la somme, jamais un nombre \u00e9crit par-dessus.<\/p>\n<p>Cela ressemble \u00e0 une rigueur excessive jusqu&#8217;au premier litige. Avec des \u00e9critures, vous ouvrez le relev\u00e9 et montrez ligne par ligne comment on arrive au montant. Avec un champ de solde, vous avez la parole du syst\u00e8me contre le tableur du vendeur, et le tableur a tendance \u00e0 gagner cette discussion.<\/p>\n<p>C&#8217;est la raison m\u00eame pour laquelle la comptabilit\u00e9 utilise la partie double depuis six cents ans. Ce n&#8217;est pas de la bureaucratie. C&#8217;est la seule fa\u00e7on d&#8217;auditer.<\/p>\n<h2>Les erreurs qui n&#8217;apparaissent qu&#8217;en production<\/h2>\n<h3>Stock partag\u00e9 entre vendeurs<\/h3>\n<p>Deux vendeurs proposent le m\u00eame produit avec une unit\u00e9 chacun. L&#8217;acheteur met les deux dans le m\u00eame panier et l&#8217;un d&#8217;eux n&#8217;a plus de stock. Il y a une seule commande et un seul paiement, et la r\u00e9partition doit \u00eatre partiellement d\u00e9faite. D\u00e9cidez \u00e0 l&#8217;avance : r\u00e9servation au panier, annulation partielle, ou blocage de cette combinaison.<\/p>\n<h3>Vendeur sans compte valid\u00e9<\/h3>\n<p>L&#8217;ouverture de compte chez le prestataire de paiement prend de quelques heures \u00e0 quelques jours et peut \u00eatre refus\u00e9e. Si un vendeur peut publier avant validation, vous vendrez un produit dont l&#8217;argent n&#8217;a nulle part o\u00f9 aller. Bloquez la publication tant que le compte n&#8217;est pas actif.<\/p>\n<h3>Annulation en cours de route<\/h3>\n<p>Une commande avec trois vendeurs, dont un annule. Frais de port recalcul\u00e9s, commission recalcul\u00e9e, remboursement partiel. Si ce n&#8217;est pas mod\u00e9lis\u00e9 d\u00e8s le d\u00e9but, cela devient un ajustement manuel. Et un ajustement manuel dans un flux d&#8217;argent, c&#8217;est l\u00e0 qu&#8217;une maladresse d&#8217;exploitation se transforme en perte.<\/p>\n<h2>Le tableau de bord vendeur n&#8217;est pas un accessoire<\/h2>\n<p>C&#8217;est lui qui d\u00e9cide si le support traite trois demandes par mois ou trente par jour.<\/p>\n<p>Le minimum qu&#8217;il doit afficher : les commandes avec leur statut, un relev\u00e9 de toutes les \u00e9critures, la date du prochain reversement, le motif de chaque retenue, et l&#8217;historique complet des reversements pr\u00e9c\u00e9dents avec justificatifs.<\/p>\n<p>Un vendeur capable de r\u00e9pondre seul \u00e0 \u00ab pourquoi ai-je re\u00e7u ce montant \u00bb n&#8217;ouvre pas de ticket. Sur des centaines de vendeurs, c&#8217;est la diff\u00e9rence entre une personne au support et cinq.<\/p>\n<h2>Commencez petit, d\u00e9lib\u00e9r\u00e9ment<\/h2>\n<p>Une marketplace avec dix vendeurs choisis un par un, int\u00e9gr\u00e9s manuellement par l&#8217;\u00e9quipe, apprend plus en deux mois que six mois de planification. Les r\u00e8gles de reversement finissent justes parce qu&#8217;elles ont \u00e9t\u00e9 corrig\u00e9es par de vraies r\u00e9clamations, et non par des hypoth\u00e8ses de salle de r\u00e9union.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Ce qui s\u00e9pare une marketplace qui cl\u00f4ture le mois proprement d&#8217;une autre qui devient un tableur de rapprochement manuel : la r\u00e9partition \u00e0 la source, un cycle de reversement explicite et les remboursements pens\u00e9s d\u00e8s le d\u00e9part.<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-76","post","type-post","status-publish","format-standard","hentry","category-sem-categoria"],"_links":{"self":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/76","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/comments?post=76"}],"version-history":[{"count":0,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/posts\/76\/revisions"}],"wp:attachment":[{"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/media?parent=76"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/categories?post=76"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dcoder.io\/blog\/wp-json\/wp\/v2\/tags?post=76"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}