X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FBankTransaction.pm;h=8617a814642e033241fbe8f6971f7467d1d8746d;hb=1b032ef45d886922f1fe347ec234c9b0c8c50efd;hp=c02ebb93e76c9c94437421bc69498ffccee9f086;hpb=4dc48e117cfdb6e59c2d8b9d8087ef8a3bc245a4;p=kivitendo-erp.git diff --git a/SL/DB/BankTransaction.pm b/SL/DB/BankTransaction.pm index c02ebb93e..8617a8146 100644 --- a/SL/DB/BankTransaction.pm +++ b/SL/DB/BankTransaction.pm @@ -99,6 +99,17 @@ sub get_agreement_with_invoice { $bank_code = $invoice->vendor->bank_code if ! $invoice->is_sales; $iban = $invoice->vendor->iban if ! $invoice->is_sales; $account_number = $invoice->vendor->account_number if ! $invoice->is_sales; + + # check only valid remote_account_number (with some content) + if ($self->remote_account_number) { + if ($bank_code eq $self->remote_bank_code && $account_number eq $self->remote_account_number) { + $agreement += $points{remote_account_number}; + $rule_matches .= 'remote_account_number(' . $points{'remote_account_number'} . ') '; + } elsif ($iban eq $self->remote_account_number) { # elsif -> do not add twice + $agreement += $points{remote_account_number}; + $rule_matches .= 'remote_account_number(' . $points{'remote_account_number'} . ') '; + } + } if ( $bank_code eq $self->remote_bank_code && $account_number eq $self->remote_account_number ) { $agreement += $points{remote_account_number}; $rule_matches .= 'remote_account_number(' . $points{'remote_account_number'} . ') '; @@ -122,7 +133,7 @@ sub get_agreement_with_invoice { # compare open amount, preventing double points when open amount = invoice amount if ( $invoice->amount != $invoice->open_amount && abs(abs($invoice->open_amount) - abs($self->amount)) < 0.01 && - $::form->format_amount(\%::myconfig,abs($invoice->amount_less_skonto),2) eq + $::form->format_amount(\%::myconfig,abs($invoice->open_amount),2) eq $::form->format_amount(\%::myconfig,abs($self->amount),2) ) { $agreement += $points{exact_open_amount};