Koha How-To

Questions and Answers for Koha Support

In this blog post we will cover some of the most common questions we get in Koha support. Have a question about merging records, cronjobs or hiding the DDC classification in the OPAC? Then take a look at some of the questions and answers below. If you have suggestions or questions you would like answered, please submit a ticket and let us know!


How do I merge records?

Go to the cataloging search and search for the records you want to merge. Select the records you want to merge. Select which record you want to be the main record and then select the fields you want to merge.

How do I view patron suggestions from multiple branches?

On the suggestions page, click the “Acquisition information” heading, then select “Any” under the “For” pulldown. Click “Go”

Batch Deletions

How can I delete Ebook records in batch?

If you have a file of urls or ‘bookids’ from your vendor, we may be able to run a script to delete these bibs for you. Send us the file you received from the vendor!


How do I move an order from one bib to another?

You have to transfer the item from one bib to another. Go the catalog, find the bib you want to transfer to and click edit. Then, click Attach item and enter the barcode for the item you want to transfer.

Where are the material types set that control the icons in the OPAC?

Marc leader and marc 008. See http://manual.koha-community.org/16.11/en/cataloging.html#basicatalog

Why aren’t item records being created when I stage MARC records for import?

The location used in the MARC modification template didn’t use the branch code.

Why am i prompted to enter a duedate when checking an item out?

Check circ rules for hard duedate


Can I have headers added to the cron reports sent to me?

Yes, you can using a select and union of the report. Example:

    "Current" AS "Current",
    "Cost total" AS "Cost total",
    "Replacement total" AS "Replacement total","Total" AS "Total"UNION ALL
    SUM(price) AS "Cost total",
    SUM(replacementprice) AS "Replacement total",SUM(price)+SUM(replacementprice) AS "Total"

Items are not moving from cart, why not?

  1. check that permanent location is not set to CART b) check cron job.

Why aren’t membership expiry notices being sent?

The MEMBERSHIP_EXPIRY notice is sent by the membership_expiry.pl cron job. If this isn’t running, the notices will not be sent.


Why is the opac URL being prepended to the Online Resource link?

If 856$u doesn’t start with http://, Koha will prepend OpacBaseURL.

(EDS) What is the field/subfield that contains a persistent, unique identifier for each record?

This depends on whether they’re looking at bibliographic data or item level (holdings) data. The primary key for bibliographic data is stored in MARC 999$c. The primary key for item data is stored in MARC 952$9


When checking out an item, Why is the due date is prior to the checkout date?

In the circulation and fine rule table, check to see if this item type and patron category have a hard due date set – and if this date is in the past.


How do I keep a patron from placing a hold on an item they already have checked out?

Set AllowHoldsOnPatronsPossessions to “Don’t allow”

Number of reserves that can be placed does not respect circulation rules?

Check MaxReserves system preference.


Hold notices are going out by phone, but overdue notices are not. Why not?

Make sure that ‘phone’ is checked in the overdue notice triggers.


How do I create a search widget in a separate web page?

See /2011/11/28/embedable-koha-search-form/


Why am I seeing an LDAP software error?

You must define a username and password block, even if you aren’t using them


How do I turn ACCTDETAILS notices on and off?

This is controlled by the syspref AutoEmailOPACUser which can be set to “send” or “don’t send”.


How do I hide the DDC classification on the OPAC?

There needs to be some jquery added to your opacuserjs system preference to hide this:

$(document).ready(function(){  $(".ddc").hide();}); 

Why am I getting a cover image for a different title?

The ISBN may be wrong; look up the ISBN in google and make sure that the title found matches the bib title.


how do I delete a patron?

Go to ‘more’ menu on patron menu-bar on all patron screens.

Why isn’t Koha detecting duplicate patrons?

Koha detects duplicate patrons using Firstname, Surname and Date of Birth. Unless all three are an exact match, the patron isn’t considered a dup.

Plugin System

How do I change coverflow style?

In the ‘mapping’ section of the coverflow configuration, change ‘style:’ from ‘coverflow’ to ‘carousel’, ‘wheel’ or ‘flat’.

Production Data Changes

Batch editing 30,000 items 1000 at a time is going to take forever. Can I make that faster?

The system preference MaxItemsToProcessForBatchMod can be increased from 1000. Probably best to re-set it to 1000 when done with a large batch.

How do I fix the “stacked page numbers” on the staged marc management page?

Look at bug 19643: Pagination buttons on staged marc management are stacking instead of inline — add that CSS to intranetusercss syspref.


How do I generate CSV/TSV for report that’s too big to run from the staff client?

Bywater staff can Log into the server, run runreport.pl from the command line.

Reports – Cataloging

How do I delete ebooks?

Migrations has a script to do this, to do this by book_id. (If there are no book_ids, migrations will have to take care of this on a case by case basis)

Reports – Circulation

Where can partners go to learn SQL Reports?

W3schools SQL tutorial: http://www.w3schools.com/sql/

This isn’t koha specific but once you get the basic structure you can use the Koha reports library and the Koha schema to begin to build out reports.



Taking reports from the library and making changes is a good way to learn too. The basic syntax for a report is a combination of three statements:

1 – SELECT: This is where you define the information you want, and you determine the name of a column by checking the table in the schema e.g. for biblio look here:

2 – FROM: This is where you name the table you are using, see schema for tables available (e.g. biblio, borrowers, issues, etc.)

3 – WHERE: These are conditions on the data. E.g. ‘Items that are checked out’ translates to items.onloan IS NOT NULL


The availablity numbers don’t look right on the search results screen, why not?

There is a limit to how many items Koha will check in search results — look at the system preference MaxSearchResultsItemsPerRecordStatusCheck


Why am I getting an internal server error when I search?

The item homebranch or holdingbranch is set to a branchcode that is not defined in the branches table.


items.onloan is set to 0000-00-00 00:00:00.

Why do some items show as available and checked out in search results at the same time?

Who an item was checked out to is stored in the ‘issues’ table in Koha. The due date is also stored in items.onloan, which sometimes gets st to null.

Why don’t bibs with lots of items (e.g. serials) show in zebra search?

This is caused by Bug 15399 MARCXML records larger than 1 MB (1048576 bytes) are not searchable

Bywater has some work-arounds for this.

I have an bib that has many items attached, why do I only see 20 in the search results?

This is controlled by the maxItemsInSearchResults system preference.

Slips and Notices

Cost savings on ISSUESLIP?


Item information missing in Advance Notices?


Staff Client

How do I set up item types in purchase suggestions?

See /2017/05/17/purchase-suggestions-opac/

System Administration

Why are we getting 503 errors when navigating to staff / opac urls?

This may be an indication that the site is IP restricted/ip address has changed.

System Error

Why do I get a system error when deleting a patron?

Check to make sure that the patron has card number populated.


Why do I get “Upload status: Failed” on stage-marc-import.pl?

The file /tmp/koha\_*\_upload must be owned by the instance user.

View other Koha tutorials on the ByWater Solutions’ Blog or subscribe to our YouTube Channel for the latest Koha tutorial videos.