Koha Upgrades

Overdue and Lost Items in Koha 21.05: Restore Overdue Fines on Found Items

Long ago, in 2019, a patch in Koha version 19.11 fixed a longstanding error that could result in "incorrect" fines. Here's the Bugzilla entry for that patch. And here's the blog post I wrote about it at the time.

When an overdue item becomes lost in Koha, the system can be told to delete the overdue fine as it applies the lost fee. And, if your settings were just so, that overdue fine would come back were the item later found. That last bit was completely by accident; those fines were meant to stay away forever. Eventually, the developers came along and fixed it so that the fines stayed away as intended.

But it turned out a lot of libraries had already found this error and decided they liked it! By their logic, the idea was to make the patron pay *either* the overdue fine or the replacement price. Just as the overdue fine went away when the lost fee was charged, they *wanted* the overdue fine to return if the lost fee got forgiven. So Bug 23091 was born!

The Once and Future Fine

With this new feature, we can officially tell Koha that when a lost item is found and the related charge is refunded, any forgiven overdue charge should be re-applied. There are a lot of moving pieces here, starting with your circ rules and a few system preferences.

The refund behavior itself lives on the Circulation & Fine Rules page in Administration, in the section labeled "lost item fee refund on return policy." A default value gets set on the All Libraries rules page, and branch-specific values can be set on the branch-specific rules pages.

Of your four options here, two already existed. "Leave lost item charge" means no refund is given and "Refund lost item charge" means the lost fee is forgiven or refunded. Neither of these options will have any impact on overdue fines.

The other two options are the exciting new ones, "Refund lost item charge and charge new overdue fine" and "Refund lost item charge and restore overdue fine." I'll go further into the differences between these two options, but if you pick either of these your patron will owe an overdue fine if an overdue lost item is marked found.

In your system preferences, you want WhenLostChargeReplacementFee to be set to "Charge." If you're not charging lost fees, then you won't have anything to refund.

You want to set WhenLostForgiveFine to "Forgive." If you don't tell the overdue fines to go away when the item is lost, then you can't make them come back when the item is found.

The system preference MarkLostItemsAsReturned also comes into play here slightly. The fines and fees aren't directly impacted by your MarkLostItemsAsReturned values, but parts of the data around those fines and fees are. Specifically, this determines when Koha records a return date value and moves your checkout to the old_issues table. These things will have an impact on any reports you may be writing around this process. Please let us know if you have questions about it!

Once you've set your refund rule and your system preferences, there isn't anything else you need to do. If an overdue item is marked lost, the overdue fine will be forgiven. If it is later marked found, the overdue fine will come back. There aren't any confirmations to click on checkin or other actions you need to take.

But, as mentioned, there are some options to exactly how this behaves.

Restore overdue fine

Of the two new refund options, "Restore overdue fine" is the more straightforward. Here are a set of screenshot of the process with my refund behavior set to "restore" and MarkLostItemsAsReturned turned on.

Here's my checkout. It was due a week ago. That means a $7, $1/day.

From here, I marked this item lost. Here's what my patron's account looked like at that point:

The $7 fine has been forgiven and a $100 replacement fee has been added.

Next, I check the item in.

At which point the account shows this:

This looks a bit complicated, but isn't so bad. Koha created a credit of $100, which it then applied to the $100 lost fee. Also, it voided the $7 credit that had previously paid off the overdue fine, so the amount owed if back up to $7. We could easily do the same in three manual actions if we wanted to (create a manual credit, click "apply" to use that credit against the fee, and then void the old credit on the overdue fine).

The big thing to note here is that Koha hasn't done any new math on that overdue fine. The patron was charged an overdue fine based on the amount of time between the due date and the date on which the item was marked lost. It doesn't matter how long the patron might take to find and return the item, that overdue fine isn't going to get any larger. Also, the fine won't get smaller if we backdate our checkin. Koha already decided what this fine is and we're just restoring it without recalculating it.

Charge new overdue fine

If we set our refund rule to "Refund lost item charge and charge new overdue fine," however, then Koha will recalculate our fine. This is the more complex of our two new options. As such, I have a few different example scenarios. All of these start out just like my example above:

  • The patron has an item checked out and 1 week overdue
  • The overdue fine is $1/day
  • The item has a $100 replacement cost

Screenshots for the checkout, original fines, and checkin of these examples would be identical to what we saw above for the restore fine setting. But once we start checking items in we see differences.

First, here's an account where the item was marked lost and then checked in on the same day.

The "Make a payment" tab looks the same as in the previous example; the patron owes a $7 overdue fine again. But the "Transactions" tab is different. Koha still made and applied a credit for the lost item, but then it made an entirely new fine for the $7 overdue. So our patron has one $7 fine that's been forgiven and another for the same checkout period that has not.

This is a bit more confusing than the restore fine method, but it's also more flexible. Because we're creating a new fine, Koha is recalculating the amount using the date on which the item was found.

Here's an example where the item was marked lost on 9/22 and then found on 9/23, a day later.

My new fine is $8 because Koha considered my item 8 days late. In the real world, this is likely to add a lot more than one day to a fine, as patrons return items that have been lost for months. As such, overdue fine caps become important when you've told Koha to calculate a new overdue fine.

These new fines can also end up lower than the original fine. Here's an example in which I marked the item lost, but then backdated the checkin to tell Koha the item had been returned 5 days ago. We'd see the same behavior checking items in on book drop mode.

Creating a new fine also opens the door for more complicated interactions if you've made more complicated changes around your circ and fine rules or to the patron and item in question. For example, if, the patron's category has changed between when the item was lost and when it is found, the patron may be subject to an entirely different circ rule for the new fine.

If you want your fine to reflect what has happened between when the item was lost and when it was found, tell Koha to make a new fine. If you want the fine to continue to reflect only what happened before the item was lost, tell Koha to restore the old fine.