Koha How-To

Koha Question of the Week: How Can I Set Koha Up in a Consortium?

Each Friday, we will bring you a new Koha Question of the Week. We will select real questions that we receive and share the answers with you!

Question: How Can I Set Koha Up in a Consortium?

We're a library consortium setting up the Koha ILS for the first time. What types of things should we consider?


We know that setting up Koha (and any other system) for a library consortium can be a bit more complicated. There are a lot of things to consider with any ILS when setting up circulation rules and policies. Our Education team has condensed the steps down into a checklist to help you organize your ILS for your consortia's needs.


Basic Parameters

  1. Item Types: This is what drives your circulation. These need to be decided on as a consortium
    1. It will refer to a material type like book, DVD, magazines, 2 hour reserves, 48 hour reserves, chromebooks, textbooks

    2. These items should be based on your circulation rules. You will use these to set the limits for how they circulation. Examples below:
      1. Reference - Not for Loan

      2. Book - 14 days

      3. 48 hour reserves - 48 hours

      4. DVD - 4 days

    3. Here is a link to a quick video describing Item Types, Collection Codes and Location Fields in Koha.

  2. Authorized Values (these can be branch/location specific)
    1. Shelving Location Codes LOC. Shelving locations represent physical locations in the library (ie: 1st floor, 2nd floor, computer lab).

    2. Collection Codes CCODES. Collection Codes are codes that describe a collection (ie: Career Resources, Psychology, Local HIstory).

    3. LOST Status
      1. 0 = Available
        1. The item is available for checkout

      2. 1 = Lost
        1. The item is lost and can’t be found

      3. 2 = Long Overdue (Lost)
        1. The patron hasn’t returned an overdue book past x amount of days

      4. 3 = Lost and Paid For
        1. The item was lost and the patron paid the replacement fee

      5. 4 = Missing
        1. The item can not be found in the library, possible misshelved or misplaced

    4. Not for Loan
      1. -1 = Ordered

      2. 0 = Available for loans

      3. 1 = Not for Loan

      4. 2 = Staff Collection

      5. Negative number values will still allow holds (use for on order statuses for example) whereas positive numbers will not allow holds or checkouts

Circulation Rules

  1. The rules are applied from most specific to less specific and can be set for branch specific rules
    1. Using the issuing rules matrix you can define rules that depend on patron/item type combos. To set your rules for each location, choose a library from the pull down

    2. At the very least you will need to set a default circulation rule. This rule should be set for all item types, all libraries and all patron categories. That will catch all instances that do not match a specific rule.

  2. The CircControl and HomeOrHoldingBranch system preferences will also come in to play when figuring out which circulation rule to follow for multiple locations.
    1. If CircControl is set to “the library you are logged in at” circulation rules will be selected based on the library you are logged in at

    2. If CircControl is set to “the library the patron is from” circulation rules will be selected based on the patron’s library

    3. If CircControl is set to “the library the item is from” circulation rules will be selected based on the item’s library where HomeOrHoldingBranch chooses if item’s home library is used or holding library is used.

    4. If IndependentBranches is set to ‘Prevent’ then the value of HomeOrHoldingBranch is used in figuring out if the item can be checked out. If the item’s home library does not match the logged in library, the item cannot be checked out unless you are a Superlibrarian.

  3. Default lost item fee refund on return policy
    1. You can specify the default policy for lost item fees on return for each branch location

    2. This rule is to be used with the RefundLostOnReturnControl system preference.

  4. Default holds policy by item type
    1. You can edit hold and return policies for a given item type, regardless of the patron’s category

    2. This is specific to each branch / location

Notices and Slips

  1. All notices and circulation receipts (or slips) generated by Koha can be customized

  2. Each notice and slip can be edited on for each specific location. By default you will see the notices for all libraries.
    1. Customising Notices and Slips

    2. Notices and Slips Library

  3. Overdue notice/status triggers
    1. These can be set up for individual branches / locations

    2. You need to set your patron categories to receive overdue notices

    3. Customize each rule from the branch pull down menu

System Preferences

  1. Circulation
    1. useDaysMode : Define how due dates are calculated

    2. finesCalendar : Define how fines are calculated (for every late date or only for days the library is open)

    3. CircControl : Define whether circ rules are based on item's location, patron's location or transaction location

    4. HomeOrHoldingBranch : define whether the checkout and fines rules are used from the library the item was checked out from or the library is item is from.

    5. noissuescharge : Define the maximum amount a patron can owe before checkouts are blocked

    6. ReturnBeforeExpiry : Decide if patrons need to return items before their accounts expire

    7. AllowReturnToBranch- where to allow materials to be returned to:
      1. To any library

      2. Only library checked out from

      3. Only library item is from

      4. Either library where item is from or where it was checked out from.

    8. AllowTooManyOverride - allow/don’t allow staff to override when patron has reached maximum checkouts

    9. AutomaticItemReturn-automatically or don’t automatically transfers to happen

    10. DefaultLongOverdueChargeValue-Charge a lost item to the borrower's account when the LOST value of the item changes to

    11. DefaultLongOverdueLostValue /DefaultLongOverdueDays- by default, set the LOST value of an item to ___when the item has been overdue for more than ____ days.

    12. Onsite checkouts- minor but something everyone would have to do

    13. Recordlocaluse-With this preference set to "Record" you can record local use by checking out to the statistical patron and/or by checking in a book that is not currently checked out.

    14. AutoRemoveOverduesRestrictions allow/don’t allow OVERDUES restrictions triggered by sent notices to be cleared automatically when all overdue items are returned by a patron.

    15. Allownotforloanoverride allow or don’t allow staff to override and check out items that are marked as not for loan.

    16. notifyborrowerdeparture Decide when to warn staff that the patron account is about to expire

  1. Patrons
    1. AutoEmailPrimaryAddress : Determine if the patrons get an email confirming the creation of their account

    2. EnhancedMessagingPreferences : Decide if staff can choose from a series of notices (other than overdues) for patrons

    3. EnhancedMessagingPreferencesOPAC: Decide if patrons can choose from a series of notices (other than overdues) for themselves

    4. minPasswordLength : Enter the minimum number of characters you want passwords to have

    5. BorrowerMandatoryField: what fields must be filled in on the patron entry screen

    6. MembershipExpiryDaysNotice: Send an account expiration notice when a patron's card will expire in

    7. Patronimages: will images to be uploaded and shown for patrons on the staff client.

    8. BorrowerUnwantedField- what fields they do not need on this form- would have to make a group decision.

    9. Uppercasesurnames- how to display patron names

    10. Automembernum- library card numbers

  1. Patron Privacy
    1. intranetreadinghistory : Decide if the staff can see the patron's reading/checkout history

    2. OPACPrivacy: do you want to allow patrons to choose their own privacy settings for their reading history.

    3. Opacreadinghistory: do you patrons to see what books they have checked out in the past.u want to allow

    4. StoreLastBorrower: do you want to store the last patron to borrow an item even if the patron has chosen to have their reading history anonymized.

    5. TrackClicks: decide if you want to track every link clicked in Koha
      1. You can track, no tracking, or track anonymously

    6. Anonsuggestions: allow patrons make suggestions anonymously

  1. Fines
    1. MaxFine : Determine the maximum amount that people can owe in fines

    2. finesMode : Calculate and Charge will charge fines based on your circulation rules

    3. finesCalendar: calculate fines based on days overdue directly or not including days the library is closed

    4. RefundLostOnReturnControl: (this can be branch specific) if an item is marked lost and returned by a patron determine how the refund is applied. Either by the check-in library, item’s holding library, or items home library

    5. WhenLostChargeReplacementFee: charge or don’t charge the replacement price when a patron loses an item.

    6. WhenLostForgiveFine: forgive or don’t forgive the fines on an item when it is lost.

  1. Holds
    1. AllowHoldsOnDamagedItems : Decide if patrons can place holds on items that are marked as damaged
      1. AllowHoldPolicyOverride : Decide if you want the staff to be able to override the setting for the above at checkout

    2. maxreserves : Decide how many items a patron can have on hold at once
      1. AllowHoldPolicyOverride : Decide if you want the staff to be able to override the setting for the above at checkout

    3. Canreservefromotherbranches - Decide if a user from one library can place a hold on an item from another library.

    4. maxoutstanding : Define the maximum amount a patron can owe before holds are blocked

    5. ReservesMaxPickUpDelay : Define the number of days before a hold expires

    6. ExpireReservesMaxPickUpDelay - Decide if holds should expire automatically if they haven’t been picked up in the time allotted by ReservesMaxPickUpDelay.
      1. ExpireReservesMaxPickUpDelayCharge: charge a borrower who allows his or her waiting hold to expire a fee of xx USD

    7. ExpireReservesOnHolidays - Decide if expired holds can be canceled on days the library is closed.

    8. OPACAllowUserToChooseBranch - Decide if the user can choose which library to pick up a hold from.

  2. OPAC Prefs
    1. OPACFinesTab : allow patrons to access the Fines tab on the My Account page on the OPAC.

    2. OpacPasswordChange : decide if patrons can change their own password on the OPAC. Note that this must be off to use LDAP authentication.

    3. Hidelostitems - Decide if you want to hide lost items on search and detail pages.

    4. OpacAddMastheadLibraryPulldown - Decide if you want to add a library select pulldown menu on the OPAC masthead.

    5. OPACBaseURL - Decide if you’re going to have a base URL for the OPAC this will allow staff to click on the OPAC link from the staff client marc record.

    6. OpacFavicon - Are you going to have an OPAC favicon?

    7. OpacLocationBranchToDisplay - Decide if you want the OPAC records detail page to display the Holding Library, the Home + Holding Libraries or the Home Library.

    8. OpacMaxItemsToDisplay - Decide how many items to display on the biblio detail page

    9. OpacSuggestionManagedBy - Decide if you want to show the name of the staff member who managed a suggestion in the OPAC.

    10. OPACPatronDetails - Allow patrons to notify the library of changes to their account from the OPAC.

    11. Reviewson - Decide if you want to allow patrons to make comments on items in the OPAC.

    12. ShowReviewer - If you allow reviews, then decide if you want their name to appear and if so, in what format.
      1. ShowReviewerPhoto: show or hide reviewer’s photo beside comments in OPAC.

    13. suggestion - Decide if you want to allow patrons to make purchase suggestions on the OPAC.

    14. EnablePayPalOpacPayments - Decide if you want to enable PayPal payments

    15. AllowPurchaseSuggestionBranchChoice - Decide if you want patrons to select the library for when making a purchase suggestion.

    16. BlockExpiredPatronOpacActions - Decide if you want to block expired patrons from renewing or placing a hold.

    17. OPACFineNoRenewals - Decide on an amount that above which patrons will be blocked from renewing books.

    18. OpacHiddenItems - Decide if you want to block a certain subset of items from being visible in the OPAC, ie damaged or withdrawn items.

    19. OPACrenewalallowed: allow or don’t patrons to renew their own books on the OPAC.

    20. OPACSuggestionMandatoryFields - Decide which fields you want to make mandatory for purchase suggestions.

    21. SearchMyLibraryFirst - Decide if you want to limit patrons’ searches to only the library they are registered at.

System Preferences for Multiple Locations - these preference controls the default value in the branch pull down

  1. Defaulttologgedinlibrarycircrules: When editing circulation rules show the home library or all libraries the rules by default.

  2. Defaulttologgedinlibrarynoticesslips: When editing notices and slips show the home library or all libraries notices and slips by default.

  3. Defaulttologgedinlibraryoverduetriggers: When editing overdue notice/status triggers show the home library or all libraries rules by default.

Additional Resources

Moving Your Consortium to Koha

Monday Minutes: koha-US Special Interest Groups (koha-US has a Consortia Special Interest Group)