X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FIS.pm;h=49d3cca3867ffcbfda48181d77cea225fdeee26f;hb=14d71a6d1215e4fc67136c060fd21cd6c59602af;hp=dfa3f1b7839ae511ec552bc2aabd7952426467bd;hpb=6b64a63ecb462a610515fd1609d490e33b28825d;p=kivitendo-erp.git diff --git a/SL/IS.pm b/SL/IS.pm index dfa3f1b78..49d3cca38 100644 --- a/SL/IS.pm +++ b/SL/IS.pm @@ -967,7 +967,14 @@ SQL } } - $form->{amount}{ $form->{id} }{ $form->{AR} } = $netamount + $tax; + # Invoice Summary includes Rounding + my $rounding = $form->round_amount( + $form->round_amount($netamount + $tax, 2, 1) - $form->round_amount($netamount + $tax, 2), 2 + ); + my $rnd_accno = $rounding == 0 ? 0 + : $rounding > 0 ? $form->{rndgain_accno} + : $form->{rndloss_accno}; + $form->{amount}{ $form->{id} }{ $form->{AR} } = $form->round_amount($netamount + $tax, 2, 1); $form->{paid} = $form->round_amount($form->{paid} * $form->{exchangerate} + $diff, 2); @@ -1072,6 +1079,14 @@ SQL do_query($form, $dbh, $query, @values); } } + if (!$payments_only && ($rnd_accno != 0)) { + $query = + qq|INSERT INTO acc_trans (trans_id, chart_id, amount, transdate, tax_id, taxkey, project_id, chart_link) + VALUES (?, (SELECT id FROM chart WHERE accno = ?), ?, ?, (SELECT id FROM tax WHERE taxkey=0), 0, ?, (SELECT link FROM chart WHERE accno = ?))|; + @values = (conv_i($trans_id), $rnd_accno, $rounding, conv_date($form->{invdate}), conv_i($project_id), $rnd_accno); + do_query($form, $dbh, $query, @values); + $rnd_accno = 0; + } } # deduct payment differences from diff @@ -1234,7 +1249,7 @@ SQL return; } - $amount = $netamount + $tax; + $amount = $form->round_amount( $netamount + $tax, 2, 1); # save AR record #erweiterung fuer lieferscheinnummer (donumber) 12.02.09 jb @@ -1872,7 +1887,9 @@ sub retrieve_invoice { (SELECT c.accno FROM chart c WHERE d.income_accno_id = c.id) AS income_accno, (SELECT c.accno FROM chart c WHERE d.expense_accno_id = c.id) AS expense_accno, (SELECT c.accno FROM chart c WHERE d.fxgain_accno_id = c.id) AS fxgain_accno, - (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id = c.id) AS fxloss_accno + (SELECT c.accno FROM chart c WHERE d.fxloss_accno_id = c.id) AS fxloss_accno, + (SELECT c.accno FROM chart c WHERE d.rndgain_accno_id = c.id) AS rndgain_accno, + (SELECT c.accno FROM chart c WHERE d.rndloss_accno_id = c.id) AS rndloss_accno ${query_transdate} FROM defaults d|; @@ -2232,7 +2249,7 @@ sub retrieve_item { qq|SELECT p.id, p.partnumber, p.description, p.sellprice, p.listprice, p.inventory_accno_id, p.lastcost, - p.ean, + p.ean, p.notes, c1.accno AS inventory_accno, c1.new_chart_id AS inventory_new_chart,