@@ -, +, @@ --- Koha/Account/Line.pm | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) --- a/Koha/Account/Line.pm +++ a/Koha/Account/Line.pm @@ -484,14 +484,22 @@ sub apply { $debit->amountoutstanding( $owed - $amount_to_cancel )->store; # Same logic exists in Koha::Account::pay - if ( $debit->amountoutstanding == 0 - && $debit->itemnumber + if ( + C4::Context->preference('MarkLostItemsAsReturned') =~ + m|onpayment| && $debit->debit_type_code - && $debit->debit_type_code eq 'LOST' ) + && $debit->debit_type_code eq 'LOST' + && $debit->amountoutstanding == 0 + && $debit->itemnumber + && !( + $self->credit_type_code eq 'LOST_FOUND' + && $self->itemnumber == $debit->itemnumber + ) + ) { - C4::Circulation::ReturnLostItem( $self->borrowernumber, $debit->itemnumber ); + C4::Circulation::ReturnLostItem( $self->borrowernumber, + $debit->itemnumber ); } - } }); --