Revision 0c93bf20
Von Moritz Bunkus vor mehr als 8 Jahren hinzugefügt
SL/Controller/BankTransaction.pm | ||
---|---|---|
481 | 481 |
foreach my $invoice (@{ $data{invoices} }) { |
482 | 482 |
|
483 | 483 |
$n_invoices++ ; |
484 |
|
|
484 | 485 |
# Check if bank_transaction already has a link to the invoice, may only be linked once per invoice |
485 | 486 |
# This might be caused by the user reloading a page and resending the form |
486 | 487 |
if (_existing_record_link($bank_transaction, $invoice)) { |
... | ... | |
491 | 492 |
}; |
492 | 493 |
} |
493 | 494 |
|
494 |
if ($amount_of_transaction == 0) {
|
|
495 |
push @warnings, {
|
|
495 |
if (!$amount_of_transaction && $invoice->open_amount) {
|
|
496 |
return {
|
|
496 | 497 |
%data, |
497 |
result => 'warning', |
|
498 |
message => $::locale->text('There are invoices which could not be paid by bank transaction #1 (Account number: #2, bank code: #3)!', |
|
499 |
$bank_transaction->purpose, $bank_transaction->remote_account_number, $bank_transaction->remote_bank_code), |
|
498 |
result => 'error', |
|
499 |
message => $::locale->text("A payment can only be posted for multiple invoices if the amount to post is equal to or bigger than the sum of the open amounts of the affected invoices."), |
|
500 | 500 |
}; |
501 |
last; |
|
502 | 501 |
} |
503 | 502 |
|
504 | 503 |
my $payment_type; |
Auch abrufbar als: Unified diff
Bankauszug: Unterzahlung mehrerer Rechnungen verhindern
Wenn mehrere Rechnungen ausgewählt werden, so verteilt der Algorithmus
schlicht den Betrag der Überweisungen auf die Rechnungen in der
Reihenfolge, in der die Rechnungen ausgewählt wurden. Dabei wird so
lange der volle offene Betrag bezahlt wie möglich, der Rest kommt auf
die folgende Rechnung.
Allerdings ist für das Programm nicht ersichtlich, welche Anteile
welcher Rechnungen des Kunden/Lieferanten tatsächlich damit beglichen
wurden.
Also muss verhindert werden, dass das passiert; eine Warnung genügt
nicht.