Question: How can I find out what version of Koha I am using?

Answer: The easiest way to find out your Koha version is taking a look at the About page of the staff interface.

You can also find out from the OPAC by taking a look at the HTML source. It will look something like:

<meta name="generator" content="Koha 18.1200000" /> <!-- leave this for stats -->

Question: Should I use the Debian packages or the tarball to install Koha?

Answer: For the beginning user, it is highly recommended to use the package install of Koha - it provides many simple commands to do powerful things to your Koha installation. Packages should almost always be your choice of install on an ordinary production Koha install. A relative minimum of system administration skill is required to install Koha using the Debian packages.

Instructions for using the packages with Debian.

Installing from tarball or git is the only option for people not installing on Debian or Ubuntu.

Developers should give the KohaDevBox a look, it’s the easiest, quickest way to get a Developer instance of Koha going.

OPAC and staff interface


Question: What cookies does Koha use?

Answer: The cookies Koha uses on the OPAC and in the staff interface are documented in the Koha Community wiki:


Custom item type/authorized value icons

Question: Can I have my own set of item type images (or authorized value icons)?

Answer: Absolutely. To add additional icons to your system you simply add a new directory to koha-tmpl/intranet-tmpl/prog/img/itemtypeimg/ and to koha-tmpl/opac-tmpl/bootstrap/itemtypeimg and put your icons in the new directory. Your icons will show up in a new tab as soon as they are in the folders.

  • Nota

    Recuerde poner los iconos en ambos lugares (en el OPAC y la intranet).

Customizing Koha images

Question: Can I customize the images in the OPAC?

Answer: Absolutely. Koha comes with a series of original images that you can alter to meet your needs. The originals can be found in the misc/interface_customization/ directory.

OPAC display fields

Question: What MARC fields print to the different OPAC screens in Koha?

Answer: The XSLT preference must be set as follows for the following fields to show

The OPAC results page shows:

  • 245

  • 100, 110, 111

  • 700, 710, 711

  • 250

  • 260

  • 246

  • 856

The OPAC details page shows:

  • 245

  • 100, 110, 111

  • 700, 710, 711

  • 440, 490

  • 260

  • 250

  • 300

  • 020

  • 022

  • 246

  • 130, 240

  • 6xx

  • 856

  • 505

  • 773

  • 520

  • 866

  • 775

  • 780

  • 785

  • plus all of the 5xx fields in the “Notes” tab at the bottom

Mostrar a los usuarios los códigos de barras de los ítems que tienen prestados

Question: Can patrons see the barcodes for the items they have checked out.

Answer: Not by default, but with a few edits to the patron record you can make a barcode column appear on the patron’s check out summary in the OPAC. You can set up a patron attribute with the value of SHOW_BCODE and authorized value of YES_NO to make this happen.


Then on the patron’s record set the value for SHOW_BCODE to yes.


Esto agregará una columna al resumen de préstamos en el OPAC que muestra a los usuarios los códigos de barra de los ítems que tienen prestados.


Al hacer clic en la pestaña “Atrasado” sólo se mostrarán los ítems que están atrasados.


Fees and fines

Question: Why am I getting fined 5.00 for every loan?

Answer: The money you are seeing on your patron’s account isn’t a fine, but a rental fee. The optional default item types that come with the Koha sample data might contain a rental fee. To remove this fee, do the following:

  • Click More > Administration

  • Click Item types

  • Note which item types have a 5.00 fee associated with them, select them for editing

  • Remove the fee, and save the item type

Book drop

Question: How is the book drop date determined? Is it the last open date for the checkout library? Is it today’s date minus one? Can the book drop checkin date be set?

Answer: If the library is closed for four days for renovations, for example, there would be more than one day needed for the book drop date. You will only have one book drop date and that will be the last day that the library was open (determined by the holiday calendar) because there is no real way to know what day the books were dropped into the box during the 4 closed days.

If you need to set a different checkin date, you can use the SpecifyReturnDate system preference. This will allow you to set an arbitrary date and any overdue fines will be recalculated accordingly.

Holds to pull and holds queue

Question: What is the difference between the Holds queue and Holds to pull reports?

Answer: The holds to pull report gives a simple list of what holds need to be filled with available items. It shows the “live” data of your database, so new holds will turn up there immediately. It shows information about each hold including all libraries where items of the requested title are available.

The holds queue report is divided by libraries and will list the hold only for one library where it is available. For libraries with lots of holds and multiple branches this will prevent multiple libraries pulling the item off the shelf at the same time.

The holds queue report is generated by the build_holds_queue.pl cron job. By default it runs hourly, but it might be changed to run at any other interval. There are various configuration options to determine the library to provide the item. For example:

Printing overdue notices

Question: Can I print overdue notices for patrons without email addresses on file?

Answer: Yes. By default Koha will email all overdue notices to patrons without email address to the library.

Additionally the overdue notice cron job has a setting to generate the overdue notices as HTML for printing. An example of this usage would be:


overdue_notices.pl -t -html /tmp/noticedir -itemscontent issuedate,date_due,title,barcode,author

En este ejemplo, solo se quiere utilizar algunos campos de ítem en los avisos, por tanto, se especifican los campos itemscontent en la entrada de cron; eso no es un requisito para la función.

The command line needs to specify a web-accessible directory where the print notices will go – they get a filename like notices-2018-11-24.html (or holdnotices-2018-11-24.html). The overdue notice itself can be formatted to fit a Z-mailer. Within the notice file, the text is spaced down or over to where it will print properly on the form. The script has code that wraps around the notice file to tell the HTML to obey the formatting, and to do a page break between notices. The system preference PrintNoticesMaxLines can be used to specify the page length for libraries that allow a lot of checkouts which can lead to some notices running onto multiple pages. That system preference says to truncate the print notice at that page length and put in a message about go check your OPAC account for the full list.

The cron entry is gather_print_notices.pl /tmp/noticedir

Unable to renew items

Question: We’re trying to renew some items for our patron. One of the items is on hold and ineligible for renewal, but the other two items refuse to renew even though they should be eligible. When I try to use the override renewal limit, it just returns a little message that says «renewal failed». Any idea what’s going on here?

Answer: At the very least you will need to set an absolute default circulation rule. This rule should be as standard rule for all libraries, “All” itemtype”, and “All” patron category. That will catch anyone who doesn’t match a specific rule. Patrons who do not match a specific rule will get blocked from placing holds or renewing items, since there was no baseline number of holds or renewals to utilize.

Unable to place holds

Question: Why can’t I place holds when I have all of the preferences turned on?

Answer: You probably need to set a default circulation rule in your circulation and fines rules. This should be a standard rule for all libraries, and all patron categories and item types. That will catch all instances that do not match a specific rule.

The ability to place holds also depends on the “On shelf holds allowed” setting in the circulation rule that is used. Depending on the setting, it might not be possible to place a hold if any or all items for a record are checked out.

Keyboard shortcuts

Question: Do I have to use my mouse to access the checkout, checkin, renewal and catalog tabs at the top of the circulation pages?

Answer: You can jump between the tabs on the quick search box at the top of the screen by using the following hot keys (if the tab is available):

  • jump to the catalog search with Alt+q

  • jump to the checkout with Alt+u

    • esto no funciona para usuarios de Mac

  • jump to the renewal tab with Alt+w

  • jump to the checkin with Alt+r


    Mac users use the OPTION button in place of Alt

SMS notices/messages

Question: I want Koha to send notices via SMS, what do I need to do?

Respuesta: Primero tendrá que elegir un servicio de SMS para utilizar con Koha. Hay una lista disponible aquí: http://search.cpan.org/search?query=sms%3A%3Asend&mode=all No todos los servicios de SMS disponibles para bibliotecas disponen de controladores en Perl, así que asegúrese de revisar esta lista para ver si el proveedor que está considerando aparece en la lista. Si no, debería solicitar a su proveedor si tienen un módulo Perl, si no inténte otro servicio. Algunas opciones comunes en los EE.UU. (que tienen drivers Perl) son:

Alternatively you can configure Koha to send SMS via Email. In order to use this feature you need to set the SMSSendDriver system preference to “Email” and confiugre the email gateways for the different SMS cellular providers of your patrons.

In any case you might want to check if sending SMS to your patrons is legal in your location.

Question: What about in India?

Answer: India does not yet have too many options here. This is partly due to the Telecom regulatory authority’s (TRAI) stipulations about transactional SMSes and limits on the number of SMSes that may be sent/received per users per day. India specific drivers include:

Email notices/messages

Question: How do I prevent my libraries notices ending up marked as spam?

Answer: This is a complicated topic, but thankfully Koha gives you a good degree of control via various system preferences.

For every email sent out from Koha there are three important addresses for the system to get correct, From, Reply-to and Sender. These are configurable at both the system and library level and should fall back in a suitable manner if any of them are not defined.

  • KohaAdminEmailAddress - This will act as the From address and should be an address in the same domain as the koha server [for example noreply@koha-hosting.org]

  • ReplytoDefault - This will act as the Reply-to address and can be in any domain [for example librarian@mylibrary.com] and this is the address which will be used if/when a patron hits “Reply” in their email client. Note: This will fall back to KohaAdminEmailAddress when it is not set.

  • ReturnpathDefault - This will act as the Sender address and also needs to be within the koha/email servers domain [for example postmaster@koha-hosting.org] and this is the address which will be used to report if an email bounces for any reason.

There are parallels to all the above preferences at the per branch level which fall back in the same order as mentioned aboved before falling back to the system level preferences above when required.

If you have the above configured correctly and your emails are still being treated as spam then you likely need to contact your email service provider/dns provider and look into MX, SPF and DKIM records.



Question: Why can’t I edit 1xx, 6xx, or 7xx fields in my catalog record?

Answer: These fields are authority controlled and you probably have the BiblioAddsAuthorities set to «Don’t allow». When it is set to «Don’t allow» these fields will be locked and require you to search for an existing authority record to populate the field with. To allow typing in these authority fields set BiblioAddsAuthorities to “Allow”.


Los campos afectados por esta preferencia se mostrará un símbolo de candado en ellos


Question: Can I use Koha without creating authority records?

Answer: If you don’t want to create authorities for your records at all, you can remove the authority link by blanking the Thesaurus setting for the fields in your MARC bibliographic frameworks. See also: Edit framework subfields

Koha to MARC mapping

Question: What’s the relationship between “Koha to MARC mapping” and “MARC bibliographic frameworks”?

Answer: Mappings can be defined through “MARC bibliographic frameworks” OR “Koha to MARC mapping”. “Koha to MARC mapping” is just a shortcut to speed up linkage. If you change a mapping in one of these modules, the mapping will change in the other as well. In other words, the two modules “overwrite” each other in order to prevent conflicts from existing in Koha.

Number of items per bibliographic record

Question: Is there a limit on the number of items I can attach to a bib record?

Answer: There is no limit to the number of items you can attach to a bibliographic record. For records with a big number of items exporting the MARC record as ISO 2709 might be problematic as this format has a size limit. Item numbers somewhere between 600 and 1000 items on a “normal” bibliographic record should be ok.


Question: I am using the EasyAnalyticalRecords feature, but my links in the OPAC and Staff client to “Show analytics” are not working.

Answer: If you plan on using EasyAnalyticalRecords you will want to make sure to set your UseControlNumber preference to «Don’t use,» this will prevent broken links.


Planning categories

Question: What is a planning category?

Answer: When you plan in advance for the way your budget is going to be spent, you initially plan for how it’s going to be spent over time, that’s the most natural thing to do.

Así usted planeará €1000 en enero €1000 en febrero, €3.000 en marzo, etc. Básicamente, usted puede hacer lo mismo con una lista de valores en lugar de meses.

Digamos que tienes una lista como ésta:

  • < 1 month

  • < 6 months

  • < 1 year

  • < 3 years

  • < 10 years

  • > 10 años

The list is meant to represent when the books acquired were published. Then you plan for it, saying: we want to spend at least 40% of our budgets on books published less than a year ago, 10% on books more than 10 years old, etc.

Upon acquiring new material, you’ll be able to select, for a given item, a value from this list in a drop down. Then, after the material has been acquired, at the end of the year, you’ll be able to compare the goals set with what’s been achieved.

Publicaciones periódicas

Advanced patterns

Question: What is the “inner counter” on the advanced serials pattern interface?

Answer: I think it is better to give an example to understand this :

Ejemplo para una suscripción mensual:

  • Fecha de publicación del primer número: abril 2010

  • Numeración: Num. {X}, año {Y}

  • Primer número: Num. 4, año 2010

Para el año Y: usted querrá que cambie al año en enero 2011

Así, el patrón avanzado para Y será:

  • Agregar: 1

  • Every : 12

  • When more than: 9999999

  • Inner counter: 3

  • Set back to: 0

  • Begins with: 2010

Year is going to change after 12 received issues from April 2010, that is in April 2011 if you don’t set inner counter. Set inner counter to 3 will say to Koha: change year after 12-3 = 9 received issues.

El contador interno le dice a Koha que para tener en la cuenta los primeros números del año, incluso si no se reciben en Koha. Si se comienza con el primer número del año no escriba nada o un 0.


SQL help

Question: I don’t know SQL, but I want to write a report that does X. Can you tell me how?

Answer: The Koha reports library on the Koha wiki is a good starting point and contains a lot of SQL reports shared by other libraries that can be reused and adapted.

Koha’s database schema is also publicly documented and contains helpful notes on how the columns in the various tables are used.

If you get stuck people on the community mailing lists will often be willing to help you.

Codes stored in the database

Statistics table

Question: What are the possible codes for the type field in the statistics table?


  • localuse

    • Registra si un ejemplar prestado al usuario estadístico (categoría = “X”) es devuelto

  • préstamo

  • devolución

  • renovación

  • writeoff

  • Pago

  • CreditXXX

    • El XXX almacena diferentes tipos de crédito de cargos, entonces una búsqueda para capturarlos a todos incluirá una cláusula como «type LIKE “Credit%”»

Reserves table

Question: What are the possible codes for the found field in the reserves and old_reserves tables?


  • NULL: significa que el usuario solicitó el primero disponible, y no hemos elegido el ítem

  • T = Transit: the hold is linked to an item but is in transit to the pickup library

  • W = Waiting: the hold is linked to an item, is at the pickup library, and is waiting on the hold shelf

  • F = Finalizada: la reserva se ha completado, y está hecha

Reports dictionary table

Question: What are the possible codes for the area field in the reports_dictionary table?


  • 1 = Circulación

  • 2 = Catálogo

  • 3 = Usuarios

  • 4 = Adquisiciones

  • 5 = Cuentas

Messages table

Question: What are the possible codes for the message_type field in the messages table?


  • L = Para bibliotecarios

  • B = Para usuarios/Lectores

Serial table

Question: What are the possible codes for the status field in the serial table?


  • 1 = Esperado

  • 2 = Recibido

  • 3 = Retrasado

  • 4 = Adquisiciones

  • 5 = No disponible

  • 6 = Eliminar

  • 7 = Reclamado

  • 8 = Detenido

  • 41 = Extraviado (no se recibió)

  • 42 = Extraviado (liquidado)

  • 43 = Extraviado (dañado)

  • 44 = Extraviado (perdido)

Borrowers table

Question: What are the possible codes for the privacy field in the borrowers and deleted_borrowers tables?


  • 0 = Para siempre

  • 1 = Predeterminado

  • 2 = Nunca

Patron categories table

Question: What are the possible codes for the category types?


  • A = Adult

  • C = Child

  • I = Organization

  • P = Professional

  • S = Staff

  • X = Statistical

Messaging preferences

Question: What are the possible codes in the message_attribute_id field in the borrower_message_preferences table?


  • 2 = aviso previo

  • 6 = ítem prestado

  • 4 = reserva completada

  • 1= Ítem vence

  • 5 = Ítem devuelto

Runtime parameters

Question: Is there a way to filter my custom SQL reports before they run?

Answer: If you want to make your reports easy to reuse with different filters and date ranges, you can add runtime parameters to your query. Runtime parameters basically make a filter appear before the report is run.

See report writing tips on runtime parameters.


Wildcard searching

Question:What is the difference between a keyword search using the “*” (asterisk) versus a keyword search using the “%” (percent)? Both work in the catalog, but return different sets. Why?

Answer: A wildcard is a character (*,?,%,.) that can be used to represent one or more characters in a word. Two of the wildcard characters that can be used in Koha searches are the asterisk (”*”) and the percent sign (“%”). However, these two characters act differently when used in searching.

The “*” is going to force a more exact search of the first few characters you enter prior to the “*”. The asterisk will allow for an infinite number of characters in the search as long as the first few characters designated by your search remain the same. For example, searching for authors using the term, Smi*, will return a list that may include Smith, Smithers, Smithfield, Smiley, etc depending on the authors in your database.

El “%” tratará las palabras que son ingresadas en términos de «es semejante». Así que una búsqueda bajo Smi% buscará palabras como Smi. Esto se traduce en una lista de resultados mucho más variada. Por ejemplo, una búsqueda bajo Smi% devolverá una lista conteniendo Smothers, Smith, Smelley, Smithfield y muchos otros resultados dependiendo de qué esta en su base de datos.

The bottom line in searching with wildcards: “*” is more exact while “%” searches for similar terms.

Title searching

Question: Why does my Zebra title search for “Help” not turn up “The help” in the first pages of results?

Answer: In general, the more terms you enter, the better your results will be. Koha doesn’t use stop words, so searching for «the» and «an» will work just fine. So «the help» should bring better results than just a title search for help. Also using «Title, phrase» would further improve the results as it means that these terms have to appear in this sequence and with no other terms in between.

Some system preferences are known to affect relevancy ranking negatively. These are QueryAutoTruncate and UseICUStyleQuotes.

Note: If multiple results have the same relevancy score, they will be sorted by biblionumber as second criteria.

Reset the Zebra index

Ejecute los siguientes comandos para reiniciar los índices bibliográficos y de las autoridades de Zebra.

$ zebraidx -c /etc/koha/zebradb/zebra-authorities-dom.cfg -g iso2709 -d authorities init
$ zebraidx -c /etc/koha/zebradb/zebra-biblios.cfg -g iso2709 -d biblios init

Si está ejecutando un paquete de instalación a continuación, usted querrá ejecutar los siguientes comandos para reiniciar los índices bibliográficos y de las autoridades de Zebra en vez de lo anterior:

$ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-authorities-dom.cfg  -g iso2709 -d authorities init
$ sudo zebraidx -c /etc/koha/sites/YOURLIBRARY/zebra-biblios.cfg  -g iso2709 -d biblios init

Sustituya YOURLIBRARY con el nombre de su instalación de Koha.

Enhanced content


All Amazon content

Question: I have all of the Amazon preferences turned on and have entered both of my keys, but none of the content appears in my system, why is that?

Answer: Amazon’s API checks your server time on all requests and if your server time is not set properly requests will be denied. To resolve this issue be sure to set your system time appropriately. Once that change in made Amazon content should appear immediately.

On Debian the the command is date -s «2010-06-30 17:21» (with the proper date and time for your timezone).

Amazon also requires an ISBN for displaying book covers - make sure that you have the correct ISBN for your title. If you are having trouble with a book that seems like it should have a cover but doesn’t turn one up, give it a try with the 10 digit ISBN in the first 020a. If you have a 10 digit and it’s not turning up, try with the 13 digit ISBN in the first 020a.

Server administration

Making Z39.50 target public

Question: How can I configure Zebra to make my database searchable via Z39.50?

Answer: Edit the KOHA_CONF file that your Koha is using. Uncomment the publicserver line like:

<!– <listen id=»publicserver» >tcp:@:9999</listen> –>

que sea:

<listen id=»publicserver» >tcp:@:9999</listen>

A continuación, reinicie zebasrv y conéctese al puerto especificado (9999).

Shelving location authorized values

Question: When editing an item, the new shelving location I created is not showing up by default in the items where I assigned it to.

Answer: One possible reason is that you created the location in the LOC authorized value category with the code “” or 0 (zero). This will be treated as “no location” and not display correctly.

Why do I need authorized values?

Question: Why would I want to define authorized values for MARC tags?

Answer: Authorized values create a “controlled vocabulary” for your staff. As an example, let us assume that your Koha installation is used by several libraries, and you use MARC 21. You might want to restrict the 850a MARC subfield to the institution codes for just those libraries. In that case, you could define an authorized values category (perhaps called «INST») and enter the institution codes as the authorized values for that category.


Koha automáticamente establece categorías de valores autorizados para los tipos de ítem y los códigos de sucursal, y puede enlazar estos valores autorizados a los subcampos de MARC cuando usted establece la estructura de campos MARC.

¿Cómo puedo limpiar la tabla de sesiones?

Question: Is there a periodic job that can be run to cull old sessions from the table? We don’t want to backup all the useless session data every night.

Answer: You can regularly run the cleanup database cron job.

Or just before doing a backup command (mysqldump), you can truncate session table:

mysql -u<kohauser -p<password <koha-db-name -e 'TRUNCATE TABLE sessions'


Barcode scanners

Question: What barcode scanners have been known to work with Koha?

Answer: The simple rule of thumb is: does it act like a keyboard device? If so, it will work. (i.e. can you take the scanner, scan a barcode and have it show up in a text editor.)

Los principales puntos a comprobar son que se conecta a su PC convenientemente (puede ser USB o «un conector de teclado», lo cual significa que se conecta en línea con el teclado, que es útil con los equipos más antiguos), y que escanea el tipo de código de barras que que esté utilizando.

Es una buena idea probar algunos códigos de barras “usados”, si dispone de algunos, para ver si el escáner puede leer con éxito códigos de barras raspados o ligeramente arrugados. La mayoría de los escáneres son capaces de leer varios tipos de códigos de barras - hay muchos, y la especificación debe enumerarse los que puede leer. Es posible que necesite ajustar la configuración de algo, como prefijo y sufijo de caracteres, o si desea enviar un caracter de “enter” o no.

Un consejo más - algunos se pueden establecer como “siempre activo” y pueden venir con un soporte, algunos tienen interruptores debajo del mango, algunos tienen botones en la parte superior, algunos se cogen como un lapicero. Piense en el personal que trabaja con el hardware antes de elegir, un botón en el lugar equivocado puede ser muy difícil de usar.


Impresoras utilizadas por las bibliotecas Koha

General rule of thumb here is that if you can print with the printer from your browser, it will work with Koha.

  • POS-X impresora de recibos

  • Star Micronics impresora (se desconoce el modelo exacto) con un controlador de texto genérico/sin formato.

  • Star SP2000 (Nelsonville)

  • Star TSP-100 futurePRINT (Geauga)

    • «Sé que ha habido muchas preguntas sobre impresoras de recibos, así que pensé en pasar mis conclusiones. Hemos estado probando Star TSP-100 futurePRINT. He encontrado esta impresora muy fácil de configurar para Koha. Yo era aún capaz de personalizar el trabajo de impresión mediante la adición de nuestro logotipo del sistema (un archivo .gif) en la parte superior de cada recibo. También con un mapa de bits creado en Paint fui capaz de escribir un mensaje en la parte inferior de cada recibo con la información de contacto, hora y el sitio web de la biblioteca que el material que fue prestado.»

  • Epson TM 88 IIIP impresoras de recibos térmica

  • Epson TM-T88IV

  • 1x1 etiquetas usando una impresora Dymolabelwriter

Braille support

Question: Are there any braille embossers or printers which have inbuilt braille converters and are accessible within the UNIX environment?

Answer: You may want to look into BRLTTY.

Additional information