chateau.fr Posted November 11, 2009 Share Posted November 11, 2009 Bonjour à tous, Savez-vous s'il existe un module qui permettrait de faire le calcul de la TVA sur la marge, exemple :j'achète un produit 100€ TTC, je le vend 150€ HT sur mon site, ma TVA devrait se calculer sur la base de 50€ (150-50) et non sur 150€.Merci pour vos réponses,Samuel Link to comment Share on other sites More sharing options...
chateau.fr Posted November 12, 2009 Author Share Posted November 12, 2009 Bonsoir,Je me suis finalement débrouillé en le programmant par moi-même en 2 heures sans connaitre Prestashop auparavant, je salue au passage la team prestashop pour la simplicité et la clarté du code (encodage ANSI pour certains fichiers et UTF8 pour d'autres ?)Si ça intéresse quelqu'un je peux poster les modifs ici.merci,Samuel Link to comment Share on other sites More sharing options...
chateau.fr Posted November 12, 2009 Author Share Posted November 12, 2009 Sur PrestaShop v.1.2.51) Ajouter un champ à la DB ALTER TABLE `PREFIXE_product` ADD `tvamargin` TINYINT( 1 ) NOT NULL DEFAULT '0' AFTER `price` 2) Ajouter une zone sur la page produit de l'admin/admin/tabs/AdminProducts.phpLigne 631 : echo ' '.$this->l('TVA sur marge:').' Non <input name="tvamargin" type="radio" value="0" ' . ($this->getFieldValue($obj, 'tvamargin') == 0 ? 'checked' : '') . ' /> Oui <input name="tvamargin" type="radio" value="1" ' . ($this->getFieldValue($obj, 'tvamargin') == 1 ? 'checked' : '') . ' /> '; 3) Calcul et selection du nouveau champ du produit/classes/Product.phpLigne 68 on déclare notre champ /** @var int tvamargin */ public $tvamargin = 0; Ligne 168 on déclare le type 'tvamargin' => 'isBool', Ligne 228 on récupère la valeur du champ tvamargin : $fields['tvamargin'] = floatval($this->tvamargin); Ligne 1252 On ajoute les deux champs 'wholesale_price' et 'tvamargin' de la table product : SELECT p.`price`, p.`wholesale_price`, p.`tvamargin`, p.`reduction_pr..... Ligne 1263 après $tax = floatval(Tax::getApplicableTax(intval($result['id_tax']), floatval($result['rate'])));On fait le nouveau calcul du montant de la taxe if(intval($result['tvamargin']) && $tax) { $margin = floatval($result['price']) - floatval($result['wholesale_price']) ; $tvaonmargin = $tax*$margin/100+$margin+floatval($result['wholesale_price']); $tax = 100-floatval($result['price'])*100/$tvaonmargin ; } 4) Même chose pour la création de la commande/classes/Cart.phpLigne 209On ajoute les champs necessaires au calcul de la nouvelle taxe SELECT cp.`id_product_attribute`, cp.`id_product`, cp.`quantity` AS cart_quantity, pl.`name`, pl.`description_short`, pl.`available_now`, pl.`available_later`, p.`id_product`, p.`id_category_default`, p.`id_supplier`, p.`id_manufacturer`, p.`id_tax`, p.`on_sale`, p.`ecotax`, p.`quantity`, p.`price`, p.`wholesale_price`, p.`tvamargin`,..... 5) Calcul de la nouvelle taxe sur la commande /classes/PaymentModule.phpLigne 189 après $tax = Tax::getApplicableTax(intval($product['id_tax']), floatval($product['rate'])); if(intval($product['tvamargin']) && $tax) { $margin = floatval($product['price']) - floatval($product['wholesale_price']) ; $tvaonmargin = $tax*$margin/100+$margin+floatval($product['wholesale_price']); $tax = 100-floatval($product['price'])*100/$tvaonmargin ; } Samuel Link to comment Share on other sites More sharing options...
easybizness Posted November 13, 2009 Share Posted November 13, 2009 Salut,A quoi ca sert de faire la TVA uniquement sur la marge ??Normalement ne doit'on pas calculer la TVA sur le prix global HT ????? Link to comment Share on other sites More sharing options...
chateau.fr Posted November 13, 2009 Author Share Posted November 13, 2009 Salut,C'est utile lorsque tu revends quelque chose que tu as acheté TTC sur une TVA non récupérable.Samuel Link to comment Share on other sites More sharing options...
chateau.fr Posted November 13, 2009 Author Share Posted November 13, 2009 D'ailleurs, est-il possible de créer un module qui fasse ça ? Je veux dire, et ce que les moyens mis à disposition pour la création de module permettrait de le faire ?Merci pour vos réponses,Samuel Link to comment Share on other sites More sharing options...
Jean-Bruno Posted November 23, 2009 Share Posted November 23, 2009 BonjourCrois tu qu'on pourrait se servir de ta manip pour sortir une marge brute ?Merci beaucoup Link to comment Share on other sites More sharing options...
chateau.fr Posted November 23, 2009 Author Share Posted November 23, 2009 Bonjour, j'ai remarqué que c'était très simple de modifier ce genre de choses, expose ici ce que tu veux, je peux y jeter un œil ensuite.Samuel Link to comment Share on other sites More sharing options...
Jean-Bruno Posted October 19, 2012 Share Posted October 19, 2012 Bon je déterre ce post à l'occasion de ma recherche sur les marges L'idée est simple Etant donné qu'il existe un champ "prix d'achat", ne serait t'il pas possible de générer un champ qui donne la marge brute. Ou/et indiqué un taux de marge/marque Deuxième étape Chaque fois qu'une vente est effectuée on remonte l'info dans les stats. L'idée n'est pas de remplacé un logiciel de compta mais de savoir en live ce que la journée, la semaine, le mois, l'année a dégagé en marge brute. Le mode de calcul est simple prix de vente - prix d'achat - prix de transport. Facile ? Ca fait 5 ans que j'évoque cette option mais à chaque fois j'ai une levée de bouclier : il ne faut pas une usine à gaz qui fait le café, le beurre et la tartine. Ce avec quoi je suis d'accord. Pour moi la compta est faite par un comptable. Moi je suis vendeur. Mais par contre savoir à la volée ce que me donne en marge et en euro ce qui me reste après une remise pour une vente flash par exemple, ça me simplifierai la vie au quotidien ;-) d'avance mille mercis Samuel Link to comment Share on other sites More sharing options...
fphred Posted January 10, 2014 Share Posted January 10, 2014 Bonjour chateau.fr, Tout d'abord bravo pour ton partage ! Je suis en train de chercher une solution pour calculer la tva sur marge au lieu de tva sur prix ht pour un Prestashop 1.5.4.1. As-tu fait une mise à jour de tes modifs spéciales 'tva sur marge' sur une des dernières versions de prestashop 1.5 (je crois qu'elles ne sont pas toutes équivalentes) ? Si oui, peux-tu nous faire partager ton expérience ? D'avance merci Link to comment Share on other sites More sharing options...
Cestdujoli Posted September 18, 2014 Share Posted September 18, 2014 Bonjour, J'utilise PrestaShop™ 1.6.0.8 et j'ai un problème particulier car je vends à la fois des produits neufs et d'occasions hors en France on n'utilise pas la même règle de TVA pour ces deux types de produits. Il faudrait que je puisse avoir un panier et une facture qui se modifient en fonction de mes différents cas de figures : 1) Produit Neuf vendu en France : Prix HT avec prix TTC (TVA à 20%) 2) Produit d’Occasion vendu en France : format TVA sur marge ((Prix de vente TTC - mon Prix d'achat HT) x 0,8333 x 20%) avec indication uniquement du prix TTC et d’une mention "TVA article 297 A du CGI » 3 ) Produit neuf ou occasion vendu à l’étranger : prix HT = prix TTC avec indication "Exonération de TVA exportation art 262-I du CGI pour les ventes Hors Union Européenne" Je dois donc pouvoir aussi rentrer un prix d’achat HT, un prix de vente TTC et cocher une case "TVA sur marge" dans le cas d’une montre d’occasion. Merci d'avance pour votre aide. Link to comment Share on other sites More sharing options...
Recommended Posts