En voilà un titre qui est long :) On s'explique, suite à une demande récente il semble interessant à certains client de pouvoir avoir dans la facturation les totaux HT par classe de TVA.
Exemple, pour un TVA total de 10.00 €, il y a 2.00 de TVA à 7% (soit un sous-total HT produit de 27.57) de et 8.00€ de TVA à 19.6% (soit un sous-total HT produit de 40.82). C'est donc bien le montant produit HT des différentes classes de TVA qui est visé. Evidement pour que cela fonctionne il faut avoir plusieurs taux de TVA et afficher les détails.
Alors voici comment on fait, assez simplement (Magento 1.7, - mais devrait fonctionner pour 1.6 aussi):
Dans Mage > Sales > Model > Order > Pdf > Total > Default.php
remplacer ceci
foreach ($taxClassAmount as &$tax) { $percent = $tax['percent'] ? ' (' . $tax['percent']. '%)' : ''; $tax['amount'] = $this->getAmountPrefix().$this->getOrder()->formatPriceTxt($tax['tax_amount']); $tax['label'] = Mage::helper('tax')->__($tax['title']) . $percent . ':'; $tax['font_size'] = $fontSize; }
par quelque chose comme ça
foreach ($taxClassAmount as &$tax) { $subtotal_tax = ($tax['tax_amount'] * 100) / $tax['percent']; $tax['amount'] = $this->getAmountPrefix().$this->getOrder()->formatPriceTxt($tax['tax_amount']); $tax['label'] = Mage::helper('tax')->__($tax['title']) . $percent; if ($subtotal_tax != 0) { $tax['label'].= ' (ST HT : ' .$this->getAmountPrefix().$this->getOrder()->formatPriceTxt($subtotal_tax).'):'; } else { $tax['label'].= ':'; } $tax['font_size'] = $fontSize; }
En gros on repart des montant des taxes et de leur taux pour revenir au montant total des produits de cette classe de TVA... youhou
Le principe que nous allons mettre en oeuvre est certes un peu radical, mais il fonctionne. Nous allons modifier la Grid.php qui affiche les commandes dans Magento de façon à pouvoir y ajouter un colonne Groupe Client (customer group) afin de pouvoir trier l'ensemble par ce filtre.
Préliminaires au travail
Lire la suite : Ajouter la colonne Groupe Client dans la grille des commandes
© 2023 UniDeal
© 2023 UniDeal