HomeAdministration Manual for LibrariesClient & Workstation Setup and AdministrationSetting Up Your Receipt Printers

3.5. Setting Up Your Receipt Printers

Configure Printers

Use the Printer Settings Editor to configure printer output for each workstation. If left unconfigured Evergreen will use the default printer set in the workstation’s operating system (Windows, OSX, Ubuntu, etc).

Evergreen printing works best if you are using recent, hardware-specific printer drivers.

  1. Select Admin → Workstation Administration → Printer Settings Editor.
  2. Select the Printer Context. At a minimum set the Default context on each Evergreen workstation. Repeat the procedure for other contexts if they differ from the default (e.g. if spine labels should output to a different printer.

    printer context
    • Default: Default settings for staff client print functions (set for each workstation).
    • Receipt: Settings for printing receipts.
    • Label: Printer settings for spine and pocket labels.
    • Mail: Settings for printing mailed notices (not yet active).
    • Offline: Applies to all printing from the Offline Interface.
  3. After choosing Printer Context click Set Default Printer and Print Test Page and follow the prompts. If successful, test output will print to your chosen printer.

    set default printer
  4. (optional) To further format or customize printed output click Page Settings and adjust settings. When finished click OK and print another test page to view changes.
page setup

Advanced Settings

If you followed the steps above and still cannot print there are two alternate print strategies:

  • DOS LPTI Print (sends unformatted text directly to the parallel port)
  • Custom/External Print (configuration required)


Receipt Template Editor

The print templates follow W3C HTML standards (see http://w3schools.com/html/default.asp) and can make use of CSS and Angular JS to a certain extent.

The Receipt Template Editor can be found at: Administration → Workstation → Print Templates

The Editor can also be found on the default home page of the staff client.

Receipts come in various types: Bills, checkout, items, holds, transits and Payments.

Receipt Templates

This is a complete list of the receipts currently in use in Evergreen.

Bills, Current              Listing of current bills on an account.

Bills, Historic              Listing of bills that have had payments made on them. This used on the Bill History Transaction screen.

Bills, Payment            Patron payment receipt

Checkin                      List of items that have been entered in to the check-in screen.

Checkout                    List of items currently checked out by a patron during the transaction.

Hold Transit Slip        This is printed when a hold goes in-transit to another library.

Hold Shelf Slip           This prints when a hold is fulfilled.

Holds for Bib Record  Prints a list of holds on a Title record.

Holds for Patron         Prints a list of holds on a patron record.

Hold Pull List             Prints the Holds Pull List.

Hold Shelf List           Prints a list of hold that are waiting to be picked up.

In-House Use List      Prints a list of items imputed into In-house use.

Item Status               Prints a list of items imputed into Item Status.

Items Out                  Prints the list of items a patron has checked out.

Patron Address          Prints the current patrons address.

Patron Note               Prints a note on a patron’s record.

Renew                       List of items that have been renewed using the Renew Item Screen.

Transit List                Prints the list of items in-transit from the Transit List.

Transit Slip               This is printed when an items goes in-transit to another location.


Editing Receipts

To edit a Receipt:

1. Select Administration → Workstation → Print Templates.

2. Choose the Receipt in the drop down list.

3. If you are using Hatch, you can choose different printers for different types of receipts with the Force Content field. If not, leave that field blank. Printer Settings can be set at Administration → Workstation → Printer Settings.

4. Make edits to the Receipt on the right hand side.

5. Click out of the section you are editing to see what your changes will look right on the Left hand side.

6. Click Save Locally in the Upper right hand corner.


Adding System to Hold and Transit Slips for Resource Sharing

Here are instructions to update your hold and transit slips to include the name of the Library System the material is going to, not just the branch. This helps correctly identify the System Hub that items should be shipped to and avoid shipping to the wrong library system.

Go to:

Administration > Workstation > Print Templates




Then choose the Hold Transit Slip from the Template Name drop down box.




In the Template text box, do the following:



<div>This item needs to be routed to <b>{{dest_location.shortname}}</b></div>


and replace it with:

<div>Route item to : <b><i><h2>{{dest_courier_code}}</h2></b></i></div>


Then hit the Save Locally button above the template's text box. Then you can go to the check in screen and check in an item to test. 


Note: You will need to repeat this process to edit the regular Transit Slip template, as well.


Formatting Receipts


and Sitka has some great examples of variables available as well : http://docs.libraries.coop/sitka/_print_templates.html

Print templates use variables for various pieces of information coming from the Evergreen database. These variables deal with everything from the library name to the due date of an item. Information from the database is entered in the templates with curly brackets {{term}}.

Example: {{checkout.title}}

Some print templates have sections that are repeated for each item in a list. For example, the portion of the Checkout print template below repeats every item that is checked out in HTML list format by means of the ng-repeat in the li tag.

<li ng-repeat="checkout in circulations">


Barcode: {{checkout.copy.barcode}}<br/>
Due: {{checkout.circ.due_date | date:"short"}}<br/>

Text Formatting

General text formatting

Date Formatting

If you do not format dates, they will appear in a system format which isn’t easily readable.

Currency Formatting

Add " | currency" after any dollar amount that you wish to display as currency.
Example: {{xact.summary.balance_owed | currency}} prints as $2.50

Conditional Formatting

You can use Angular JS to only print a line if the data matches. For example:

<div ng-if="hold.email_notify == 't'">Notify by email: {{patron.email}}</div>

This will only print the "Notify by email:" line if email notification is enabled for that hold.

Example for checkout print template that will only print the amount a patron owes if there is a balance:

<span ng-if="patron_money.balance_owed">You owe the library

See also: https://docs.angularjs.org/api/ng/directive/ngIf


To print just a sub-string of a variable, you can use a limitTo function. {{variable | limitTo:limit:begin}} where limit is the number of characters you are wanting, and begin (optional) is where you want to start printing those characters.

To limit the variable to the first four characters, you can use {{variable | limitTo:4}} to get "vari".

To limit to the last five characters you can use {{variable | limitTo:-5}} to get "iable". And {{variable | limitTo:3:3}} will produce "ria".


You can use HTML and CSS to add an image to your print template if you have the image uploaded onto a publicly available web server. (It will currently only work with images on a secure (https) site.) For example:

<img src="https://evergreen-ils.org/wp-content/uploads/2013/09/copyEvergreen_Logo_sm072.jpg"

Sort Order

You can sort the items in an ng-repeat block using orderBy. For example, the following will sort a list of holds by the shelving location first, then by the call number:

<tr ng-repeat="hold_data in holds | orderBy :


You can use Angular JS to add information from each iteration of a loop together to create a subtotal. This involves setting an initial variable before the ng-repeat loop begins, adding an amount to that variable from within each loop, and then displaying the final amount at the end.

<div>You checked out the following items:</div>
<div ng-init="transactions.subtotal=0">                             <!--1 -->
<div ng-repeat="checkout in circulations">
<li ng-init="transactions.subtotal=transactions.subtotal -- checkout.copy.price">                           <!-- 2-->
Barcode: {{checkout.copy.barcode}}<br/>
Due: {{checkout.circ.due_date | date:"M/d/yyyy"}}

<div style="font-weight:bold;">Total Amount Owed: {{patron_money.balance_owed | currency}}</div>
<div style="font-weight:bold;border:1px dotted black; padding:5px;text-align:center;">
You Saved<br/>
{{transactions.subtotal | currency}}<br/>                       <!--3 -->
by borrowing from the library!</div>

1. This line sets the variable.
2. This adds the list item’s price to the variable.
3. This prints the total of the variable.


Exporting and importing Customized Receipts

Once you have your receipts set up on one machine you can export your receipts, and then load them on to another machine. Just remember to Save Locally once you import the receipts on the new machine.

Exporting templates

As you can only save a template on to the computer you are working on you will need to export the template if you have more than one computer that prints out receipts (i.e., more than one computer on the circulation desk, or another computer in the workroom that you use to checkin items or capture holds with)

1. Export.

2. Select the location to save the template to, name the template, and click Save.

3. Click OK.

Importing Templates

1. Click Import.

2. Navigate to and select the template that you want to import. Click Open.

3. Click OK.

4. Click Save Locally.

5. Click OK.


Configure Printers in the Web Client version using Hatch :

(Based off Georgia PINES printer documentation )

See also section 1.9  If You Use Hatch


Hatch is an optional installable program that works with your browser to manage complex printing needs (such as printing to different printers under different circumstances) and store local settings (such as column configurations and custom print templates).

At this time, Hatch will only work with the Chrome browser. The instructions here are specifically for Windows machines, but it is also available for Linux machines.

1. Update Java

Hatch requires the Java Runtime Environment (JRE) version 1.8 or higher. If you are unsure which version you have, view your computer's list of programs. You can download the latest version at:


2. Download and Install Hatch

If you had an earlier version of Hatch installed, you may want to uninstall it first. If so, look for the program called “Evergreen ILS - Hatch - Java based Print Service and Local Storage System.”

Hatch Native Messaging Application Installer Version 0.1.5

When you open Chrome, it should recognize that you have the new Hatch Extension installed and prompt you to enable it, but if it does not, you may need to manually enable it:

  1. Go to: the Menu > More Tools > Extensions
  2. Click on the checkbox next to Hatch Native Messenger to enable it.

When Hatch is enabled, you will see a small yellow icon in the top-right corner of the browser.

3. Configure Hatch

  1. Navigate to the web client site.
  2. Log in with your staff account.
  3. Click on Administration > Workstation > Print/Storage Service (“Hatch”).
  4. Check the “Use Hatch for Printing” box. (At this time, we do not recommend storing local settings in Hatch.)
  5. Return to the Home Page (you may need to re-set up your workstation and log in again).


4. Configure Printers

Go to Administration > Workstation > Printer Settings…

Default Tab

  1. Set Printer to go to your laser printer.
  2. Ensure that Paper Type is set correctly.
  3. Adjust any other settings as you wish.
  4. Click Apply Changes.

Receipt Tab

  1. Set Printer to go to your receipt printer.
  2. Ensure that your Paper Type is set to Roll Paper 80 x 297 mm (or whichever roll size your receipt printer uses).
  3. Set Automatic Margins to HARDWARE_MINIMUM.
  4. Click Apply Changes.

Label Tab 
(Most staff will not have a label printer, so this step can be skipped.)

  1. Set Printer to go to your label printer.
  2. Ensure that your Paper Type is set to the appropriate type.
  3. Set Automatic Margins to HARDWARE MINIMUM.
  4. Click Apply Changes.

Mail Tab

  1. Set Printer to go to whichever printer you wish to print mailing addresses to (this may be a laser printer, label printer, or receipt printer, depending on your local configuration).
  2. Set Paper Source appropriately (ie, if using envelopes in a laser printer, choose Manual).
  3. Set the Paper Type appropriately.
  4. Set the Page Orientation appropriately (relevant if printing to something such as an envelope.
  5. Click Apply Changes.

Offline Tab

  1. Set Printer to go to your receipt printer.
  2. Ensure that your Paper Type is set to Roll Paper 80 x 297 mm (or whichever roll size your receipt printer uses).
  3. Set Automatic Margins to HARDWARE_MINIMUM.
  4. Click Apply Changes.

5. Force Printer Context

If your receipts appear to be printing to the default printer even though you have the receipt printer configured, you may need to do this step as well.

  1. Go to Administration > Workstation > Print Templates.
  2. Select the first template type.
  3. Choose the desired printer from the Force Printer Context (ie, Default or Receipt) dropdown.
  4. Click Save Locally.
  5. Repeat for each of the other templates.

If you export your print templates, the export will contain these printer context settings as well.

How to Reconnect Hatch if You Clear Your Cookies

If you clear your browser cookies without having Hatch installed, any local settings you have stored will be lost. However, if you have Hatch installed, you should be able to reconnect to Hatch using these steps and retrieve your settings.

  1. Log in with a LibraryManager or LocalAdmin account.
  2. Create a workstation and click Use Now to log in again.
  3. Navigate to Administration > Workstation > Print/Storage Service (“Hatch”).
  4. Check all three boxes.
  5. Click on the Home icon.
  6. You will be returned to the workstation registration screen again - click Use Now to log in again.
  7. Your local settings should now be restored.

Knowledge Tags


This page was: Helpful | Not Helpful