Revision 3fe6ec98
Von Martin Helmling martin.helmling@octosoft.eu vor mehr als 6 Jahren hinzugefügt
SL/DB/BankTransaction.pm | ||
---|---|---|
69 | 69 |
depositor_matches => 2, |
70 | 70 |
exact_amount => 4, |
71 | 71 |
exact_open_amount => 4, |
72 |
invnumber_in_purpose => 2, |
|
73 |
own_invnumber_in_purpose => 5, |
|
72 |
invoice_in_purpose => 2, |
|
73 |
own_invoice_in_purpose => 5, |
|
74 |
invnumber_in_purpose => 1, |
|
75 |
own_invnumber_in_purpose => 4, |
|
74 | 76 |
# overpayment => -1, # either other invoice is more likely, or several invoices paid at once |
75 | 77 |
payment_before_invoice => -2, |
76 | 78 |
payment_within_30_days => 1, |
... | ... | |
132 | 134 |
my $squashed_purpose = $self->purpose; |
133 | 135 |
$squashed_purpose =~ s/ //g; |
134 | 136 |
if (length($invnumber) > 4 && $squashed_purpose =~ /$invnumber/ && $invoice->is_sales){ |
135 |
$agreement += $points{own_invnumber_in_purpose};
|
|
136 |
$rule_matches .= 'own_invnumber_in_purpose(' . $points{'own_invnumber_in_purpose'} . ') ';
|
|
137 |
$agreement += $points{own_invoice_in_purpose};
|
|
138 |
$rule_matches .= 'own_invoice_in_purpose(' . $points{'own_invoice_in_purpose'} . ') ';
|
|
137 | 139 |
} elsif (length($invnumber) > 3 && $squashed_purpose =~ /$invnumber/ ) { |
138 |
$agreement += $points{invnumber_in_purpose}; |
|
139 |
$rule_matches .= 'invnumber_in_purpose(' . $points{'invnumber_in_purpose'} . ') '; |
|
140 |
$agreement += $points{invoice_in_purpose}; |
|
141 |
$rule_matches .= 'invoice_in_purpose(' . $points{'invoice_in_purpose'} . ') '; |
|
142 |
} else { |
|
143 |
# only check number part of invoice number |
|
144 |
$invnumber =~ s/[A-Za-z_]+//g; |
|
145 |
if (length($invnumber) > 4 && $squashed_purpose =~ /$invnumber/ && $invoice->is_sales){ |
|
146 |
$agreement += $points{own_invnumber_in_purpose}; |
|
147 |
$rule_matches .= 'own_invnumber_in_purpose(' . $points{'own_invnumber_in_purpose'} . ') '; |
|
148 |
} elsif (length($invnumber) > 3 && $squashed_purpose =~ /$invnumber/ ) { |
|
149 |
$agreement += $points{invnumber_in_purpose}; |
|
150 |
$rule_matches .= 'invnumber_in_purpose(' . $points{'invnumber_in_purpose'} . ') '; |
|
151 |
} |
|
140 | 152 |
} |
141 | 153 |
|
142 | 154 |
#check sign |
Auch abrufbar als: Unified diff
Bankimport: Prüfung des reinen Ziffernanteils der Rechnung
Falls Rechnungen in der Rechnungsnummer ein Prefix vor der Nummer haben
und dies nicht exakt im Verwendungszweck der Kontobewegung aufgeführt ist,
wurde dies nicht als Bewertungskriterium herangezogen.
Nun wird dies mit etwas wenig Punkte bewertet.
In diesem einfachen Verfahren wird bei einer Rechnungsnummer 'RE12345' auch ein 'Blabala 12 nix 34 ddd 5' erkannt,
was aber recht unwahrscheinlich ist.
behebt auch Issue #201