SL::DB::Helper::PriceTaxCalculator: Margenberechnung gefixt
authorMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 11 Jul 2013 14:59:55 +0000 (16:59 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Thu, 11 Jul 2013 15:00:17 +0000 (17:00 +0200)
Die Margenberechnung hat die Stückzahl nicht bei der Kostenberechnung
berücksichtigt.

SL/DB/Helper/PriceTaxCalculator.pm

index e4a9180..af56646 100644 (file)
@@ -90,13 +90,14 @@ sub _calculate_item {
     $item->marge_percent(0);
 
   } else {
-    my $lastcost = ! ($item->lastcost * 1) ? ($item->part->lastcost || 0) : $item->lastcost;
+    my $lastcost       = ! ($item->lastcost * 1) ? ($item->part->lastcost || 0) : $item->lastcost;
+    my $linetotal_cost = _round($lastcost * $item->qty / $item->marge_price_factor, 2);
 
-    $item->marge_total(  $linetotal - $lastcost / $item->marge_price_factor);
+    $item->marge_total(  $linetotal - $linetotal_cost);
     $item->marge_percent($item->marge_total * 100 / $linetotal);
 
     $self->marge_total(  $self->marge_total + $item->marge_total);
-    $data->{lastcost_total} += $lastcost;
+    $data->{lastcost_total} += $linetotal_cost;
   }
 
   my $taxkey     = $item->part->get_taxkey(date => $self->transdate, is_sales => $data->{is_sales}, taxzone => $self->taxzone_id);