Koha How-To

Setting Up Self Registration for your library

We have received many support tickets asking for assistance in setting up Self Registration on the OPAC. This blog post will take you through the system preferences and steps in setting this up!

There are several system preferences that are tied to setting up Self Registration for your OPAC.

System Preferences:

  • PatronSelfRegistration
  • PatronSelfRegistrationAdditionalInstructions
  • PatronSelfRegistrationBorrowerMandatoryField
  • PatronSelfRegistrationBorrowerUnwantedField
  • PatronSelfRegistrationDefaultCategory
  • PatronSelfRegistrationEmailMustBeUnique
  • PatronSelfRegistrationExpireTemporaryAccountsDelay
  • PatronSelfRegistrationLibraryList
  • PatronSelfRegistrationPrefillForm
  • PatronSelfRegistrationVerifyByEmail

1. Determine which fields you would like this new patron to fill out (PatronSelfRegistrationBorrowerMandatoryField) - such as First Name, Last Name, etc. Here is a link to the borrower table in the schema. Just pick and choose which fields from the list provided.

2. Determine which fields you don’t want on this Self Registration Form (PatronSelfRegistrationBorrowerUnwantedField). Just pick and choose fields from the list provided.

3. Determine what Patron Category code these registrations will be assigned to. Most libraries use “SELF” - if you are going to use a new patron category, you will need to create a patron category. Whatever Category you choose, you will enter this CODE into this system preference: PatronSelfRegistrationDefaultCategory. Self registration won’t appear unless this system preference has been entered.

4. If you are a multiple branch library and self registration is only available in some branches, add the branches that will allow self registration (by their code) into the system preference: PatronSelfRegistrationLibraryList.

5. Define the system preference that determines whether the User Name/Password is or is not given to the patron when the self registration is done. PatronSelfRegistrationPrefillForm has the option to “Display and prefill” or “Don’t display and prefill.” If the library chooses to Display and prefill, when the patron registers on the OPAC, they will receive this on the screen once the registration has been completed:

6. The login and password will appear on the left, and the login on the right will be already entered for easy access to their account in the OPAC. The card number has also appeared to the patron who has self registered - this will ONLY appear if your library has the system preference : AutomemberNum turned on- which will automatically assign the next card number to the new patron.

7. Another system preference for self registration is PatronSelfRegistrationVerifyByEmail. If you would like your patrons to verify their account with an email, this system preference can be set to Require. If required, the email field will be a mandatory field in the self registration process and the patron will not be able to use their new account until they acknowledge the email that Koha will send. If your library does not need the patron to verify by email, then see Step 5 which will allow your patron to be logged in with that system preference set as Dispay and prefill. This system preference leads into the next system preference because they relate to one another.

8. You can set the PatronSelfRegistrationExpireTemporaryAccountsDelay system preference to delete the un-verified self registrations after a certain number of days. This will require the “Clean up database” cron to be turned on. If this is turned on and a value of # of days is set in the system preference, the cron will run nightly to clean up any registrations that have not been verified via email.

9. If the system preference PatronSelfRegistrationEmailMustBeUnique is set to Consider, when a patron is self registering, their email will be checked with your database to see if the email already exists in your system.

10. The system preference that will allow for Self Registration to be activated is PatronSelfRegistration -this will need to be set to Allow.

11. The last system preference that is part of this process is PatronSelfRegistrationAdditionalInstructions which allows the library to add HTML to the preference for more instructions to the user. This will be displayed on the page the patron sees after successfully registering for their library card. See the first image, this area is highlighted in yellow.


A few fields that a library may want to exclude (add to the System Preference: PatronSelfRegistrationBorrowerUnwantedField) would be categorycode, homelibrary, dateofbirth (unless you collect this info), and expirydate.

Expirydate is not a field that the patron can fill out during the self registration process, but it does appear in the form unless added to the PatronSelfRegistrationBorrowerUnwantedField system preference.

Categorycode will appear as a drop down menu for the patron to select a category code. Since PatronSelfRegistrationDefaultCategory requires library to select a default patron category for self registered patrons, we recommend adding categorycode to the PatronSelfRegistrationBorrowerUnwantedField system preference.

If you want to track your Self Registrations, it is also helpful to create a unique code for these self registrations.

During the Self Registration process, there will be a Verification code that your patrons will have to enter- this is used to make sure that this is an actual person creating the registration.


A report can be added to your Koha Report Library to allow staff to gather new patrons that have self registered. This report can also be scheduled at your desired frequency and emailed to the library, if preferred. If you would like a report to be scheduled and you are a partner of ByWater Solutions, please submit a ticket and we would be happy to assist!

This SQL will give the library the patron's name, the date they enrolled, and the patron's email and display all registrations from the last 30 days. The category code of the patron category your library designated could be different in this report, so verify what code your library is using.

SELECT borrowers.dateenrolled, borrowers.cardnumber,borrowers.surname,borrowers.firstname, borrowers.email,
FROM borrowers
WHERE borrowers.categorycode='SELF' AND DATE_SUB(CURDATE(),INTERVAL 30 DAY) <= borrowers.dateenrolled
ORDER BY borrowers.dateenrolled

Note: The category code of the patron category your library designated could be different in this report, so verify what code your library is using. This report is using the code, SELF.

Other Self Registration Helpful Blog Posts

How to set up an online resources only self registration

Automatically Delete Self Registered Patrons

Monday Minutes: Digital Library Card

Aspen Discovery

If you integrate with Aspen Discovery, here are some resources to get you started!

Aspen Weekly: Self Registration

Aspen Discovery Help Center