FROM record_links rl1
JOIN record_links rl2 ON (rl1.to_table = rl2.from_table AND rl1.to_id = rl2.from_id)
JOIN record_links rl3 ON (rl2.to_table = rl3.from_table AND rl2.to_id = rl3.from_id)
- WHERE (rl1.from_table = 'oe') AND rl2.to_table = 'ar'
+ WHERE rl1.from_table = 'oe' AND rl2.to_table = 'ar' AND rl3.to_table = 'ar'
) rl
LEFT JOIN ar ON ar.id = rl.to_id
while (my $ref = $sth->fetchrow_hashref("NAME_lc")) {
$ref->{billed_amount} = $billed_amount{$ref->{id}};
$ref->{billed_netamount} = $billed_netamount{$ref->{id}};
- $ref->{remaining_amount} = $ref->{amount} - $ref->{billed_amount};
- $ref->{remaining_netamount} = $ref->{netamount} - $ref->{billed_netamount};
+ if ($ref->{billed_amount} < 0) { # case: credit note(s) higher than invoices
+ $ref->{remaining_amount} = $ref->{amount} + $ref->{billed_amount};
+ $ref->{remaining_netamount} = $ref->{netamount} + $ref->{billed_netamount};
+ } else {
+ $ref->{remaining_amount} = $ref->{amount} - $ref->{billed_amount};
+ $ref->{remaining_netamount} = $ref->{netamount} - $ref->{billed_netamount};
+ }
$ref->{exchangerate} = 1 unless $ref->{exchangerate};
push @{ $form->{OE} }, $ref if $ref->{id} != $id{ $ref->{id} };
$id{ $ref->{id} } = $ref->{id};
# get parts and push them onto the stack
my $sortorder = "";
if ($form->{groupitems}) {
- $sortorder = qq|ORDER BY pg.partsgroup, a.oid|;
+ $sortorder = qq|ORDER BY pg.partsgroup, a.id|;
} else {
- $sortorder = qq|ORDER BY a.oid|;
+ $sortorder = qq|ORDER BY a.id|;
}
$query = qq|SELECT p.partnumber, p.description, p.unit, a.qty, | .