Koha How-To

Changing Status and Location Upon Checkin

Koha offers several options on how materials, both new and existing, can be handled. The two familiar system preferences that control this are UpdateItemLocationOnCheckin and UpdateNotForLoanStatusOnCheckin, along with a newly added (19.11) system preference, TrapHoldsOnOrder.

A key part of understanding how these all work is remembering the order Koha processes these changes. When an item is checked in, Koha will first UpdateItemLocationOnCheckin, then UpdateNotForLoanStatusOnCheckin, and finally, check for holds. It’s also important to not confuse Not for Loan/availability with Shelving Location.

Let’s set up a scenario.

In my system preferences, I have the following:


  • -1: 0 (Ordered to Available)
  • 0: -5 (Available to Quarantine)
  • -5: 0 (Quarantine to Available)

So basically, if an item is checked out, when it is returned, it will go to Quarantine. If an item is Ordered, it will move to Available when it is checked in. If an item in is Quarantine, and I check it in, it will move to Available.



Every item that is checked in will be moved to a shelving location of CART (this is the CART to SHELF cron job process that moves recently returned items from a temporary location to their permanent shelving location after a specified number of hours).

TrapHoldsOnOrder: Don’t trap

OK. Now on to the implementation.

I work in Acquisitions. I’ve just added a copy of the latest bestseller to its bib record. When entering my item record, I select the “New Fiction” shelving location where this item will live.

I add the book jacket, stamp it, etc, and check the item in. The Not for Loan status changes from -1 to 0. Shelving location is set to CART. Any holds are triggered.

Patron checks the book out and returns it. When the book is checked in, the Not for Loan status changes to -5 Quarantine, and shelving location changes to CART.

After 48 hours, when I have the CART to SHELF cron set to run, that shelving location will be updated to its permanent location. However, the Not for Loan status will not clear until it is checked in again, at which time the next hold would trigger.

I hope this helps clarify how you can use these great tools in Koha!

Read more by Donna Bachowski