9. Circulation Reports

9.1. Holds Queue

This report will show you all of the holds at your library.

To generate this report, you must have the Build Holds Queue cron job running. This cron job is a script that should be run periodically if your library system allows borrowers to place on-shelf holds. This script decides which library should be responsible for fulfilling a given hold request.

It's behavior is controlled by the system preferences StaticHoldsQueueWeight and RandomizeHoldsQueueWeight.

If you do not want all of your libraries to participate in the on-shelf holds fulfillment process, you should list the the libraries that *do* participate in the process here by inputting all the participating library's branchcodes, separated by commas ( e.g. "MPL,CPL,SPL,BML" etc. ).

By default, the holds queue will be generated such that the system will first attempt to hold fulfillment using items already at the pickup library if possible. If there are no items available at the pickup library to fill a hold, build_holds_queue.pl will then use the list of libraries defined in StaticHoldsQueueWeight. If RandomizeHoldsQueueWeight is disabled ( which it is by default ), the script will assign fulfillment requests in the order the branches are placed in the StaticHoldsQueueWeight system preference.

For example, if your system has three libraries, of varying sizes ( small, medium and large ) and you want the burden of holds fulfillment to be on larger libraries before smaller libraries, you would want StaticHoldsQueueWeight to look something like "LRG,MED,SML".

If you want the burden of holds fulfillment to be spread out equally throughout your library system, simply enable RandomizeHoldsQueueWeight. When this system preference is enabled, the order in which libraries will be requested to fulfill an on-shelf hold will be randomized each time the list is regenerated.

Leaving StaticHoldsQueueWeight empty is contraindicated at this time. Doing so will cause the build_holds_queue script to ignore RandomizeHoldsQueueWeight, causing the script to request hold fulfillment not randomly, but by alphabetical order.

9.2. Holds to pull

This report will show you all of the items that have holds on them that are available at the library for pulling. If the items are available at multiple branches then all branches with that item available will see the hold to pull until one library triggers the hold.

You can limit the results you see by using the Refine box on the left side of the page:

9.3. Holds awaiting pickup

This report will show all of the holds that are waiting for patrons to pick them up.

Items that have been on the hold shelf longer than you normally allow (based on the ReservesMaxPickUpDelay preference value) will appear on the 'Holds Over' tab, they will not automatically be cancelled unless you have set the cron job to do that for you, but you can cancel all holds using the button at the top of the list.

9.4. Hold ratios

Hold ratios help with collection development. Using this report you will be able to see how many of your patrons have holds on items and whether you should buy more. By default it will be set to the library needing 3 items per hold that has been placed. The report will tell you how many additional items need to be purchased to meet this quota.

9.5. Transfers to receive

This report will list all of the items that Koha thinks are in transit to your library.

If your transfers are late in arriving at your library you will see a message stating how late your items are.


An item is considered late based on the number of days you have entered in the TransfersMaxDaysWarning system preference.

9.6. Overdues


For libraries with a large patron base, this report may take a significant amount of time to run.


Large libraries can choose to filter the report before it runs by setting the FilterBeforeOverdueReport system preference to 'Require'.

This report will list all items that are overdue at your library.

The report can be filtered using the menu options found on the left of the report.

9.7. Overdues with fines

This report will show you any overdues at your library that have accrued fines on them.

If you would like to limit the report you can use the pull down menu at the top to limit to a specific shelving location at your branch. To see overdues with fines at other branches you will have to change your branch or log in at that branch.


If you do not charge fines and/or don't have the fines cron job running you will see no data on this report.