Tech Blog

Patron Purge in Alma

This outlines the patron purge workflow developed with the help of Ex Libris support staff and numerous colleagues at other institutions.

One goal of this workflow is to prevent unintended mistakes that could purge “good” patron records.

Please note that screenshots are from several different runs so specifics can change.

Also note that you can right-click on the screenshots to see them better.


Sources of documentation include:

It is recommended that you review all the above information and that you understand this process completely before attempting it.  The documentation describes the safeguards in place to make sure you do not purge patrons that shouldn’t be purged.  Make sure you understand them.


Before you start, check your Delete User Policy in Alma Configuration > User Management Configuration > General > Delete User Policy.  I suggest “Keep Statistics”

But then note that if you chose this option, you will want to keep it in mind when you do patron reports in Alma Analytics.  Patrons with a status of deleted have their Primary ID moved to their Last Name.  It can cause problems in your analytics reports if you do not filter those patrons out.

The purge job may be run in one of 3 modes:
•    Keep Fully Reportable — The user’s status is deleted, all requests are canceled, and the identifying string is deactivated. The rest of the user’s data is retained in the system.
•    Keep Statistics — Only the user’s statistical data is retained. The data is deleted on all tabs on the User Details page except for the Statistics tab and other non-identifying statistical data, such as the user group and job category.
•    Fully Remove — Removes all user data upon deletion, including statistical data.



1.   Decide which patron group(s) you want to work with.  For example, Undergraduate Students or Graduate Students.  Each of these groups must be dealt with separately.

The first step is to use Analytics to get your patron group spreadsheet ready.  This is done in two subject areas.

The recommendation is to look at expiry dates that are at least a year in the past. But this is up to you. In the above example we are setting it to be less than 1/1/2016. We are using the Users Subject Area.

Run the report and save it as a spreadsheet.

My report name is: Under Grad Users with expiry before 1-1-2016 includes PURGE DATE

A second report is created in the Fines and Fees subject area.

Next, run a second report that will list the same patrons if they have Fines/Fees. This group will be manually removed from the previous spreadsheet, just to be super-safe so as to not purge them.

Save this as a second spreadsheet (for documentation purposes) and remove these patrons from the first spreadsheet, using the method you prefer.

My report name: Fines and Fees Undergrads additional fine fee type criteria filter expiry before 1-1-2016

You are now done with Analytics.

So now you have your spreadsheet of patrons to purge.  They all have Expiry Dates prior to 1/1/2016 and have no Fines/Fees.

Below you will see that the spreadsheet requires some alternation before it can be used in Alma.  But save a copy of this for your work archive.

2.  Add or ensure having a distinct User Group (just as a precautionary measure) in Alma Configuration > User Management > User Details > “User Groups”

(UPDATE: You may want to create separate purge groups for each of your original patron groups — for example “Purge Undergrads” and “Purge Grads” — that way you can retain the original patron group as opposed to using one big “generic” purge group).

Just add a distinct User Group:


Alma Configuration > User Management > User Details > “User Record Type/User Group”

Note what User Record Types you set your distinct Purge group as. You’ll need that information later.

3. Based on the above Analytics report, prepare the Excel spreadsheet for Alma (e.g. keep 1 column, and if it contains Primary ID, name the column: USERNAME):


  1. 10266662
  2. 10267432

4. Create itemized users set:

  • Go to: Admin > Manage Sets
  • Add Set > Itemized
  • Set Content Type: Users
  • And then import your USERNAME file

Click Save.

This is the set you will modify to prepare to purge the patrons. This modification will change their patron group and their Purge Date.

Here are the users:

5. Admin > Run a Job –> Type: Users –> Update/Notify Users

Go through the steps. First, select the set.

Make sure you select the right set!

For the next step, make sure you set a Purge Date in the past (we recommend 1 week or 1 month), and assign your special and unique User Group for these users

Those are the two changes you will make.

Next –> double and triple check the configuration for the change. Always smart!

Submit and confirm:
You’ll see it running:


It will complete:


You can check your log:

You can go into the patron record and check as well:

6. Go to Admin > User Management > Purge User Records

  • Add Job
  • You can leave “Number of days” as blank, you must indicate User Group (use the unique/distinct group created above), and Waive Threshold is 1 or higher.

These settings are incredibly important! Pay Attention To Them!

Run the job (“Add and Close”)


The job runs:

The job completes successfully:


You can check your log file:



Note that while the patron records are removed from Alma itself, pay attention to what is said in documentation like this:


“Purged users are still reportable in Analytics.”

Thus your specially created “Purge” user group may need to be removed from various Alma Analytics reports if you do not want those data reported.  Or you can remove them by filtering out the Deleted status.

Here’s an example:

Above is the “before” report.

Below is the “after” report.

See the Online Help about Analytics:

One Reply to “Patron Purge in Alma”

  1. Hi there – can you clarify what is meant by “identifying string”, in the section that says:

    “Keep Fully Reportable — The user’s status is deleted, all requests are canceled, and the identifying string is deactivated. The rest of the user’s data is retained in the system.”

    Is this referring to the primary identifier? Other? Some combination of fields?


Leave a Reply