- my $linetotal_cost = 0;
-
- if (!$linetotal) {
- $item->marge_total( 0);
- $item->marge_percent(0);
-
- } else {
- my $lastcost = !(($item->lastcost // 0) * 1) ? ($part->lastcost || 0) : $item->lastcost;
- $linetotal_cost = _round($lastcost * $item->qty / $item->marge_price_factor, 2);
-
- $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} += $linetotal_cost;
- }
-
- my $taxkey = $part->get_taxkey(date => $self->transdate, is_sales => $data->{is_sales}, taxzone => $self->taxzone_id);
+ my $taxkey = $part->get_taxkey(date => $self->deliverydate // $self->transdate, is_sales => $data->{is_sales}, taxzone => $self->taxzone_id);