X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=bin%2Fmozilla%2Fio.pl;h=18058437fe9d57ceaefbde04e167ce6e2af83d1b;hb=150db1304ea4e7323a08bc87dbf2e97cd52ca650;hp=b42ddde8fa66d932b0cb16fa3cfb88fd58371729;hpb=e7fdb1da83751073b7bcc5488772c7e844789062;p=kivitendo-erp.git diff --git a/bin/mozilla/io.pl b/bin/mozilla/io.pl index b42ddde8f..18058437f 100644 --- a/bin/mozilla/io.pl +++ b/bin/mozilla/io.pl @@ -341,7 +341,19 @@ sub display_row { $form->{"marge_percent_$i"} = 0; my $marge_color; - my $real_sellprice = $linetotal; + my $real_sellprice; + if ( $form->{taxincluded} and $form->{"qty_$i"} * 1 and $form->{$form->{"taxaccounts_$i"} . "_rate"} * 1) { + # if we use taxincluded we need to calculate the marge from the net_value + # all the marge calculations are based on linetotal which we need to + # convert to net first + + # there is no direct form value for the tax_rate of the item, but + # form->{taxaccounts_$i} gives the tax account (e.g. 3806) and 3806_rate + # gives the tax percentage (e.g. 0.19) + $real_sellprice = $linetotal / (1 + $form->{$form->{"taxaccounts_$i"} . "_rate"}); + } else { + $real_sellprice = $linetotal; + }; my $real_lastcost = $form->{"lastcost_$i"} * $form->{"qty_$i"} / ( $form->{"marge_price_factor_$i"} || 1 ); my $marge_percent_warn = $myconfig{marge_percent_warn} * 1 || 15; my $marge_adjust_credit_note = $form->{type} eq 'credit_note' ? -1 : 1; @@ -543,6 +555,11 @@ sub item_selected { $form->{"sellprice_$i"} = $form->round_amount($form->{"sellprice_$i"}, $decimalplaces); } + + # tradediscount + if ($::form->{tradediscount}) { + $::form->{"sellprice_$i"} *= 1 - $::form->{tradediscount}; + } } map { $form->{$_} = $form->parse_amount(\%myconfig, $form->{$_}) }