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