Inventory in Koha 9

Today seems to be the day of Inventory related tickets and phone calls at ByWater so I thought I should share what we learned (and what we taught our partners) with you all.

First off, Koha has an inventory tool … did you know that? Have you tried it out? It’s great getting to show the tool to our new partners in training because it’s so easy to use. I’ve even urged libraries who have never done inventory (yes I said ‘never’) to do inventory once they switch to Koha because it’s such an easy task. If you want to see the inventory tool in action you can check out my tutorial video.

Now, for what we learned/taught today:

Inventory might timeout. There is a bug in the inventory tool that has been fixed and will be released soon that makes it timeout for large libraries. From the bug report:

When you upload a file of barcodes, and do not specify any filters on the rest of the form, it effectively runs GetItemsForInventory() such that *every* item in the database is returned. On a large enough database, this takes so long that the script times out.

The current documentation in the manual implies that if you upload a file of barcodes, the *only* thing it does is set the date-last-seen field. This is not entirely true; it also tries to compare the list of scanned items to what is expected to be seen in the list of items.

The work-around for libraries with a large number of item records is to, when uploading a file of barcodes, to also set the filters (e.g., library, shelving location, call number range, etc.) to specify the range of items that the file of barcodes corresponds to.

Inventory will check items in. Have you ever gone out to your favorite store and been disappointed to see that they closed early because they had to do inventory? There’s a reason for this. If you’re doing inventory while your customers/patrons are touching your inventory then your inventory report will be incorrect – or you’d never stop doing inventory. This is no different in the library. Inventory should be done in small batches or when the library is closed and your patrons aren’t touching things. When you do inventory in Koha you scan a shelf or two of barcodes and then load them in to Koha telling it to update the ‘date last seen’. Well the assumption (and rightfully so) is that the items you’re marking ‘seen’ have actually been ‘seen’ and touched by you on the shelf in your library. So when you load that file of barcodes in to Koha and set the date Koha not only updates the ‘date last seen’ it also checks the items in if they are checked out. As we all know things move quickly in our libraries and sometimes we think we scanned an item to check it in, but didn’t. We also have patrons who like to put books on the shelf themselves and bypass the circulation desk. These scenarios are all resolved when doing inventory.My recommendation (and what I tell all our partners in training) is to do inventory in small spurts. So, scan a shelf or two and then load the file in to the inventory tool in Koha. Rinse and Repeat until inventory is done. Or do inventory over a weekend when you’re closed or during the evening only (loading the file in every morning before the library reopens).

For those of you who think inventory should offer other options, there is an enhancement request out there with the community that you can look at that suggests a checkbox (or some mechanism) to not have Koha check in materials. There is also a bug report that says that Koha should remind/warn you that you’re about to check items in by doing inventory, but in my opinion this warning will come too late because you have already done all the work of the inventory.

Inventory is setting the date last seen to zero. This one I found today while testing the inventory tool. We are still waiting for more info on what’s causing it and how it can be fixed. For now, if you need to run inventory go right ahead. After running inventory either you or your support provider can update the database manually to put the right inventory date in. If you have access to your database you simple need to run:

update items set datelastseen='2014-05-28' where datelastseen='0000-00-00';

Where the date you enter is the date you entered when doing inventory.

If you don’t have access to your database then you can ask your support provider to run the above code for you.

Finding missing items after inventory. After you’ve run the inventory tool how do you find the items that are missing? Well you run a report to show you everything that hasn’t been seen since a specific date. I have written such a report and shared it on the Koha wiki.

What’s coming next? Since we’re talking inventory you might be interested in this big enhancement to the inventory tool that is looking for testers. It adds the following functionality to the inventory tool:

  • Have the tool warn of items possibly shelved out of order for scanned lists of barcodes (by comparing to previous and next items).
  • Ability to skip items with waiting holds (in the same manners as items on issue are skipped).
  • The ability to choose locations to not flag as “Item should have been scanned” if not scanned (e.g. On Shelving Cart, On Display, etc)

Leave a comment

Your email address will not be published. Required fields are marked *

Are you human? * Time limit is exhausted. Please reload CAPTCHA.

9 thoughts on “Inventory in Koha

  • Georgette

    Inventory should not check the items in, especially if they are considered Lost. This is not an easy tool to use, it should warn you, also after you have scanned and uploaded, all you get are a bunch of numbers and if they didnt scan correctly you dont know what they are. Please talk to the people who actually run inventory and work in libraries before you do any enhancements

    • Nicole C. Engard Post author


      Thanks for the feedback. People who work in libraries are the ones who sponsored the development to have inventory added to Koha in the first place and are the ones sponsoring the developments to improve it that I mentioned above. Nothing makes it in to Koha without a library asking for it – that’s the beauty of Koha.

      The point of inventory is to record what you have in your library. If an item is lost then it shouldn’t be in the library (right?) and so if you happen to find it while doing inventory then Koha will mark it as ‘found’.

      I’m not sure what numbers you’re referring to, if you mean barcodes, then maybe an improvement can be made to the display. As always the community and ByWater are open to suggestions on how to make things work best for the most libraries.


  • Deb Stephenson

    -It would be nice if completion would cause all items in the collection not checked out to be moved to ‘missing in inventory,’ or missing in the LOST field and those items will then all have to be looked for by staff and then checked in if/when found.

    • Georgette Rogers

      The Inventory tool works well, but the reports are not good. It tells what is checked out and we already know that, anything else shows up blank, and now we have to go back to the database to find out if lost/ missing, in transit, etc, and hand write that. auditors don’t like hand written. I would like the report (which I have asked this question many times and get shut down) to tell us what is missing, if it is not in the right collection, the change item status and Item should not have been scanned, tell us nothing, absolutely nothing, it is more work than it should be. I would like it to tell me if I had a clean inventory, then the report to tell me, what is missing, lost, in transit, in the wrong collection, not what is checked out, I can run a report for that. I need to know what is here and what is not. I am audited every year and they question my inventory, because it is hand written, and I have to print at least 100 sheets of paper. Please listen to those of us who actually run inventory and work with us. I am not the only library that runs inventory. Thank you

      • Nicole C. Engard Post author

        I’m not sure who shot you down, but I can easily give you a report of everything that’s missing in Koha. I’m not sure how the computer can know that it’s in the wrong collection though – that needs human interaction and since reports in Koha don’t perform actions, just display data, a report can’t change the item status – but the batch item modification tool can do that easily enough. So if you want here’s a report of all items with any lost status at all (missing included):

        select b.title,, i.itemcallnumber, i.barcode, i.ccode, i.location 
        from items i 
        left join biblio b using (biblionumber) 
        where i.itemlost != 0 and i.homebranch=<<Library|branches>>

        You can load these results in to the batch modification tool if you’d like. If you need more detail feel free to enter a ticket.

        • Georgette Rogers

          Thank you, Nicole, I will work with my tech team to do what they need to do download the report. As for being shot down, every time I have been to a town hall meeting, or even sent in messages like this, I am told the fix is coming, be patient, or nope thats the way it runs, we are concentrating on other things. No one seems to want to work with me. You are the first person who has.


          • Nicole C. Engard Post author

            Well there are developments that will show you things like mis-shelved titles and such – and other improvements in the works to fix some of the oddities – but for now that report will give you some of what you want.