@@ -, +, @@ --- Koha/Account.pm | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) --- a/Koha/Account.pm +++ a/Koha/Account.pm @@ -86,7 +86,6 @@ sub pay { my $userenv = C4::Context->userenv; - my $manager_id = $userenv ? $userenv->{number} : undef; my $interface = $params ? ( $params->{interface} || C4::Context->interface ) : C4::Context->interface; my $payment = $self->payin_amount( @@ -105,6 +104,14 @@ sub pay { } ); + # NOTE: Pay historically always applied as much credit as it could to all + # existing outstanding debits, whether passed specific debits or otherwise. + if ( $payment->amountoutstanding ) { + $payment = + $payment->apply( + { debits => [ $self->outstanding_debits->as_list ] } ); + } + my $patron = Koha::Patrons->find( $self->{patron_id} ); my @account_offsets = $payment->debit_offsets; if ( C4::Context->preference('UseEmailReceipts') ) { --