Customising Receipts

Receipt Templates

All of the default receipt layouts are set in .vm template files which can be freely changed to suit your needs.

The receipt templates are held in:

Win 7/Vista: C:\Users\<your windows user>\AppData\Roaming\Bluefish Retail\Bluestore Live POS\terminal\templates

Win XP: C:\Documents and Settings\<your windows user>\Application Data\Bluefish Retail\Bluestore Live POS\terminal\templates

(note that on win xp and vista, the Application Data folder is hidden by default. To display it, open my documents and go to tools - folder options, go to advanced and click 'show hidden files and folders'.)

Apple Mac: <your user>/library/Bluestore Live POS/terminal/templates

You can change the default delivered templates or create new ones in the same folder. The template file names used by Bluestore Live POS are set in the terminal preferences (see the end of this tutorial for how to set which file is used for each receipt type).

 

Changing Receipt Layouts

Open the receipt template using a text editor (e.g. windows notepad).

Make simple text changes on the receipts or get creative using the flexible commands, parameters and flow control available.

Each line of the receipt can be configured using a number of different commands which are listed in the table below. 

Command      Description
@[bold] Following line text is bold
@[centre] Line text is printed in the centre of the page
@[right] Line text is printer aligned right
@[normal] Formatting reverts to default
@[bitmap{imageFile=X|alignment=Y|width=Z}]

Prints image.

X=Filename and location relative to terminal folder.

Y=Alignment (-2 centre, 0 left, -1 right)

Z=width in pixels (only used when printing to local OS printer) 

 @[barcode{code=$barcode|symbology= $symbology|width=7|height=15|alignment=

-2|textPosition=-13}]

Prints barcode.

$barcode=barcode of currently selected product.

$symbology=defaults to EAN13

width=width of barcode in pixels

height=height of barcode in pixels

alignment=-2 centre, 0 left, -1 right

textPosition=-13 underneath barcode

 @[cut]

Cuts receipt (JPOS only). 

To cut receipt when printing to local OS printer, set the printing properties for your OS printer to always cut after printing.

   

  

Variables are passed into the receipt template to be used when outputting business data to the receipt:

Variable  Description 
 
saleReceipt.vm
$enterpriseName  Enterprise name
$storeNumber Store code
$storeName Store name
$storeAddress Store address
$storePhone Store phone number
$storeMail Store email address
$terminalID Terminal code
$transactionID Transaction number
$currentDateTime Current date and time
$transactionNote Note text added to the sale
$toPay Total sale amount
$items All items in the sale
$orderItem

Item currently being processed.

$orderItem.product Item product which has associated 'name' (product description), 'amount' (item price), 'quantity' (item quantity) and 'cost' (item total value)
$orderItem.itemNote The note text added to the line item
$orderItem.modificators All of the modifiers that are associated with sales line item
$priceModificator Price modifiers such as discounts/charges which have associated 'desc' and 'value'
$currency Sale currency
$discounts Transaction discounts that have an associated 'discountDesc' and 'discountValue'
$charges Transaction charges that have an associated 'chargeDesc' and 'chargeValue'
$toPayFormatted Amount to pay formatted with currency symbol
$tenders Payment methods applied to the sale. Has associated 'tenderType', 'tenderName' and 'tenderAmount'
 $change The amount of change given to the customer
 $taxes Amount of tax on the sale. Has associated 'taxName' and 'taxValue'
$vatNumber

VAT Number / Tax Reference of the store

$userName

Name of the cashier who finalised the sale

   
drawerChangesReceipt.vm
$enterpriseName  Enterprise name
$storeNumber Store code
$terminalID Terminal code
$transactionID Transaction number
$currentDateTime Current date and time
$transactionType Type of drawer transaction
$currency Currency of the drawer transaction 
$value  Value of the drawer transaction
$reason Reason for the drawer transaction 
$userName Name of the user who performed the transaction 
reconcileDrawerReport.vm
$enterpriseName  Enterprise name
$storeNumber Store code
$terminalID Terminal code
$currentDateTime Current date and time
$user User who ran the report
$reconciles Reconciliation amounts for all tenders. Have associated 'name', 'calculatedAmount', 'physicalAmount', 'discrepancy'.
$currency Local currency of the store
$firstTransNumber The first transaction number used in the terminal session
$lastTransNumber The last transaction number used in the terminal session
$countTransByTerminal The number of transaction events in the terminal session
$countTransByStore The number of transaction events in the store session
$numberSales The number of sales made in the session
$totalSales The total sales value in the session
$tenders List of each payment method used in the session. Have parameters 'name', 'currency' and 'totalAmount'
$cashTotal Total of cash payments in the session
$nonCashTotal Total of non-cash payments in the session
$totalAmount The amount of the drawer float for the session
$paidOut Ad-hoc payments made out of the drawer during the session
$paidIn Ad-hoc payments into the drawer during the session
$pickup Ad-hoc removals from the drawer such as to the safe or bank
$taxEnable True if prices are tax inclusive, false if tax is to be added to prices
$taxes Tax code values for the session. Takes parameters 'name' and 'value'
tillStatusReport.vm (X-Report)
$enterpriseName  Enterprise name
$storeNumber Store code
$terminalID Terminal code
$currentDateTime Current date and time
$user User who ran the report
$currency Local currency of the store
$firstTransNumber The first transaction number used in the terminal session
$lastTransNumber The last transaction number used in the terminal session
$countTransByTerminal The number of transaction events in the terminal session
$countTransByStore The number of transaction events in the store session
$numberSales The number of sales made in the session
$totalSales The total sales value in the session
$tenders List of each payment method used in the session. Have parameters 'name', 'currency' and 'totalAmount'
$cashTotal Total of cash payments in the session
$nonCashTotal Total of non-cash payments in the session
$totalAmount The amount of the drawer float for the session
$paidOut Ad-hoc payments made out of the drawer during the session
$paidIn Ad-hoc payments into the drawer during the session
$pickup Ad-hoc removals from the drawer such as to the safe or bank
$taxEnable True if prices are tax inclusive, false if tax is to be added to prices
$taxes Tax code values for the session. Takes parameters 'name' and 'value'
stockMovementsReceipt.vm
$enterpriseName  Enterprise name
$storeNumber Store code
$terminalID Terminal code
$currentDateTime Current date and time
$transactionType Type of drawer transaction
$stocks The line items involved in the inventory transaction. Has parameters 'reason', 'product' and 'productQuantity'
$userName Name of the user who performed the transaction 
Label output - default.vm
$productName  Product name
$barcode Barcode assigned to the product

 

There are also special commands for controlling the output flow in the receipt which can be used as required:

---------

#if(<statement>)

if <statement> is true this section will be processed

#end

---------

#set( $p = <value>)

Set variable $p to be equal to a particular value.

---------

#foreach(<x> in <y>)

Run through loop over array <y> using current value <x> in step processing.

#end

---------

Changing the Receipt Logo

The default receipt logo is ..\templates\logo\logo.bmp

This can be changed in the @[bitmap] command for each receipt template, or alternatively just overwrite the logo.bmp file with your own.

The bitmap should be a true black and white image i.e. only black or white pixels, no grey scale and for 8cm (3") receipt paper should be a maximum of around 360 pixels wide.

We have had reports that generating the bitmap in illustrator does not work very well as it doesn't produce a true black and white image. Open and save the logo in plain old windows paint for best results!

Setting The Template Files Used for Each Receipt

To set the template file that will be used for each receipt, on Bluestore Live POS navigate to Tools - Preferences and scroll down to receipts printing. Each type of receipt can be maintained by selecting the required entry and clicking 'change option'.

The directory for each receipt type is fixed so you should create your own templates in the same directory as the default.

Setting the Printer Code Page

(Note: This setting is only relevant to printing with JPOS drivers. For printing to a local OS printer, the windows/mac/linux driver will control the code page used.)

The code page setting allows you to influence the printer's internal character set in order to print using cyrillic, nordic or other characters supported by your printer.

Code 437 is the default for western character sets. Consult your printer documentation for codes to use if you need to print using a different character set.

Some other character sets supported by the Epson TM-T88V are:

  • Multi-lingual 850 (includes additional accented characters and symbols)
  • Portuguese 860
  • French-Canadian 863
  • Nordic 865
  • Cyrillic 866
  • Euro 858
Have more questions? Submit a request

0 Comments

Article is closed for comments.
Powered by Zendesk