Output formatting is used to prepare the appearance of output for devices such as screens and receipts. The tokens below supply the means by which text can be arranged before display. Price Formatting
%TIME%
| Symbol | Description |
| 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 |
| 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 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. |
| 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. |
A range of symbols that reflect the current state of the system. Most of these symbols are useful to POS Script writers.
| Symbol | Description | ||||||||||||||||||||||||||||||||||||||||
| CTX.BARCODE.keyword | Symbols that reflect the state of the current scanned barcode.
| ||||||||||||||||||||||||||||||||||||||||
| CTX.HTTPREQUEST.keyword | If the context relates to a Web Http Request, these context values hold the incoming
client details
| ||||||||||||||||||||||||||||||||||||||||
| CTX.setting.keyword | Symbols that show the current underlying settings on the context and system. These
context symbols are not frequently used.
The keyword can be any valid Setting Name |
A range of totals that get reset on user demand, typically at the end of a shift.
General form:
hardtotal.scope.item
Scope, either system, lane or user. lane gives on the totals for this lane, while system gives the totals for the whole store. The user scope is used to fetch user managed counters
| item | Scope | Description |
| salecount | lane | Number of sales run within the scope. |
| totalcash | lane | Amount of Cash received. Technically, identical to totalpayment.1 |
| totalpayment.type | lane | Total amount of money received as payment type. The type field indicates the payment type number as set in the Payment configuration section. |
Example:
hardtotal.lane.salecount
Display the number of sales run on this lane since last close.
This is an optional set of symbols which provide information about the Windows environment in which the POS is running.
This symbols can be used individually, or via the System Information report page.
These symbols are documented under the sysinfo section
Provides values relating the the system configuration currently being used. This allows you to retrieve the exact setup of a database and POS system. These symbols are most useful for remotely checking the configuration of a system. All these symbols are prefixed with config.
| Keyword | Description |
| accounts | POS controlled accounts are enabled |
| plu | PLU encoding on products present |
| gih | Inwards Goods History Recording |
| fuel | Integrated Fuel Controller Present |
| appro | Goods on Approval support |
| tnotes | Per Customer Notes |
| cloths | |
| shifts | |
| maxbuy | |
| future | |
| avecost | |
| fashion | |
| writeoff | |
| dispatch | |
| multiplu | Enable a product to have more than one PLU code |
| security | Full Security, where tellers are required to login to perform restricted functions |
| custtrack | |
| multilang | Multiple Language Support for tellers |
| multistore | |
| slavestore | |
| extloyalty | External Loyalty System installed |
| purchasing | |
| stockrecon | |
| qtymultiple | |
| splitscreen | System is configured for split screen operation where two tellers can share a POS PC at the same time, using separate keyboards. |
| productposc | |
| headproducts | |
| productreward | |
| tellerbarcode | Tellers can login using a barcode scan |
| paymentfilters | |
| paymentpreposc | |
| foreigncurrency | |
| paymentpostposc | |
| zeropoint | Is Stock level zero pointing enabled |
| floatlog | Separate recording and management of Cash Drawer Floats |
These symbols display data about the current sale as a whole, such as the customer, the account and various totals.
These symbols display data about totals on the current sale as a whole.
| Keyword | Description |
| 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). |
The printing of product fields cannot be accomplised using the above simple symbol method. This is because the range and variation of product fields available across different industries would make the number of symbols required very large.
Product data is displayed instead using a format block, which involves wrapping details of the product field inside the block, along with instructions on how to format the data. These blocks are not placed inside percent signs, where-as the symbols described above are.
General form:
[sl(field-name),format]
Examples:
[sl(description),20]
[sl(totalprice),R8]
The field name argument, is any field from the salelines or product table in the database. You can therefore print any field that relates to this product or saleline.
The format argument takes one of the following values:
| Value | Meaning |
| Lnn | A number alone. Indicates that the data should be placed in a field nncharacters wide. The data is padded or truncated as required. |
| nn | A number alone is treated as if a leading 'L' had been specified, see above. |
| Rnn | A number prefixed with the letter R. Indicates that the data should be placed in a field nncharacters wide, and right justified. The data is padded or truncated as required. |
| b*1 | Used for True/False fields. If the value of the field is 0,N or n, then the output field contains a single space, otherwise it contains an asterik (*) |
In version V2.4.4.8, an alternative form a saleline totals was enabled. This form is %salevalue.total.field.list-of-values% This symbol takes on the
total price for all salelines which meet the selection criteria. The field argument is any valid saleline or product field, and the list of values is a comma separated list of values. If the value of field
is in the list of values, then the total for that line is included in the total, otherwise it is not. The field argument must specify a field that can be expressed as a number.
Examples:
%salevalue.total.mmid.0,1% | The total of all unit measured items (mmid either 0 or 1). Note the 0 and 1 are separated by a comma. |
%salevalue.total.r_depid.6% | The total of all products in department number 6 |
Printing of payment fields is accomplised using the same method as saleline and product data, execpt that the prefix changes from sl to pay. The following payment specific information fields are available.
General form:
[pay(field-name),format]
The field name argument takes one of the following values, or any other field on the payments table:
| Value | Meaning |
| amount | The value amount of the payment |
| type | The type of the payment, such as cash, EFT or rounding |
| foreignrate | The rate of exchange used on this payment, if the payment is a foreign currency. |
| foreignamount | The original foreign currency amount before being converted to the local currency |
Where the symbol uses a formatting extension, you can specify the way in which the data should be presented on the screen or paper, such as right or left aligning text.
Syntax: [ L | R ] width
The first parameter specifies left or right justifcation respectively. If not specified, the format usually defaults to left justified output.
The second parameter defines the width of the output. This width is formatted using text -widths for the current font, not pixels or other fixed metrics.
If you wish a line to be centered, see the PAD keyword above.
Example:L22 - Left justified in a field 22 characters wide.
Example:R8 - Right justified in a field 8 characters wide.