Vorschläge für Kontoauszüge verbessern, fall: remote_account_number
[kivitendo-erp.git] / SL / DB / BankTransaction.pm
index c02ebb9..8617a81 100644 (file)
@@ -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};