Skip to main content
  • Subscribe by RSS
  • Ex Libris Knowledge Center

    Overview of the Voyager patron record purge

    • Product: Voyager
    • Product Version: 9.1.1 and later
    • Relevant for Installation Type: Multi-Tenant Direct, Dedicated-Direct, Local, TotalCare



    Overview of the Voyager patron record purge.


    The Voyager patron record purge allows libraries to maintain current patron data and ensure patron confidentiality.  

    The patron record purge is a server-level program that deletes patron records in batch based on the Purge Date or Expiration Date found in individual patron records. Note that these dates are related to the patron "record" and not the "barcode" (See also: Expiring patron records in Voyager).

    Library staff identify a cut-off date for the purge, based on local best practices.  

    The purge program will delete all patron records dated before the cut-off date, except for individual records with any linkages within the database (for example, items charged and other "exceptional" situations -- see details below).

    Technical details about patron record purge (Voyager Circjob 39 and the XML PpatronPrg shell script) are found in the Voyager Technical User's Guide. Both Circjob 39 and the PpatronPrg shell script can be run from the command-line and also WebAdmin.

    Voyager Support recommends that libraries only select a cut-off date for the purge that is a date in the past.  A common cutoff date is one that allows for records that have expired in the last year to remain in the database. For example, if the purge is being requested in December 2017, the cutoff date could be December 1, 2016, or earlier.

    Once you have selected a cut-off date, and have selected which date field (Expiration or Purge Date) to use, you should briefly review the list of records that may be deleted (you can use Prepackaged Access Reports to do this). As noted above, the Patron Record Purge will delete any patron record that has an expire date or purge date earlier than the cut-off, AND that is not linked to any current activity, such as circ charges (regardless of age), fines, requests, and the like.

    Note that patron records that have no data in the date field will be skipped by patron record purge.

    As noted above, patrons with current fines and fees will be blocked from deletion. Voyager provides an option for you to say whether to delete patrons with historical fines or fees (i.e., patron XYZ paid a fine of $$$ on <date>, etc.). You will find the setting that controls this option in the System Administration client: open SysAdmin, select Circulation, then select Miscellaneous. If the box for “Allow Deletion of Patron With Historical Fines” is checked, then patron records with historical fines or fees will be eligible for deletion.

    If this option is not enabled in SysAdmin, then the purge program does not delete patron records that have historical fines or fees. 

    The purge program will delete all individual records whose Expiration or Purge date is before date entered here (patron records with dates that match the date entered will not be deleted), and if there are no exceptions to prevent the deletion (see "Additional Information" below).

    A test mode is available for patron record purge and should be used to review the records that will be deleted or blocked.

    The log file will contain at least one line for each patron record examined.  Each line reports whether the record will be/was deleted or not, and if not deleted, an indication of the exceptional situation(s).


    DELETED | 1 | LastName1 | FirstName1
    DELETED | 2 | LastName2 | FirstName2
    NOT DELETED | Current Fees | 5 | LastName3 | FirstName3
    NOT DELETED | Current Charged Items | 5 | LastName3 | FirstName3


    As the Technical User's Guide describes (Chapter 9, Procedure 9-3), there are three timestamped files that are created and placed in /rpt.  The circjob.log file is also updated with summary information.


    Starting with Voyager 9.1.1. there is an option in Ppatronprg to purge selected patron records using a list of Voyager Patron Record IDs (note: NOT IIDs).


    Additional Information

    See also: Trying to delete patron record and receive "Unable to delete patron" error

    The following lists the exceptions that will block a patron record from being deleted.

    Patron Record Purge Names and Exceptions 

    itemscharged: current charged items

    holdrecall: current hold/recall

    finesfees: current fees

    demerits: current demerits

    exception: a circulation transaction exception has been logged against the patron

    bookings: current media schedule bookings

    callslip: current call slip requests

    routinglist: patron is on routing list

    shortloan: current short loans

    proxy: patron is proxy for another patron

    ubcharge: current UB charges

    ubfine: current UB fines

    ubrequest: current UB requests

    ubdemerits: current UB demerits

    stubexists: a stub record exists for the patron in another database

    historicalfines: historical fines or fees NOTE: If global parameter, Delete Patrons with Historical Fines, is set to Y, patron records with historical fines/fees are eligible for deletion.



    • Article last edited: 31-Aug-2020
    • Was this article helpful?