Posting in the Magento forums has been disabled pending the implementation of a new and improved forum solution which should better serve the community.

For new questions please post at magento.stackexchange.com, the community-run support site for the Magento community. We will be providing updates on the new forum solution soon. For questions or concerns please email community@magento.com.

Magento Forum

Nachnahme / Zahlungsmodul
 
5erTag
Member
 
Total Posts:  46
Joined:  2008-04-08
 

Hallo MagentoFreunde,

ich habe (1.3.0) ein Problem mit der ShippingTax. Diese wird bei mir doppelt versteuert:
Zuerst wird auf 6,50 netto die Tax aufgeschlagen, und dann nochmal auf die Summe dieser “BruttoVersandkosten” + Summe Warenpreis
Das Ganze passiert auf der Seite “/checkout/onepage/”
Also unter Punkt Bestellübersicht.

Ich vermute es liegt irgendwo in der Quote.php, aber wo:-))

 
Magento Community Magento Community
Magento Community
Magento Community
 
5erTag
Member
 
Total Posts:  46
Joined:  2008-04-08
 
[m><p> zentrale” date= -

die CoD Ext ein ein kleinen Bug, wenn ich Orders im Backend anlege werden die Versandkosten nicht um die Nachnahmegebühr erhöht. Hier ein Fix:

Neue Funktion für die Quote.php
protected function checkIfPayment(){
        $is 
false;
        if(
Mage::app()->getStore()->isAdmin()){
            
if (!is_null($this->_payments) && $this->getPayment()->getMethodInstance()->getCode() == 'cashondelivery'{
                $is 
true;
            
}
        }else{
            
if (!is_null($this->_payments) && $this->getPayment()->hasMethodInstance() && $this->getPayment()->getMethodInstance()->getCode() == 'cashondelivery'{
                $is 
true;
            
}
        }
        
        
return $is;
    
}

dann die Abfrage in der collectTotals() anpassen:

/*
             * Check if COD is selected
             */        
        #if (!is_null($this->_payments) && $this->getPayment()->hasMethodInstance() && $this->getPayment()->getMethodInstance()->getCode() == 'cashondelivery') {
        #if (!is_null($this->_payments) && $this->getPayment()->getMethodInstance()->getCode() == 'cashondelivery') {
        if($this->checkIfPayment()){

Grüsse

An welcher Stelle setzt du die checkIfPayment-Funktion ein, mir scheint es fehlt irgendwo eine schließende Klammer, habe es schon vor der letzten schließenden des vorhanenden Codes eingesetzt, ebenso dahinter, beides bringt einen weißen Bildschirm.,…

 
Magento Community Magento Community
Magento Community
Magento Community
 
ins0
Member
 
Avatar
Total Posts:  38
Joined:  2008-03-26
 

I have a problem using this extension. The first time steping through the checkout everything works fine. But going back from step 5 (finalreview) to step 4 and then going to step 5 again the shippign tax amount is wrong. It seems that it simply adds the tax again to the totals. Going from step 5 to step 3 and then continuing to step 5 again, everything works fine.
Anyone with the same problem, or a fix?
Greets

 
Magento Community Magento Community
Magento Community
Magento Community
 
FrankWL
Member
 
Total Posts:  34
Joined:  2009-06-26
 

Hi, I am pretty happy with the CoD module. However I am still fiighting with the fact, that the CoD costs are calculated incl. VAT.
The total invoice amount is correct, but the problem is, that the VAT subtotal contains part of the VAT for the CoD costs. The best would be to leave VAT completely away for CoD costs.

Mein Problem ist, dass die Steuer-Summe einen Anteil an Steuern für die Nachnahme-Gebühr enthält. Das ist so nicht korrekt und darf für das deutsche Finanzamt nicht sein. Die beste Lösung wäre, wenn die Nachnahme-Gebühr komplett steuerfrei gestaltet werden könnte.

Anybody an idea?

Tx,
FrankW

 
Magento Community Magento Community
Magento Community
Magento Community
 
Dscho
Sr. Member
 
Avatar
Total Posts:  236
Joined:  2007-10-05
Singen, Germany
 

Hallo,

ich bastle gerade an Zahlungsmodulen für meinen Blog - dafür “zerlege” ich einige Module. Dieses ist zufällig auch dabei. Schau doch mal in die Datei app\code\community\Mage\CashOnDelivery\Model\Quote.php. Eventuell findest du da die Lösung zu Deinem Problem.

Viele Grüße
Dscho

 
Magento Community Magento Community
Magento Community
Magento Community
 
rych
Jr. Member
 
Total Posts:  2
Joined:  2009-08-03
 

ich hatte ein ähnliches problem mit dem CashOnDelivery Modul.

ich verwende:
* netto preise für versandkosten (TableRates)
* netto preise für nachnahmegebühr (CashOnDelivery Modul)

bei der gesamtabrechnung (Seite mit bestellung abschicken) werden dann für die versandkosten die steuern doppel berechnet, da nach dem CoD modul bereits immer die bruttopreise für versand berechnet werden.
meiner meinung nach ist ein bug im Quote.php file des CoD moduls dafür verantwortlich.
ich poste hier mal eine “quick and dirty” fix der für mich funktioniert, vielleicht ist er ein anstoß für eine echten bugfix. mir fehlen leider die möglichkeiten ausführlich zu testen um eine saubere lösung zu produzieren.

Quote.php, function collectTotals():

public function collectTotals()
    
{

        $cod 
Mage::getModel('cashOnDelivery/cashOnDelivery');
        
$res parent::collectTotals();
        
$codamount 0;

        
/*
         * Check if COD is selected
         */

        
if (!is_null($this->_payments) && $this->getPayment()->hasMethodInstance() && $this->getPayment()->getMethodInstance()->getCode() == 'cashondelivery'{

            
/*
             * Calculate cost
             */
            
foreach ($res->getAllShippingAddresses() as $address{

                
/*
                 * Save old shipping taxes
                 */
                
$oldTax     $address->getShippingTaxAmount();
                
$oldBaseTax $address->getBaseShippingTaxAmount();

                
/*
                 * Add COD cost
                 */
                
if ($this->getShippingAddress()->getCountry() == Mage::getStoreConfig('shipping/origin/country_id')) {
                    $codamount 
$cod->getInlandCosts();
                
else {
                    $codamount 
$cod->getForeignCountryCosts();
                
}
       
/* 
      ############################################################ 
      old: 
       
                   $address->setShippingAmount($address->getShippingAmount() + $address->getShippingTaxAmount() + $codamount);
                $address->setBaseShippingAmount($address->getBaseShippingAmount() + $address->getBaseShippingTaxAmount() + $codamount);
      new:  shipping amount should be calculated without taxes for shipping*/
                
$address->setShippingAmount($address->getShippingAmount() + $codamount);
                
$address->setBaseShippingAmount($address->getBaseShippingAmount() + $codamount);

                
/*
                 * Recalculate tax for shipping including COD
                 */
                
$store $address->getQuote()->getStore();
                
$shippingTaxClass Mage::getStoreConfig(Mage_Tax_Model_Config::CONFIG_XML_PATH_SHIPPING_TAX_CLASS$store);
                if (
$shippingTaxClass{
                    $custTaxClassId 
$address->getQuote()->getCustomerTaxClassId();
                    
$taxCalculationModel Mage::getSingleton('tax/calculation');
                    
$request $taxCalculationModel->getRateRequest($address$address->getQuote()->getBillingAddress(), $custTaxClassId$store);

                    if (
$rate $taxCalculationModel->getRate($request->setProductClassId($shippingTaxClass))) {
                        
if (!Mage::helper('tax')->shippingPriceIncludesTax()) {
                            $shippingTax    
$address->getShippingAmount() * $rate/100;
                            
$shippingBaseTax$address->getBaseShippingAmount() * $rate/100;

                            
$address->setShippingTaxAmount($shippingTax);
                            
$address->setBaseShippingTaxAmount($shippingBaseTax);
                        
else {
                            $shippingTax    
$address->getShippingTaxAmount();
                            
$shippingBaseTax$address->getBaseShippingTaxAmount();
                        
}

                        $shippingTax    
$store->roundPrice($shippingTax);
                        
$shippingBaseTax$store->roundPrice($shippingBaseTax);

                        
$address->setTaxAmount($address->getTaxAmount() - $oldTax $shippingTax);
                        
$address->setBaseTaxAmount($address->getBaseTaxAmount() - $oldBaseTax $shippingBaseTax);

                        
$this->_saveAppliedTaxes(
                            
$address,
                            
$taxCalculationModel->getAppliedRates($request),
                            
$shippingTax $oldTax,
                            
$shippingBaseTax $oldBaseTax,
                            
$rate
                        
);
                    
}
                }

/*    old:  ################################################################
                $address->setBaseGrandTotal($address->getBaseGrandTotal() + $codamount);
                $address->setGrandTotal($address->getGrandTotal() + $codamount);
      new: add taxes for CashOnDelevery to GrandTotals here            */

                
$address->setBaseGrandTotal($address->getBaseGrandTotal() + $codamount$shippingBaseTax $oldBaseTax);
                
$address->setGrandTotal($address->getGrandTotal() + $codamount+$shippingTax $oldTax);

            
}
        }

        
return $res;
     
    
}
 
Magento Community Magento Community
Magento Community
Magento Community
 
bts-eu
Sr. Member
 
Total Posts:  81
Joined:  2008-05-07
 

Moin,

nach einem der letzten Updates (jetzt 1.3.2.3) scheint die Extension nicht mehr so richtig zu funktionieren.

Die Einstellungen sind nach wie vor korrekt (ging ja nun auch mal alles einwandfrei) und man kann im CheckOut als Zahlart auch Nachnahme wählen, jedoch werden die Aufschläge nicht berücksichtigt. Der Zahlartenaufschlag erscheint nicht im letzten Schritt im Checkout, Betrag wird nicht in den Emails angezeigt und im Admin ist dieser auch nicht zu sehen.

Ist ein Update geplant?

VIele Grüße smile ela

 
Magento Community Magento Community
Magento Community
Magento Community
 
very nice person
Member
 
Total Posts:  49
Joined:  2009-08-04
 

Jo, ich würde auch sehr ein Update begrüssen.
Macht dochmal einen PayPal Donate Button
gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
very nice person
Member
 
Total Posts:  49
Joined:  2009-08-04
 

Jo, ich würde auch sehr ein Update begrüssen.

Macht dochmal einen PayPal Donate Button
gruss

 
Magento Community Magento Community
Magento Community
Magento Community
 
a4345ergdfg45
Jr. Member
 
Total Posts:  24
Joined:  2008-09-09
 

Dem schließe ich mich auch an..

EDIT: Allen Anschein zufolge schließt er die /Model/Quote.php nicht mehr ein und überlädt damit auch nicht Mage_Sales_Model_Quote. Das kann ich nicht ganz nachvollziehen, da die config.xml von Struktur und Inhalt her korrekt ist.:

<config>
    <global>
        <
models>
            <
sales>
                <
rewrite>
                    <
quote>Mage_CashOnDelivery_Model_Quote</quote>
                </
rewrite>
            </
sales>
        </
models>
    </global>
</
config>

Auch der Klassenname scheint mir richtig zu sein:

class Mage_CashOnDelivery_Model_Quote extends Mage_Sales_Model_Quote

Was mir persönlich jedoch fehlt, ist ein:

require_once("Mage/Sales/Model/Quote.php");

Aber es “könnte” auch ohne gehen, sofern die Quote.php schon eingebunden ist. Ein einfaches “die()” in der CoD Quote.php hat leider keine Auswirkung. Die Datei wird definitiv nicht eingebunden und ignoriert. Warum dies hier nicht mehr geht, ist mir persönlich nicht bekannt. Ich persönlich überlade die Mage_Sales_Model_Quote in fast jedem Modul. Im CoD funktioniert es jedoch nicht mehr, obwohl alles richtig gemacht ist. Dass der Core nun eventuell CoD Namen reserviert, kann ich mir auch nicht vorstellen smile

EDIT 2: *bling* Gibt’s vielleicht Konflikte, wenn mehrere Module eine Core Klasse überladen möchten? Wenn Ja: Autsch.

EDIT 3: Hab’s hinbekommen. Läuft nun auch wieder unter 1.3.2.3. Da ich das Gefühl habe, hier einen Monolog zu führen, gebe ich auf Anfrage gerne die Lösung preis smile In’s leere posten ist nicht so meine Sache…

 
Magento Community Magento Community
Magento Community
Magento Community
 
bobbel
Jr. Member
 
Total Posts:  2
Joined:  2009-05-13
 

Hallo Bastian,

mich würde die Lösung interessieren, da ich auch gerade in einem Shop Vorauskasse und Nachnahme einrichten muss. Postest Du sie bitte?

Danke und Gruß
bobbel

 
Magento Community Magento Community
Magento Community
Magento Community
 
very nice person
Member
 
Total Posts:  49
Joined:  2009-08-04
 

bin auch sehr interessiert.
am liebsten aber gleich in nem (inoffiziellen?) modul verpackt, hab sonst schon genug von hand zu tüfteln…

grüsse

 
Magento Community Magento Community
Magento Community
Magento Community
 
bts-eu
Sr. Member
 
Total Posts:  81
Joined:  2008-05-07
 

Moin Bastian,

bin auch sehr an der Lösung interessiert!!!! vg ela

 
Magento Community Magento Community
Magento Community
Magento Community
 
yetix
Jr. Member
 
Total Posts:  23
Joined:  2009-03-11
 

Ich hätte auch interesse an der Lösung.

Viele Grüße

Ralph

 
Magento Community Magento Community
Magento Community
Magento Community
 
mrm2k9
Jr. Member
 
Total Posts:  11
Joined:  2009-04-01
 

Hallo,

weiß jemand ob bzw. wie ich einen Höchstwert für die Nachnahme einstellen kann (also Nachnahme nur bis 500€ Bestellwert möglich)? Die Magento-Standard-Module bieten das ja alle an, dieses Nachnahme Modul leider nicht,

Danke!

 
Magento Community Magento Community
Magento Community
Magento Community
Magento Community
Magento Community
Back to top