@@ -, +, @@ specified --- C4/Circulation.pm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) --- a/C4/Circulation.pm +++ a/C4/Circulation.pm @@ -1837,6 +1837,7 @@ sub AddReturn { undef $branch; } $branch = C4::Context->userenv->{'branch'} unless $branch; # we trust userenv to be a safe fallback/default + my $return_date_specified = $return_date ? 1 : 0; $return_date //= dt_from_string(); my $messages; my $patron; @@ -1952,7 +1953,7 @@ sub AddReturn { MarkIssueReturned( $borrowernumber, $item->itemnumber, $return_date, $patron->privacy ); }; unless ( $@ ) { - if ( C4::Context->preference('CalculateFinesOnReturn') && $is_overdue ) { + if ( $return_date_specified || ( C4::Context->preference('CalculateFinesOnReturn') && $is_overdue ) ) { _CalculateAndUpdateFine( { issue => $issue, item => $item_unblessed, borrower => $patron_unblessed, return_date => $return_date } ); } } else { --