Domanda

Nel mio sito web magento ho prodotti i prezzi sono comprensivi di imposta del 12,5%.Se il cliente è B2B (verrà a sapere se ha selezionato ha forma di c in onepagecheckout) quindi voglio ricalcolo imposta come segue:

  • ridurre il 12,5% del prezzo del prodotto.cioèse il mio prodotto prezzo è di 50000 quindi ridurre il 12,5% da 50000
  • e poi aggiungere il 2% sul prezzo dopo la riduzione del 12,5%

Per esempio:

Product Price : 50000
Base Price: 50000 - 12.5% of Product Price
CST (2%): 2% of the Base Price
Total: Base Price + CST

Per favore mi guida.

È stato utile?

Soluzione 5

I had done this with myself by adding custom logic in the sales_quote_collect_totals_before observer

Step 1:- Declare Observer in config.xml

<events>
    <sales_quote_collect_totals_before>
        <observers>
            <new_tax>
                <type>singleton</type>
                <class>Neo_Cform_Model_Observer</class>
                <method>newTax</method>
            </new_tax>
        </observers>
    </sales_quote_collect_totals_before>
</events>

Step 2:- Declare Observer's function in Observer.php

public function newTax($observer){
    $quote = $observer->getQuote();
    foreach ($quote->getAllItems() as $quoteItem) {
        if ($quote->getData('customer_cform') === 'true') { // check if customer is b2b customer and selects for the cform option
            $product = $quoteItem->getProduct();
            $product->setTaxClassId(0); // tax class removed.now the price is with no tax
            $basePrice = $product->getFinalPrice() / (1+(12.5/100)); // calcuated 12.5 % of total price and subtracted from the price to get base price
            $final_cst_price = $basePrice * (2/100); // added 2% in the base price to get fincal cst price
            $finalPrice = $basePrice + $final_cst_price;
            $product->setPrice($basePrice);
            $product->setTaxClassId(8); // here 8 is a tax rule defined in the magento admin just to show the split of base price and tax (2%) in the cart page and checkout page
        }
    }
}

Altri suggerimenti

E l'impostazione di un gruppo di clienti per tutti i clienti B2B e regole fiscali?

Personalizzati il prezzo del prodotto è realizzabile mediante la scrittura di un modulo per estendere la getFinalPrice metodo Mage_Catalog_Model_Product_Type_price.

A seconda del tipo di prodotti, potrebbe essere necessario estendere altri prezzi codice come ci sono prezzi diversi metodi per configurabili e semplici prodotti.

Qui è un exceprt da un modulo ho scritto che sconti il prezzo del prodotto finale da parte di una percentuale fissa per clienti B2B.

Prima estendiamo il getFinalPrice metodo

class PAJ_Price_Model_Simple extends Mage_Catalog_Model_Product_Type_Price
{
    public function getFinalPrice($qty = null, $product)
    {

        if (is_null($qty) && !is_null($product->getCalculatedFinalPrice())) {
            return $product->getCalculatedFinalPrice();
        }

        $finalPrice = $this->getBasePrice($product, $qty);
        $product->setFinalPrice($finalPrice);

        Mage::dispatchEvent('catalog_product_get_final_price', array('product' => $product, 'qty' => $qty));

        $finalPrice = $product->getData('final_price');
        $finalPrice = $this->_applyOptionsPrice($product, $qty, $finalPrice);
        $finalPrice = max(0, $finalPrice);

        // get B2B Final Price
        if ($_B2BFinalPrice=Mage::helper('PAJ_Price/B2BFinalPrice')->getB2BFinalPrice($product,$finalPrice)) { return max(0, $_B2BFinalPrice); }

        $product->setFinalPrice($finalPrice);

        return $finalPrice;
    }
}

Come si può vedere il calcolo del prezzo è ora eseguita in un metodo di supporto B2BFinalPrice.Qui si può applicare la logica che determina se il cliente B2B cioèmembro di un gruppo specifico, e quindi nel tuo esempio eseguire il calcolo per il prezzo finale:

class PAJ_Price_Helper_B2BFinalPrice extends Mage_Core_Helper_Abstract
{
    public function getB2BFinalPrice($product,$finalPrice)
    {
                    $basePrice=$finalPrice - ($finalPrice * (12.5/100));
                    $cst=$basePrice + ($basePrice * (2/100));

                    $finalPrice=$basePrice+$cst;

                    return $finalPrice;
    }
}

Si noti che questa è la modifica del prodotto prezzo finale, non il calcolo delle imposte.In questo esempio imposta calcolata sul prezzo finale.

Se si espongono i prezzi di altri, come il livello dei prezzi in poi si sarebbe anche bisogno di eseguire questo calcolo nel frontend tema per visualizzare il livello di prezzo per i clienti B2B correttamente.

Per implementare una soluzione come questa, è necessario avere familiarità con la creazione di moduli personalizzati e per estensione Magento codice di base.

È inoltre necessario fare un sacco di test per garantire che si sta ottenendo i risultati corretti.Non vogliono fare errori con i prezzi dei prodotti!

Non ho guardato, ma si può anche trovare qualcosa di simile disponibile da Magento connect.

Spero che questo aiuta.

Si può fare riferimento a IVA esente da Milleople .Rimuove la tassa su determinate condizioni può essere credo che il tuo requisito possa essere raggiunto personalizzando un po 'l'estensione.

You can add a shopping price rule under which can be found under:

Promotions->Shopping Cart Price Rule 

and then place that rule at certain customer group that you will create. The customer group is located under:

Customers->Customer Groups
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a magento.stackexchange
scroll top