• Bonjour,

    Nous sommes en cours de développement de notre marketplace et nous avons un comportement étonnant lorsqu’on veut faire les virements Mangopay depuis WCVendors > Commissions.

    Pour une vente d’un prix total de 50€ avec une TVA à 20%, et des frais fixes de 10€, le tableau de commission nous indique :
    Commission : 31,67€
    Livraison : 0,00€
    Taxes : 8,33€
    Total : 40,00€
    Les montants sont donc corrects mais quand on procède au pay-out, c’est 31,67€ qui sont reversés au vendeur, et non 40,00€.

    Savez-vous pourquoi les taxes ne sont pas reversées ? Est-ce un bug ou bien le comportement normal ? Je n’arrive pas à m’expliquer pourquoi la TVA reste du c?té marketplace…
    Si c’est normal, comment cela se passe au niveau comptable, étant donné que le vendeur facture 50 € TTC au client final, mais qu’il n’encaisse que 31.67 € ?

    Merci d’avance de votre réponse.

Viewing 15 replies - 1 through 15 (of 15 total)
  • Plugin Author mangopay

    (@mangopay)

    Bonjour @superzagros ,

    Merci pour ce retour, il s’agit d’un comportement normal.
    Le plugin par design est fait pour prendre les “fees” uniquemement lors d’un transfert de wallets (acheteur vers vendeur). C’est à cette étape que le vendeur récupère son “du”. Les taxes ne sont pas interprétées par WC-Vendor comme imputable au vendeur malheureusement. C’est pourquoi elles n’apparaissent pas dans ce “du”.

    Ceci étant dit, d’un point de vue comptable vous pouvez toujours inclure la TVA directement dans la commission vendeur et non dans la rubrique taxes. Cela résout l’affaire ??

    Bonne soirée,

    Audouin,

    Thread Starter superzagros

    (@superzagros)

    Bonjour Audouin,
    Merci pour votre réponse.
    Je ne suis pas s?r de bien comprendre cependant.

    Les taxes ne sont pas interprétées par WC-Vendor comme imputable au vendeur malheureusement. C’est pourquoi elles n’apparaissent pas dans ce “du”.

    J’ai contacté également le support de WC Vendors (on utilise la version pro), qui m’a répondu que normalement, en activant l’option “Give any taxes to the vendeur” (accessible via WC Vendors > Paramètres), le montant des taxes serait ajouté à la commission lors du virement Mangopay. Leur support m’a donc dirigé vers le support de Mangopay.

    Ceci étant dit, d’un point de vue comptable vous pouvez toujours inclure la TVA directement dans la commission vendeur et non dans la rubrique taxes. Cela résout l’affaire

    Je crois comprendre votre raisonnement et il est valide d’un point de vue comptable, mais il nous poserait deux problèmes :
    – on va gérer des taux de TVA différents d’un produit à un autre (marketplace de différents produits et de services à la personne)
    – on doit pouvoir afficher le montant de la TVA au niveau des paniers, commandes, mails, etc car il est possible que certains clients la récupèrent et raisonnent en HT.
    C’est pourquoi je crois ne pas pouvoir gérer autrement qu’avec le système de taxes natif de Woocommerce. C’est vraiment frustrant car tout fonctionne bien sauf au niveau du virement vendeur…

    Merci d’avance pour votre aide.

    Plugin Author mangopay

    (@mangopay)

    Bonjour @superzagros,

    Je regarde tout cela avec mon équipe et reviens rapidement vers vous !

    Bonne journée,

    Audouin,

    Thread Starter superzagros

    (@superzagros)

    Bonjour Audouin,

    Merci, j’attends votre retour donc.
    En complément d’info, j’ai regardé un peu le code source du plugin Mangopay et on voit bien que l’option wcvendors_vendor_give_taxes est testée dans la méthode get_all_wallet_trans dans main.inc.php.
    On a peut-être un mauvais paramétrage dans notre config (pour info on est sur WP 5.3, Woocommerce 3.8.1, WC Vendors 2.1.17, WC Vendors Pro 1.7.2, MANGOPAY WooCommerce plugin 3.2.0 – on préfère rester sur ces versions pour une première mise en production rapidement, et monter en version plus tard) …

    On continue également les tests de notre c?té, je vous tiens au courant si on avance.

    Bonne journée

    mineralO

    (@mineraloxygene)

    Bonjour

    Pour info cela fonctionne bien comme cela pour nous :
    quand on coche give taxe, le vendeur re?oit toute la TVA de la commande.

    nos versions :
    Woocommerce Version 3.7.0
    WC vendors pro Version 1.7.2
    MANGOPAY WooCommerce plugin Version 3.1.1

    Bonne journée

    Thread Starter superzagros

    (@superzagros)

    Bonjour @mineraloxygene,

    Merci beaucoup pour cette information précieuse, comme quoi ?a peut fonctionner correctement.
    je continue donc de creuser sur les éventuelles particularités de notre config.

    Bonne journée !

    mineralO

    (@mineraloxygene)

    Re bonjour,

    Désolé, mais je viens de relire votre topic et en fait au payout la taxe ne passe pas.
    C’est au transfert que cela passe bien..

    On va regarder ce point aussi. Si jamais j’ai des pistes je vous tiens au courant !

    Thread Starter superzagros

    (@superzagros)

    A?e, faux espoir alors… Merci quand même, j’espère qu’on va réussir à régler ce problème !

    Bonjour à tous,

    En effet il y a bien un problème de pay-out puisque Mangopay prend uniquement les commissions pour les virements aux vendeurs…
    Par contre le solde (TVA) apparait bien dans le wallet du vendeur dans le dashboard mangopay.
    Du coup il est préférable d’opérer les pay-out à partir du dashboard mangopay pour contourner ce bug.

    Pour info, j’ai les dernieres versions de woocommerce, wc vendors et mangopay.

    Bonne journée,

    mineralO

    (@mineraloxygene)

    Bonjour
    nous avons d? modifié le code. A priori le plugin va chercher dans une table uniquement l’information du prix HT. Et pas les colonnes TVA et livraison.

    Bonne journée

    Plugin Author Yann at WP&Co

    (@ydubois)

    Bonjour à tous

    Merci à chacun pour vos rapports détaillés et vos recherches et échanges.

    Les problèmes que certains rencontrent viennent d’un changement récent dans le calcul et le stockage des commissions par WC-Vendors Pro. Jusque récemment, WC-Vendors stockait uniquement un montant total de chaque commission à reverser à chaque vendeur. Et c’est ce montant (“total_due”), qui est reversé lors du payout. Depuis la dernière version de WC-Vendors Pro la taxe est maintenant stockée séparément dans la table des commissions, ce qui oblige à additionner le montant de la taxe au moment du payout quand les taxes sont reversées aux vendeurs. Contrairement à ce que son nom indique “total_due” n’est donc plus un total … mais pour l’avenir, c’est une bonne chose, car ces nouvelles données détaillées stockées par WC-Vendors Pro vont permettre à l’avenir un calcul plus juste de tous les cas de figure de reversement des taxes et des frais de transport, ce qui n’était pas possible jusque récemment.

    Les places de marché qui utilisent la fonction “paiement instantané” (déclenchement automatique du payout quand la commande passe en “complétée”) ne doivent pas rencontrer de problème, car dans ce cas le montant du payout est automatiquement le même montant que celui du transfert, qui lui est correct (car historiquement, le plugin MANGOPAY-WooCommerce compense le “défaut” de prise en compte de la TVA par WC-Vendors au moment du transfert).

    Pour les autres, qui utilisent la dernière version de WC-Vendors Pro, et qui souhaitent reverser la TVA aux vendeurs, voici un code de correction provisoire que vous pouvez mettre dans le fichier functions.php de votre thème sans avoir à modifier le code du plugin MANGOPAY-WooCommerce:

    
    /** Correctif provisoire pour ajout de la TVA au payout vendeur **/
    function mp_commission_due_tempfix( $total_due, $row ){
    
        /** Récupérer les nouveaux champs dans la table des commissions de WCV **/
        global $wpdb;
        $table_name = $wpdb->prefix . mangopayWCConfig::WV_TABLE_NAME;
        $query = "
            SELECT *
            FROM {$table_name}
            WHERE id = %d;
        ";
        $query = $wpdb->prepare( $query, $row->id );
    
        /** Additionner le montant de la taxe au "total_due" **/
        if( $row = $wpdb->get_row( $query ) ) {
            $total_due = $row->total_due;
            if( !empty( $row->tax ) ){
                $total_due = floatval( $row->total_due ) + floatval( $row->tax );
                return $total_due;
            }
        }
       
        return $total_due;
    }
    add_filter( 'mp_commission_due', 'mp_commission_due_tempfix', 10, 2 );
    

    Ce code n’est à utiliser QUE si vous rencontrez un problème de reversement correct de la TVA au vendeur au moment du payout. Il n’est pas nécessaire si vous n’avez pas ce problème actuellement.

    Nous allons corriger définitivement ce problème dans la prochaine version majeure (3.3) du plugin MANGOPAY-WooCommerce. A ce moment là ce correctif provisoire deviendra inutile.

    Toutefois cette prochaine version demande des tests approfondis de notre c?té pour assurer une transition sans problème d’une version à l’autre de WC-Vendors pour les commissions non encore versées aux vendeurs, ainsi que la rétro-compatibilité avec toutes les versions de WC-Vendors, et pour tous les cas de figure de modalités de reversement de la TVA et des frais de port. Il faudra donc patienter un peu.

    En attendant, le correctif rapide ci-dessus devrait permettre de régler le problème sans attendre pour ceux qui y sont confrontés.

    Thread Starter superzagros

    (@superzagros)

    Bonjour à tous !

    Merci @ydubois pour ce patch et les explications associées. En effet j’avais vu que des modifications avaient été apportées sur la gestion des taxes du c?té WC Vendors.

    Je vais faire des tests avec le correctif et je vous tiens au courant.

    Et merci pour vos contributions @mineraloxygene @tomsenst !

    Thread Starter superzagros

    (@superzagros)

    Bonjour @ydubois et @mangopay,

    Nous avons testé le correctif, de notre c?té on a du faire une petite adaptation pour qu’il fonctionne.
    Tel quel il produisait une notice PHP dans l’admin WordPress (undefined property stcClass:$id) après le virement Mangopay et ne prenait pas en compte les taxes.

    On a simplement remplacé id par order_id dans le code proposé par @ydubois, après quelques tests ?a semble OK sur notre site et sur le dashboard Mangopay.

    Savez-vous s’il s’agissait d’une erreur dans le correctif, ou bien d’une particularité de notre config ?
    Sachant que nous sommes toujours sur les versions suivantes :
    WP 5.3, Woocommerce 3.8.1, WC Vendors 2.1.17, WC Vendors Pro 1.7.2, MANGOPAY WooCommerce plugin 3.2.0

    Merci pour votre aide !

    Plugin Author Yann at WP&Co

    (@ydubois)

    @superzagros

    étonnant: cela semblerait indiquer que sur votre installation de WC-Vendors Pro, la table wp_pv_commissions des commission stockées par WC-Vendors n’a pas de champ id.

    Une hypothèse: sur notre environnement de développement et de test nous avons une version de WC-Vendors héritée de toutes les mises à jour incrémentales depuis des années, alors que peut-être que sur une installation réalisée directement avec la dernière version du plugin la table n’a pas la même structure.

    Nous allons vérifier cette hypothèse, si c’est le cas c’est un “détail” important et merci de nous l’avoir signalé.

    PS: votre solution pour contourner ce problème ne fonctionnera qu’à condition que vous n’ayez pas de panier de commande multi-vendeur, donc aucune commande impliquant des reversements de commissions à plusieurs vendeurs différents pour la même commande (et donc 2 lignes de commissions à traiter pour le même order_id).

    Dans le cas contraire il vaut mieux adapter le WHERE de la clause SELECT pour récupérer la ligne qui a à la fois le même order_id et le même vendor_id que la ligne d’origine.

    • This reply was modified 4 years, 7 months ago by Yann at WP&Co.
    Thread Starter superzagros

    (@superzagros)

    Bonjour @ydubois !

    Je reviens vers vous un peu tard mais avec une précision qui pourrait vous être utile dans le développement des futures versions du plugin.
    Tout d’abord merci pour votre dernier correctif sur la requête SQL.

    En fait notre table pv_commissions contient bien la colonne id. C’est la classe standard passée en paramètre du filtre via $row qui n’a pas de propriété id (d’où l’erreur undefined property stcClass:$id que nous avions avec la première version du correctif). Je ne sais pas si ?a vient de notre site ou si c’est un problème plus général.

Viewing 15 replies - 1 through 15 (of 15 total)
  • The topic ‘calcul taxes et commission au pay-out’ is closed to new replies.