Fieldpine Logo Documentation Home  

POS Symbols

Symbols are used to display text on screens, receipts and other areas. When the POS detects a symbol it dynamically replaces the symbol with the current value. This permits you to define receipt formats etc that vary dynamically from moment to moment.


The following list includes version information of when a symbol was added or changed. These lines appear like (P1797) This symbol .... The P1797 indentifies the version number. If no version number is supplied, then the symbol has been present for a long period and should be in all current versions.

Jump to: Receipt Symbols

Generally Available Symbols

%TELLER%
Inserts the relevant Teller name. There are several names present for a teller/staff member and you can control which name is used. For security and privacy reasons we recommend making the printed name unique and friendly, but do not use full names that could allow staff to be located outside the store.

The name is selected using the following rules:

  1. (P1797) If the field "nameprinted" exists in the staff definition AND this value is not blank, this value is used.
  2. (P1800) The setting TellerPrintSearch can be defined to a comma seperated list of field names. The system will scan each of these fields in order and use the first non blank value found. This permits you to define a list of preferred fields, but not enforce data capture in every field. For example:

    TellerPrintSearch=nickname,firstname,lastname

    Current Tellers values:
       Nickname=""
       Firstname="Louise"
       Lastname="Chin"

    The value printed will be "Louise", as the first search field, nickname, is blank but the second search field, firstname, has a value.

  3. The name is taken from the "name" field in the staff definition.
%sale.phase.receipttext%
(P1812) Insert text describing the current phase of the sale, ie whether is is complete, in progress etc. This symbol can be useful for receipts that are printed as job dockets, or layby slips, that are later upgraded to normal sales. This symbol correctly decodes for reprinted historic sales.
%saleline.paymentallocated%
(July 2014, P1811)The total amount of payments that have been directly allocated to this particular saleline. Some systems can be configured to allocate payments to specific items over others, and this symbol returns that amount for each item. Payment allocation is an advanced feature and not present in all configurations.
SYSDATE
The current system date. This value should not normally be used on receipts, as this will result in the current time being used for the sale, rather than the original time the sale was made.
SYSTIME
The current system time
%SYSTEMNAME%
Returns the current computer name, taken from the setting HostName, gethostname() or GetComputerName() processed in that order until a valid response is found.
TIME
The time of the sale
DATE
The date of the sale
RULE
Draws a single pixel high horizontal line. Only used on receipt printers to generate ruled lines.
CHANGE
The total amount of change owing.
SALETOTALOUTCASH
Total amount outstanding on the sale, after rounding. This is typically the cash payment amount still due.
SALETOTAL
The total value of the sale
SALETOTALTENDER
Total amount tendered for this sale from all sources.
TELLER
The active teller for this sale.
UNDO
Displays the next action that will be undone for this sale, if the sale(undo) command is given.
GST
Inserts the GST number on this sale. Use of this symbol is not recommended
SALEGST
The total amount of GST in this sale for countries that have a single rate of product taxation.
FIELD
Not documented at this time
PAD
When a line length is known, this symbol inserts as many spaces as required to completely fill the line to the width. If the line length is unknown, or the line is already longer than the length, this symbol does nothing.
BLANK
If the line contains only static text and totals that evaluate to zero, this symbol causes the complete line to be blanked, and where possible, not output.
BLANKNODISCOUNT
Blank this line, if the current sale being processed does not have any discounts (line or sale discounts) present. This option is commonly used on receipts to provide different total formats for discounted and non discounted sales.(Implemented: V2.4.4.29)
BLANKDISCOUNT
The reverse of BLANKNODISCOUNT described above. Blank this line if the current sale has discounts present.

Example
%BLANKNODISCOUNT%Gross Sale Total%%salevalue(0,9)%
%BLANKDISCOUNT%Total Sale%%SALETOTAL%

The above example shows how a different line can be printed depending on whether the current sale has discounts present or not. Only one of the two lines above will actually cause output on the customer receipt.

nnn
Inserts the single ASCII character given by nnn. This must be exactly three decimal digits.
LASTSALE.N.SALETOTAL
The total value of the Nth completed sale in history. N must range from 0 (last sale completed) to 4 (being the 5th oldest sale completed). This symbol is used for display on operator screen as a reminder of the value of the last sale.
LOCNAME
The current name of the store location being used. Useful for printing on End of Day sheets and when using a Head Office Server.
SCREEN
The current screen name. If the screen is a variant screen, then the variant name is used. This symbol is most useful when creating programmable buttons on variant menu screens.
RID
The current RID value on the system.
%pos.database%
The filename of the database in use
%pos.work%
The requested working directory
%pos.workfull%
The working directory in use
%pos.viruscode%
Virus detected code
%pos.liccode%
The first licence code registered, which is typically the active licence
%pos.systemid%
Current SystemId code
%pos.uniqueid%
The allocated unique identification number
%pos.cpuserial%
The CPU serial number. This setting is deprecated and may be removed in a future release
%pos.company%
Reserved to Fieldpine
%pos.activecompany%
Reserved to Fieldpine
%pos.dbid%
The database id that uniquely identifies the database being used. Warning, may not be the true dbid. Use this symbol with caution
%pos.version%
The short version of the POS. This value is less useful now as Fieldpine version has moved to using a single "Patch Level" called PLevel, and the version reported by this symbol rarely changes.
%pos.versionfull%
The extended version string, including the P level as the last part of the string
%pos.expirydate%
Licence expiry date, if present
%pos.startdate%
Date/Time the POS was started
%pos.uiversion%
Version of the UI in use
%pos.siteversion%
A site specific version. This value is reserved for customer sites.
%pos.httpport%
The HTTP port this port is listening on
%pos.sprotocol%
Server protocol in use
%pos.httplist%
Comma seperated list of all HTTP ports in use
%pos.hostaddress%
Full IP and Port of the POS
%pos.environment.xyz%
Return the environment variable xyz. For example pos.environment.SystemRoot returns the environment variable SystemRoot
%pos.cpu.xyz%
Access System physical attributes. eg pos.cpu.pctype for type of computer and pos.cpu.uuid for BIOS id. This setting is intended for support purposes rather than general use.
%data.activesale.receiptmessage%
Inserts a custom message, typically on receipts and invoices. The value displayed is taken from the following. The first match is used
  1. A customer specific message for the sales customer (Edit each individual customer to define this)
  2. An account specific message if the customer has an account (Edit each individual account)
  3. A store/location specific message (Edit each store)
  4. A catchall message (Defined under setting / your details)
message.G.M
Inserts the value of the message given by G.M from the message file. The message is fetched from the language file for the current teller. This means the message can be language/teller dependant.
salevalue(0,0)
Total value of sale
salevalue(0,1)
Total amount of sale still to be paid
salevalue(0,2)
Total amount of sale still to be paid, if paying in cash. That is, the amount is rounded according to current rounding rules.
salevalue(0,3)
Total value of sale when rounded for cash
salevalue(0,5)
Total value of sale, excluding any items not eligible for discounts
salevalue(0,6)
Total value of sale, excluding items not eligible for discounts, and less any discounts currently applied
salevalue(0,8)
Total discounts on the sale, both line and sale discounts
salevalue(0,9)
Total raw price from salelines, ie excluding all discounts
salevalue(0,10)
The difference between rawprice and totalprice
salevalue(0,11)
Total amount of item discounts
salevalue(0,12)
Total amount of sale discounts
salevalue(0,13)
Total amount of sale, less line and sale discounts. Since sale discounts are treated as payments, this figure will be after sale discounts have been applied, and will not equal the total amount of physical payments (such as cash).
salevalue(0,14)
Total price exclusive of tax, 0 on systems that are tax inclusive.
salevalue(0.15)
Sub total, like 0.0 but without tax on tax systems which are tax exclusive
salevalue(0,16)
Total effect of store wide markdowns
salevalue(0,17)
Total of reward gaining products
salevalue(0,18)
(Dec 2011, P1680) Total of lines where price is still the original listed retail price
salevalue(0,19)
(June 2014, P1804) Total lines ex tax, where possible to calculate. This value cannot be calculated in every environment, especially those with conditional tax rules.
salevalue(0,20)
Total discounts on lines
salevalue(0,200)
- total sale, but adjusted to show any surcharge still pending
salevalue(0,201)
- total amount to pay by fee types (typically credit card)
salevalue(0,1000)
Total of Tax Amount #0

Receipt Symbols

These symbols can be used in receipt formats

sl(discounttotal)
sl(discounttotalblank)
sl(discountcount)
sl(quantity)
sl(quantityunit)
sl(quantitycust)
sl(totalprice)
sl(ticketprice)
sl(barcode)
sl(totalpricemod)
sl(unitprice)
sl(unitpriceextax)
sl(unitpricemod)
sl(rawprice)
sl(modifiercodes)
sl(paymentallocated)
sl(work.*)
sl(price.XYZ)
(P1836) Individual Item Price. There are several prices maintained internally and the following table outlines which symbols can be used to extract the individual price components.
Ticket PriceUnit/Base PriceTotal Price
In Delta Out In Delta Out In Delta Out
Including all taxes price.360 price.330 price.325 price.350 price.320 price.365 price.355 price.335 or price.205
Tax #1 only price.361 price.331 price.326 price.351 price.321 price.366 price.356 price.336
Tax #2 only price.362 price.332 price.327 price.352 price.322 price.367 price.357 price.337
Tax #3 only price.363 price.333 price.328 price.353 price.323 price.368 price.358 price.338
Excluding taxes price.364 price.334 price.329 price.354 price.324 price.369 price.359 price.339

For example, to retrieve the value of Tax#1 which is the primary tax in most areas, use symbol sl(price.321)

Ruled Lines
%RULE%
Inserts a ruled line. With version P1857 you can extend this rule line to specify width, style and color. The syntax for specifying a complex ruled line is %RULEwidth,style,color% where width is a number, style is "solid", "dot" or "dash". Color is defined using 3 RGB triples or simple color names

Examples:

		%RULE10,dot,blue%
		%RULE2,solid%
		%RULE5,dash,255,0,0%
	


Printing Symbols

These symbols can only be used when creating a print job, be it a physical print, PDF generation or email generation.

%data.printer.width%
The width of the page in mm. This value is taken from Windows for the printer in use.
%data.printer.name%
The name of the print queue currently being used
%data.printer.ieprint.header%
%data.printer.ieprint.footer%
Returns any pre configured header or footer that is printed on each page. We suggest putting the following on html templates to disable any system default.
<fieldpine-set name="printer.ieprint.header" value=""></fieldpine-set>
<fieldpine-set name="printer.ieprint.footer" value=""></fieldpine-set>
%data.printer.ieprint.margin_left%
%data.printer.ieprint.margin_right%
%data.printer.ieprint.margin_top%
%data.printer.ieprint.margin_bottom%
Returns the page setup margins currently in use. Values are returned in mm. These margins are set inside the browser, not Fieldpine.

A html template used for printing can temporarily override these values with the following command. This is sometimes required to reset the margins on 80mm recept printers without needing to reset the system wide settings.

<fieldpine-set name="printer.ieprint.margin_left" value="0"></fieldpine-set>

%data.printer.ieprint.print_background%
%data.printer.ieprint.shrink_to_fit%