Chapter 3. Tools

Table of Contents

1. Patrons and Circulation
1.2. Patron Import
1.3. Notices & Slips
1.4. Overdue Notice/Status Triggers
1.5. Patron Card Creator
1.6. Patrons (anonymize, bulk-delete)
1.7. Batch patron modifiction
1.8. Tag Moderation
1.9. Upload Patron Images
2. Catalog
2.1. Batch item modification
2.2. Batch item deletion
2.3. Export Data (MARC & Authorities)
2.4. Inventory/Stocktaking
2.5. Label Creator
2.6. Quick Spine Label Creator
2.7. Stage MARC Records for Import
2.8. Staged MARC Record Management
2.9. Upload Local Cover Image
3. Additional Tools
3.1. Calendar
3.2. CSV Profiles
3.3. Log Viewer
3.4. News
3.5. Task Scheduler
3.6. Quote of the Day (QOTD) Editor

Tools in Koha all perform some sort of action. Often many of the items listed under Tools in Koha are referred to as 'Reports' in other library management systems.

1. Patrons and Circulation


  • Get there: More > Tools > Patrons and Circulation > Comments

All comments added by patrons via the OPAC to bibliographic records require moderation by the librarians. If there are comments awaiting moderation they will be listed on the main staff dashboard under the Tools label:

To moderate comments click on the notification on the main dashboard or go directly to the Comments Tool and click 'Approve' or 'Delete' to the right of the comments awaiting moderation.

If there are no comments to moderate you will see a message saying just that

You can also review and unapprove comments you have approved in the past by choosing the 'Approved comments' tab

1.2. Patron Import

  • Get there: More > Tools > Patrons and Circulation > Import Patrons

The patron import tool can be used at any time to add patrons in bulk. It is commonly used in universities and schools when a new batch of students registers.

1.2.1. Creating Patron File

Your Koha installation comes with a blank CSV file that you can use as a template for your patron records. If you would like to create the file yourself, make sure that your file has the following fields in this order as the header row:

borrowernumber, cardnumber, surname, firstname, title, othernames, initials, streetnumber, streettype, address, address2, city, zipcode, country, email, phone, mobile, fax, emailpro, phonepro, B_streetnumber, B_streettype, B_address, B_address2, B_city, B_zipcode, B_country, B_email, B_phone, dateofbirth, branchcode, categorycode, dateenrolled, dateexpiry, gonenoaddress, lost, debarred, contactname, contactfirstname, contacttitle, guarantorid, borrowernotes, relationship, ethnicity, ethnotes, sex, password, flags, userid, opacnote, contactnote, sort1, sort2, altcontactfirstname, altcontactsurname, altcontactaddress1, altcontactaddress2, altcontactaddress3, altcontactzipcode, altcontactcountry, altcontactphone, smsalertnumber, patron_attributes


The 'password' value should be stored in plain text, and will be converted to a md5 hash (which is an encrypted version of the password).

  • If your passwords are already encrypted, talk to your systems administrator about options


Date formats should match your system preference, and must be zero-padded, e.g. '01/02/2008'.


The fields 'branchcode' and 'categorycode' are required and must match valid entries in your database.


If loading patron attributes, the 'patron_attributes' field should contain a comma-separated list of attribute types and values.

  • The attribute type code and a colon should precede each value.

    • For example: INSTID:12345,LANG:fr or STARTDATE:January 1 2010,TRACK:Day

    • If an input record has more than one attribute, the fields should either be entered as an unquoted string (previous examples), or with each field wrapped in separate double quotes and delimited by a comma:

      • "STARTDATE:January 1, 2010","TRACK:Day"

      • This syntax would be required if the data might have a comma in it, like a date string.

1.2.2. Importing Patrons

Once you have created your file, you can use the Patron Import Tool to bring the data into Koha.

  • Choose your CSV file and choose to match on 'Cardnumber' to prevent adding of duplicate card numbers to the system

  • Next you can choose default values to apply to all patrons you are importing

    • ex. If you're importing patrons specific to one branch you can use the field on the Import form to apply the branch code to all those you are importing.

  • Finally you need to decide on what data you want to replace if there are duplicates.

    • A matching record is found using the field you chose for matching criteria to prevent duplication

    • If you included patron attributes in your file you can decide whether to add your values to existing values or erase existing values and enter only your new values.

1.3. Notices & Slips

  • Get there: More > Tools > Patrons and Circulation > Notices & Slips

All notices and circulation receipts (or slips) generated by Koha can be customized using the Notices & Slips Tool. The system comes with several predefined templates that will appear when you first visit this tool.

Each notice can be edited, but only a few can be deleted, this is to prevent system errors should a message try to send without a template. Each notice and slip can be edited on a per library basis, by default you will see the notices for all libraries.

If you have a style you'd like applied to all slips you can point the SlipCSS preference to a stylesheet. The same is true for notices, using the NoticeCSS preference to define a stylesheet.

1.3.1. Adding Notices & Slips

To add a new notice or slip

  • Click 'New Notice'

  • Choose which library this notice or slip is for

  • Choose the module this notice is related to

  • The Code is limited to 20 characters

    • Important

      When working with the overdue notices you want each notice at each branch to have a unique code. Think about using the branch code in front of the notice code for each branch.

  • Use the name field to expand on your Code

    • Tip

      With overdue notices, be sure to put your branch name in the description as well so that it will be visible when setting up your triggers.

  • If you plan on writing the notice or slip in HTML check the 'HTML Message' box, otherwise the content will be generated as plain text

  • Message Subject is what will appear in the subject line of the email

  • In the message body feel free to type whatever message you feel is best, use the fields on the left hand side to enter individualized data from the from database.

    • Important

      Overdue notices can use <<items.content>> tags by themselves, or use <item></item> to span all of the tags. Learn more about the Overdue Notice Markup

      • On overdue notices make sure to use <<items.content>> tags to print out the data related to all items that are overdue.

      • The other option, only for overdue notices, is to use the <item></item> tags to span the line so that it will print out multiple lines One example for the <item></item> tag option is:

        <item>"<<biblio.title>>" by <<>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> , Checkout date: <<issues.issuedate>>, Due date: <<issues.date_due>> Fine: <<items.fine>> Due date: <<issues.date_due>> </item>

    • Important

      Only the overdue notices take advantage of the <item></item> tags, all other notices referencing items need to use <<items.content>>

    • Tip

      To add today's date you can use the <<today>> syntax Overdue Notice Markup

When creating your overdue notices there are two tags in addition to the various database fields that you can use in your notices.


These new tags only work on the overdue notices, not other circulation related notices at this time.

  • <item></item> which should enclose all fields from the biblio, biblioitems, and items tables.

  • <fine></fine> which should be enclosed by the item tag and should enclose a currency identifier per ISO 4217. If this tag is present with a proper identifier, the fine for that item will be displayed in the proper currency format.

    • Note: ISO 4217 changes from time to time therefore all currencies may not be supported. If you find one that is not supported, please file a bug with the Locale::Currency::Format author Tan D Nguyen <tnguyen at cpan doe org>.

An example of using these two tags in a notice template might be like:

   The following item(s) is/are currently overdue:

   <item>"<<biblio.title>>" by <<>>, <<items.itemcallnumber>>, Barcode: <<items.barcode>> Fine: <fine>GBP</fine></item>

Which, assuming two items were overdue, would result in a notice like:

   The following item(s) is/are currently overdue:

   "A Short History of Western Civilization" by Harrison, John B, 909.09821 H2451, Barcode: 08030003 Fine: £3.50
   "History of Western Civilization" by Hayes, Carlton Joseph Huntley, 909.09821 H3261 v.1, Barcode: 08030004 Fine: £3.50

1.3.2. Existing Notices & Slips

Among the default notices are notices for several common actions within Koha. All of these notices can be customized by altering their text via the Notices & Slips tool and their style using the NoticeCSS preference to define a stylesheet. Here are some of what those notices do


    • Sent to patrons when their account is set up if the AutoEmailOPACUser preference is set to 'Send'

  • ACQCLAIM (Acquisition Claim)

    • Used in the claim acquisition module

    • Get there: More > Acquisitions > Late issues

  • HOLD (Hold Available for Pickup)

    • This notice is used if two criteria are met:

      1. The EnhancedMessagingPreferences is set to 'Allow'

      2. The patron has requested to receive this notice

        • Get there: OPAC > Login > my messaging

        • Get there: Staff Client > Patron Record > Notices

    • When this notice references the branches table it is referring to the pickup branch information.

  • HOLDPLACED (a notice to the library staff that a hold has been placed)

    • This notice requires the emailLibrarianWhenHoldIsPlaced system preference to be set to 'Enable'

    • When this notice references the branches table it is referring to the pickup branch information.

  • HOLD_PRINT (Printed notice when hold available for pickup)

    • This notice is used for hold confirmation notices that are sent out in print format. This will not effect what the email notice looks like.

    • When this notice references the branches table it is referring to the pickup branch information.

  • ODUE (Overdue Notice)

  • RLIST (Routing List)

    • Used in the serials module to notify patrons/staff of new issues of a serial

    • You have the option to select the 'Routing List' notice when creating a new subscription (Choose from the 'Patron notification' drop down).

    • Tip

      Notice also that if you'd like to notify patrons of new serial issues, you can click on 'define a notice' which will take you to the 'Notices' tool

There are also a set of predefined slips (or receipts) listed on this page. All of these slips can be customized by altering their text via the Notices & Slips tool and their style using the SlipCSS preference to define a stylesheet. Here is what those slips are used for:


    • Used to print the quick slip in circulation

    • The quick slip only includes items that were checked out today


    • Used to print a full slip in circulation

    • The slip or receipt will show items checked out today as well as items that are still checked out


    • Used to print a holds slip

    • The holds slip is generated when a hold is confirmed


    • Used to print a transfer slip

    • The transfer slip is printed when you confirm a transfer from one branch to another in your system

1.4. Overdue Notice/Status Triggers

  • Get there: More > Tools > Patrons and Circulation > Overdue Notice/Status Triggers

In order to send the overdue notices that you defined using the Notices tool, you need to first set the triggers to have these messages.


In order to have overdue notices sent to your patrons, you need to set that patron category to require overdue notices.

The Overdue Notice/Status Triggers tool gives the librarian the power to send up to three notices to each patron type notifying them of overdue items

  • Delay is the number of days after an issue is due before an action is triggered.

    • Important

      If you want Koha to trigger an action (send a letter or restrict member), a delay value is required.

  • To send additional notices, click on the tabs for 'Second' and 'Third' notice

  • If you would like to prevent a patron from checking items out because of their overdue items, check the 'Restrict' box, this will put a notice on the patron's record at checkout informing the librarian that the patron cannot check out due to overdue items.

  • See a Sample Overdue Notice

1.5. Patron Card Creator

  • Get there: More > Tools > Patrons and Circulation > Patron Card Creator

The Patron Card Creator allow you to use layouts and templates which you design to print a nearly unlimited variety of patron cards including barcodes. Here are some of the features of the Patron Card Creator module:

  • Customize patron card layouts

  • Design custom card templates for printed patron cards

  • Build and manage batches of patron cards

  • Export single or multiple batches

  • Export single or multiple patron cards from within a batch

  • Export card data as a PDF readable by any standard PDF reader, making patron cards printable directly on a printer

At the top of each screen within the Patron Card Creator, you will see a toolbar allowing quick access to relevant functions. The menu to the left of each screen also allows easy access to the different sections of the Patron Card Creator. The bread crumb trail near the top of each screen will give specific indication as to where you are within the Patron Card Creator module and allow quick navigation to previously traversed sections. And finally, you can find more detailed information on each section of the Patron Card Creator by clicking the online help link at the upper left-hand corner of every page.

1.5.1. Templates

  • Get there: More > Tools > Patron Card Creator > Templates

A template is the label/card stock you are using. This might be Avery 5160 for address labels, Gaylord 47-284 for spine labels or Avery 28371 for your patron cards, just to give a couple of examples. These labels will include all of the information you will need for setting up a Koha, this information may be on the packaging, and if not it can usually be found on the vendor's website. Add a Template

To add a new template, you want to click on the 'Templates' button at the top of your page and choose 'New Template'

Using the form that appears you can define the template for your sheet of labels or cards.

  • Template ID will be automatically generated after saving your template, this is simply a system generated unique id

  • Template Code should be something you can use to identify your template on a list of templates

  • You can use the Template Description to add additional information about the template

  • The Units pull down is used to define what measurement scale you're going to be using for the template. This should probably match the unit of measurement used on the template description provided by the product vendor.

  • The measurements can be found on the vendor product packaging or website.

  • A profile is a set of "adjustments" applied to a given template just prior to printing which compensates for anomalies unique and peculiar to a given printer (to which the profile is assigned).

    • Before picking a profile try printing some sample cards so that you can easily define a profile that is right for your printer/template combination.

    • After finding any anomalies in the printed document, create a profile and assign it to the template.

After saving, your templates will appear on the 'Manage Templates' page.

1.5.2. Profiles

  • Get there: More > Tools > Patron Card Creator > Profiles

A profile is a set of "adjustments" applied to a given template just prior to printing which compensates for anomalies unique and peculiar to a given printer (to which the profile is assigned). This means if you set a template up and then print a sample set of data and find that the items are not all aligned the same on each card, you need to set up a profile for each printer to make up for the differences in printing styles, such as the shifting of text to the left, right, top or bottom.

If your cards are printing just the way you want, you will not need a profile. Add a Profile

To add a new profile, you want to click on the 'Profiles' button at the top of your page and choose 'New Profile'

Using the form that appears you can create a profile to fix any problems with your template.

  • The Printer Name and Paper Bin do not have to match your printer exactly, they are for your reference so you can remember what printer you have set the profile for. So if you want to use the Printer model number in printer name or you can call it 'the printer on my desk'

  • Template will be filled in once you have chosen which template to apply the profile to on the template edit form

  • The Units pull down is used to define what measurement scale you're going to be using for your profile.

  • Offset describes what happens when the entire image is off center either vertically or horizontally and creep describes a condition where the distance between the labels changes across the page or up and down the page

    • For these values, negative numbers move the error up and to the left and positive numbers move the error down and to the right

    • Example: the text is .25" from the left edge of the first label, .28" from the left edge of the second label and .31" from the left edge of the third label. This means the horizontal creep should be set to .03" to make up for this difference.

After saving, your profiles will appear on the 'Manage Profiles' page.

Once you have saved your new profile, you can return to the list of templates and choose to edit the template that this profile is for.

1.5.3. Layouts

  • Get there: More > Tools > Patron Card Creator > Layouts

A layout defines the text and images that will be printed on to the card and where it will appear. Add a Layout

To add a new layout, you want to click on the 'Layouts' button at the top of your page and choose 'New Layout'

Using the form that appears you can create a profile to fix any problems with your template.

  • The name you assign to the layout is for your benefit, name it something that will be easy to identify at a later date

  • The Units pull down is used to define what measurement scale you're going to be using for your layout.

  • Next note if this layout is for the front or the back of the patron card

    • You will need a layout for both the front and back of your card if you have 2-sided library cards

  • You have the option of adding up to 3 lines of text to your card. Your text can be static text of your choosing and/or fields from the patron record. If you want to print fields from the patron record you want to put the field names in brackets like so - <firstname>

  • For each line of text, you can choose your font, font size and the location of the text on the card using the lower X and Y coordinates

  • In order to show the barcode and the patron card number you will need to check the 'Print Card Number as Barcode' option. This will turn the patron card number into a barcode. If you want the number to print in human readable format you will need to check the 'Print Card Number as Text Under Barcode' option.

  • Finally you can choose up to two images to print on the card.

    • One can be the patron image which you can resize to meet your needs.

    • The other image can be something like a library logo or symbol that you uploaded using the 'Manage Images' module of the Patron Card Creator Tool.

After saving, your layouts will appear on the 'Manage Layouts' page.

1.5.4. Batches

  • Get there: More > Tools > Patron Card Creator > Batches

A batch is a collection of patrons for whom you want to generate cards. Add a Batch

To add a new batch, you want to click on the 'Batches' button at the top of your page and choose 'New Batch'

1.5.5. Manage Images

  • Get there: More > Tools > Patron Card Creator > Manage Images

Images uploaded using this tool will appear on the menu when creating patron card layouts. You are limited in how many images you can upload (not counting patron images) by the ImageLimit system preference.


Images must be under 500k in size.


Pictures uploaded with this tool should be at least 300dpi which is the minimum quality for a printable image.

In the center of the screen is a simple upload form, simply browse for the file on your computer and give it a name you'll recognize later.

Once the file is uploaded you will be presented with a confirmation message.

And the image will be listed with all of your others on the right hand side of the page.

To delete one or multiple of these images, click the checkbox to the right of each image you want to delete and click the 'Delete' button.

1.6. Patrons (anonymize, bulk-delete)

  • Get there: More > Tools > Patrons and Circulation > Patrons (anonymize, bulk-delete)

This tool allows you to bulk anonymize circulation histories (this means that you keep records of how many times items were checked out - but not the patrons who checked the items out) or bulk delete patrons (remove them from the system completely).


Patrons with outstanding fines or items checked out are not saved. They are not completely removed from the system (they are only moved to the delete_borrowers table), but this tool does not provide as many checks as one may desire.


The anonymization will fail quietly if AnonymousPatron preference does not contain a valid value.

To either delete or anonymize patrons

  • Check the task you would like to perform (Delete or Anonymize)

  • Enter a date before which you want to alter the data

  • Click 'Next'

  • A confirmation will appear asking if you're sure this is what you want to happen

  • Clicking 'Finish' will delete or anonymize your data

1.7. Batch patron modifiction

  • Get there: More > Tools > Patrons and Circulation > Batch patron modification

With this tool you can make edits to a batch of patron records. Simply load in a file of cardnumbers (one per line) or scan patron card numbers in to the box provided.

Once you have the file loaded or the barcodes scanned click 'Continue.' You will be presented with a list of the patrons and the changes you can make.

To the left of each text box there is a checkbox. Clicking that checkbox will clear our the field values.


If the field is mandatory you will not be able to clear the value in it.

If you have multiple patron attributes you can change them all by using the plus (+) sign to the right of the text box. This will allow you to add another attribute value.

Once you have made the changes you want, you can click 'Save' and Koha will present you with the changed patron records.

1.8. Tag Moderation

  • Get there: More > Tools > Patrons and Circulation > Tags

Depending on your tagging system preferences, librarians may need to approve tags before they are published on the OPAC. This is done via the Tag Moderation Tool. If there are tags awaiting moderation they will be listed on the main staff dashboard under the module labels:

To moderate the tags visit the Tags tool. When first visiting the tool, you will be presented with a list of tags that are pending approval or rejection by a librarian

  • To see all of the titles this tag was added to simply click on the term

  • To approve a tag, you can either click the 'Approve' button in line with the term, or check all terms you want to approve and click 'Approve' below the table.

  • To reject a tag, you can either click the 'Reject' button in line with the term, or check all terms you want to approve and click 'Reject' below the table.

Once a tag has been approved or rejected it will be moved to the appropriate list of tags. A summary of all tags will appear on the right of the screen.

Even though a tag is approved or rejected, it can still be moved to another list. When viewing approved tags each tag has the option to reject:

To check terms against the approved and rejected lists (and possibly against the dictionary you have assigned for tag moderation) simply enter the term into the search box on the bottom right of the screen to see the status of the term

1.9. Upload Patron Images

  • Get there: More > Tools > Patrons and Circulation > Upload Patron Images

Patron images can be uploaded in bulk if you are allowing patron images to be attached to patron records. These images can also be used when creating patron cards.

  • Create a txt file and title it "DATALINK.TXT" or "IDLINK.TXT"

  • On each line in the text file enter the patron's card number followed by comma (or tab) and then the image file name

    • Make sure that your TXT file is a plain text document, not RTF.

  • Zip up the text file and the image files

  • Go to the Upload Patron Images Tool

  • For a single image, simply point to the image file and enter the patron card number

  • For multiple images, choose to upload a zip file

  • After uploading you will be presented with a confirmation


There is a limit of 520K on the size of the picture uploaded and it is recommended that the image be 200x300 pixels, but smaller images will work as well.