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

Mehrwertsteuersatz wird in der PDF-Rechnung falsch ausgegeben
 
Kassenschmiede
Jr. Member
 
Total Posts:  2
Joined:  2011-12-20
 

Hallo,

ich habe gerade festgestellt, dass die PDF-Ausgabe der Rechnungen einen falschen Steuersatz ausgibt wenn ich eine Warenkorb-Preisregel (Betragsrabatt i.H.v. 9,50 EUR bei >= 50 EUR Einkaufswert) nutze.

Statt “zzgl. 19% MwSt.” wird “zzgl. 17% MwSt.” ausgegeben. Die Berechnung des tatsächlichen Steuerbetrags ist korrekt.

Ich vermute den Fehler in dieser Zeile:

'text'      => Mage::helper('germany')->__('zzgl. %s MwSt.'$source->getStore()->roundPrice(number_format($taxRate0)).'%'),

...bin aber zu sehr Laie, um es zu beheben. Die Datei, aus der die Zeile stammt, ist die “Invoice.php” und liegt hier:

app/code/local/TechDivision/Germany/Model/Pdf

Ich hoffe, mir kann jemand helfen.

Beste Grüße,

Sven

 
Magento Community Magento Community
Magento Community
Magento Community
 
Vitalityshop
Member
 
Avatar
Total Posts:  39
Joined:  2008-08-31
 

Bringt vielleicht die Einstellung “Verwende Kundensteuerklasse”: Vor Rabatt / Nach Rabatt im Bereich Steuer -> Berechnung etwas?

 
Magento Community Magento Community
Magento Community
Magento Community
 
Kassenschmiede
Jr. Member
 
Total Posts:  2
Joined:  2011-12-20
 

Leider nein. Das Problem liegt auch einzig und allein in der PDF-Erstellung. Die Angaben im Shop und in den Transaktions-Emails sind alle korrekt.

Bin mittlerweile soweit mit meinen Recherchen, dass der Wert $taxRate bereits als “17” im obigen Code ankommt. Der Wert taucht in der PHP-Datei aber nur kurz vorher nochmal auf:

foreach ($groupedTax as $taxRate => $taxValue{
                        
if(empty($taxValue)) {
                            
continue;
                        
}
                        
                        $lineBlock[
'lines'][] = array(
                            array(
                                
'text'      => Mage::helper('germany')->__('zzgl. %s MwSt.'$source->getStore()->roundPrice(number_format($taxRate0)).'%'),
                                
'feed'      => $this->margin['left',
                                
'align'     => 'left',
                                
'font_size' => $fontSize,
                                
'font'      => $fontWeight
                            
),
                            array(
                                
'text'      => $order->formatPriceTxt($taxValue),
                                
'feed'      => $this->margin['right'10,
                                
'align'     => 'right',
                                
'font_size' => $fontSize,
                                
'font'      => $fontWeight
                            
),
                        );
                    
}

Ich frage mich: Wo wird $taxRate mit Inhalt gefüllt?

 
Magento Community Magento Community
Magento Community
Magento Community
 
deka12
Jr. Member
 
Total Posts:  2
Joined:  2012-11-13
 

Das Problem entsteht durch die Neuberechnung des Steuersatzes in Zeile 516.

$_percent = round((float)$item[’tax_amount’] / (float)$item[’row_invoiced’] * 100,0);

Hier wird die versteckte Steuer ("hidden_tax_amount") nicht berücksichtigt, wodurch der Prozentwert falsch ermittelt wird.

Siehe:
http://magebase.com/magento-tutorials/tax-and-magento-double-and-triple-check/

Was ich am Modul grad nicht verstehe ist, warum es nicht einfach tax_percent aus der Datenbank verwendet.

 
Magento Community Magento Community
Magento Community
Magento Community
 
deka12
Jr. Member
 
Total Posts:  2
Joined:  2012-11-13
 

Ich habe jetzt mal Testweise die Zeile 516 von

$_percent round((float)$item['tax_amount'/ (float)$item['row_invoiced'100,0);

auf

$_percent round((float)$item['tax_percent'],0);

abgeändert, was das Problem für mich im Moment löst. Denkt ihr, dass dadurch in bestimmten Fällen ein neuer Fehler entstehen könnte?

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