From a6485c5822e13b6d0bda4bff0a003bfc569f778c Mon Sep 17 00:00:00 2001 From: =?utf8?q?Bernd=20Ble=C3=9Fmann?= Date: Thu, 3 Dec 2020 12:21:53 +0100 Subject: [PATCH] =?utf8?q?Preisanfrage/Auftr=C3=A4ge:=20dort,=20wo=20es=20?= =?utf8?q?ein=20Liefertermin=20gibt,=20diesen=20f.=20Steuer=20nehmen?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- SL/DB/Order.pm | 10 ++++++---- SL/IC.pm | 4 +++- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/SL/DB/Order.pm b/SL/DB/Order.pm index 35cfaea4f..f22c84d17 100644 --- a/SL/DB/Order.pm +++ b/SL/DB/Order.pm @@ -139,15 +139,17 @@ sub is_type { } sub deliverydate { - # oe doesn't have deliverydate, but PTC checks for deliverydate or transdate to determine tax - # oe can't deal with deviating tax rates, but at least make sure PTC doesn't barf - return shift->transdate; + # oe doesn't have deliverydate, but it does have reqdate. + # But this has a different meaning for sales quotations. + # deliverydate can be used to determine tax if tax_point isn't set. + + return $_[0]->reqdate if $_[0]->type ne 'sales_quotation'; } sub effective_tax_point { my ($self) = @_; - return $self->tax_point || $self->transdate; + return $self->tax_point || $self->deliverydate || $self->transdate; } sub displayable_type { diff --git a/SL/IC.pm b/SL/IC.pm index 46f0f542c..ca03e5144 100644 --- a/SL/IC.pm +++ b/SL/IC.pm @@ -744,7 +744,9 @@ sub retrieve_accounts { # also use deliverydate for credit notes $transdate = $form->{tax_point} || $form->{deliverydate} || $form->{invdate}; } else { - $transdate = $form->{tax_point} || $form->{transdate}; + my $deliverydate; + $deliverydate = $form->{reqdate} if any { $_ eq $form->{type} } qw(sales_order request_quotation purchase_order); + $transdate = $form->{tax_point} || $deliverydate || $form->{transdate}; } if ($transdate eq "") { -- 2.20.1