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
0 Comments