Fieldpine Logo Documentation Home  

Settings Reference

Settings control the internal operation and setup of the system. Some settings are local and specific to the individual lane, others define values across the retail chain. Information on this page is not introductory

Changing settings directly is not recommended unless you clearly understand the implications. You should always use menu options where possible to change settings, as not all settings are standalone, or may have pre conditions and unexpected side effects

Fieldpine Online

Indicates of this lane is using Fieldpine Online services. Should be the same value throughout the retail chain.
Used to manually cause Mesh replication to write to customer specific files. These files are then managed and replicated outside of POS control


Sets the maximum size in bytes that upstream files should be before a new file is created. The default is 5Mb.
Controls whether a sale can be confirmed in the background, or if a BIS sync operation is required. When this setting is enabled, the system polls the server several times over increasingly longer delays to see if the sale has been confirmed as saved, which reduces overall BIS sync load. The default is enabled.


Set the global database name this system is part of. In a mesh system, this value defines members that are part of the same group. These setting values cannot be chosen randomly and must follow a structure. Membership to a mesh database also requires passwords and access controls
Flag to indicate that the system should use mesh sales replication, which causes every individual change to be immediately transmitted to mesh storage. This includes sales still being processed. This mode of operation requires additional configuration.
Reserved for support. Allows specific Mesh transactions (NNN) received over the network to be blocked from being processed on a system.
Reserved for support. Sets the specific processing technique for individual mesh transaction types (NNN). This is not commonly used, but may be set where site code lags behind other versions in the network, causing a lane to receive data it does not specifically understand.
Controls if POS should automatically perform backups of key files if they have changed since the last backup. This is not a replacement for formal backup strategies. This is a bit field to select which files are selected
1Select main configuration files, such as *.ctl and *.ini
2Inlcude *.ui files
4Include *.pscr and *.scr files
8(12 May 2016,P1928) Include only files that are lane specific, such as fpos.ctl. This value is intended for larger environments where offsite backups are already kept.


Designer settings are only for designer mode not production mode. They remove and alter some functionality to make development of POS screens and scripts simpler, but may have unwanted side effects if used on production lanes

(11 June 2015, P1858) If this settings is defined true, then UI screens are always read from the UI files rather than the internal cache. This saves needing to restart the POS when altering UI screens. If you are in Pos Designer mode, UI files are also not cached regardless of the setting.


Eftpos Payments

Enable sending Field48 data to eftpos subsystems that are capable of handling it. This setting is off by default. Field 48 data is sometimes used for extended purchase analysis information.

Plugin Dlls

(21 June 2014, P1805) If a plugin dll is detected as being incompatible a message is displayed to the user advising the DLL has not loaded. The default is to show messages, set this to 0 to disable the warnnig messages.
(21 June 2014, P1805) When loading DLLs, they are prechecked before being loaded using LoadLibrary() to verify 3rd party libraries are the same version. By default any difference in version will cause the DLL to be rejected, but sometimes the differences are potentially not significant so you can force them to be loaded.


If the product is currently priced at zero this setting causes the POS to prompt the price. This setting is off by default and is not recommended for long term operation as products can easily be allocated a price, which would stop this setting prompting.
Contains a list of Pid values for products that should always cause price prompting when sold. For releases after June 2014 the preferred method of forcing prompting is by selecting price prompting when creating products (located in operational flags)


These settings relate to the SaleList User Interface element displayed on most selling screens.

Cause the salelist to display lines around cells
When enabled, cause the complete line to be selected rather than just highlighting the contents of the first cell
If a salelist has commands to be executed, any commands in this setting are executed first.
Set the font to be used when modifiers are drawn to the salelist. This overrides the setting FontDefault
Provides an optional prefix sequence to be drawn before each modifier description. Typical use might be to insert spaces to cause indenting, or use special symbols. If this settings is not provided then modifiers are drawn as normal items
Controls whether tax free items are highlighted differently on the salelist. The default is to highlight tax free red and other items green.
If set, zero values are specifically highlighted.
Sets the color to draw highlightzero values


Purchasing system creates and manages the life cycle of purchase orders

Defines how Customer purchase order numbers are initially allocated. This value is usually the reference number of the purchase order, but internally the system uses it own unique identifier, not this number
0System may select what it thinks is best
1The CustPONum is set to be the same as the internal purchase order number
2The CustPONum is to be a combination of the internal unique lane number (srcuid) and the internal poid number. The format is LL-AA where LL is the system unique lane number and AA the internal purchase order number. eg 1025-345
3The CustPONum is set to a distributed keying identifer, which is a longer format that includes more specific identification
If the value is 1 (default is 0) and either the current CustPONum is empty OR the setting PurchAutoGenerateCustNumberOverride equals 1, the CustPONum is forced to the internal purchase order number
If set to one, and the setting PurchAutoGenerateCustNumber is also 1, the CustPONum is forced to the internal purchase order number


The PosCommand help controls the internal context sensitive help pages

(7 July 2017, P1998) If set to 1 then help is always launched as external browser rather than internal browser. This does not provide as good a user experience but may be required in some situations where external security and configuration affects the normal POS operation
The root part of the URL used for help. The default value is ""

This setting also has some special keywords:

Http Server and Protocol

Each POS runs a mini internal web server to allow remote support, local interfacing and dynamic web page support. It is not a full function web server

When generating certain content the POS needs to be able to supply the host name that is used to connect to it. By default this is derived from the gethostname() { Network definition }, or computer name if gethostname fails. In some circumstances neither of these options are correct and this setting allow you to manually set the hostname. Examples: "" or "PosServer"
(25 Jan 2016, P1904) A coded number indicating how CORS requests as processed.
0Abort any request that appears to be cross origin
1 (default)Allow trusted domains. This list is defined by the POS internally and includes Fieldpine domains
2Allow any domain
3Ignore all CORS specific processing

CORS support has not been tested in all configurations.

If set, stops the POS from opening the default ports used.
If set, Http management is placed in a background thread. Not recommended and may have side effects if posCommands are implemented via HTTP requests
Instructs the POS to dynamically chose a random port to operate on
Sets an explicit list of ports to operate on
Contains a comma seperated list of IP addresses that are accepted for incoming connections. The default is to allow access from all addresses.
Contains a comma seperated list of IP addresses that denied from accessing this web server.
When a request arrives from a denied IP address, this value holds a delay in milliseconds before the connection is dropped from the remote client. The default is to drop the connection immediately. This parameter is NOT SUPPORTED and should not be used in production environments.
Amount of backlog requested to listen() socket network call. Defines how many sockets can be pending accept() calls. Different versions of Windows apply different maximums to this value. The default is 5
Do not delete temporary files used to create responses. This value is only present for debugging and should not be enabled in production environments
If bit 1 is set (ie value=1), then log inbound requests to httptrc.log If enabled, this file can get large rapidly depending on traffic volumes
If enabled, write web log style access reports to PosTraffic-XXX.log files.
A coded number that holds the level of logging required.
1Log successful attempts for a page. This may not result in a web display for the remote user, but are being sent for complete processing by the Web Server
2Log denied requests that have been closed
4Log all HTTP headers (V2.4.5.8)

If you wish to log several categories, then the above values should be added together (internally, they are bit fields).

If set, disable nagle algorithm. Not recommended for general use. The POS does disable nagle internally for some time highly specific uses.
Allows override of the SO_SNDBUF parameter. Not recommended for general use as the default parameters are acceptable.
If set true (default false), the POS performs a reverse DNS lookup to decode the numeric IP address to a user readable This lookup results in requests being sent out for each incoming request, so can result in a high load. In order to reduce the impact, the lookup results are held in a simple cache.
Path to store temporary files if current directory should not be used
Holds a comma separated list of URL prefixes. Any request that matches a prefix from this list results in that request being denied and not processed further. The result to the remote browser is undefined. This setting is used to assist in blocking load from certain virus types that attempt path changing.
If a request is received that is denied from the HttpDenyPrefix or HttpDenySuffix settings, then the requesting IP address is added to a memory based denial list, resulting in all access from the address being rejected until the web server is restarted. By default, this setting is on, which helps eliminate load from virus techniques such as CodeRed.
// #SET Holds a comma separated list of URL suffixes. Any request that matches a suffix from this list results // #SET in that request being denied and not processed further. The result to the remote browser is undefined. This // #SET setting is used to assist in blocking load from certain virus types that attempt path changing.
// #SET Holds a comma separated list of URL prefixes. Any request that matches a prefix from this list results // #SET in that request being returned as if the page did not exist. This is of use where two web servers are sharing // #SET a common file structure but some files are not permitted on both channels.
// #SET When a request is received for a page that does not exist, it is possible to return a page rather than the // #SET default error message to the remote client. This is useful where a site may have been indexed by a search // #SET engine and the underlying structure has changed.
If a request is received for /activesale.htm, this setting control which page file is actually returned. Essentially this allows different views to be returned at different sites by simply changing this setting and distributing all web pages
Allow reverse request, where the actual file needs to be pulled from the caller
Allow redirect requests so pages can perform an action and redirect themselves
// #SET When loading pages from the disk, the web server will first check for pages stored in a private user structure that // #SET mirrors the structure supplied by Fieldpine. This allows a site to customise Fieldpine supplied help pages, but without // #SET needing to maintain every update that occurs.
HttpBaseDir & HttpBaseDir.XYZ
The name of the base directory for serving web pages. The default is the POS folder.
Realm to be sent when challenging using BASIC auth
If set true, write an extra closing CR character to the data stream. This seems to be required for certain combinations of servers and clients.
When the web page is being sent, if a body tag is encountered, this value inserts an additional line into the output stream immediately following the body tag. The default value of this tag is <basefont face="Arial">
A list of subdirectories to search for autosearch if no root is specified in the query.
If this setting is defined to a web page, then when a PosCommand function request is received by the WebServer, the command is not executed and the web page named in the setting is displayed instead. If the setting is not defined (the default), then the action is allowed to occur.
If set true the web server will allow PUT HTTP requests. By default this is disabled as it allows remote users to upload content to the web server.
When PUT requests are enabled, a password is required, that needs to be supplied using the fppassword header tag. These passwords must match.
Maximum number of results to return for a search operation
Amount of memory to preallocate for send buffers. The default is 1Mb


Messages are created when the system needs to alert the user about something other than drawing on the screen. They are similar to alert() in Javascript, MessageBox() in Windows or Toast in Android.

(27 May 2015, P1855) Allows the POS to use a web browser to display user messages rather than simple popup alerts. This allows you to customise the screen to display the message how you wish. (Example of Use)

Receipt Printing

(29 Oct 2014, P1834) Sets a background color for every alternate line printed on a receipt. If not specified all receipt lines use the same colour. This setting is an RGB triple, encoded as a decimal number. The most common values are pale gray RGB(F0,F0,F0) which is decimal 15790320, or a slightly darker gray of RGB(E0, E0, E0) which is decimal 14737632
When a receipt is being printed as a repeat copy, this setting controls the value of any additional text marking it as a duplicate. The default wording is "COPY ONLY" if this setting is not supplied. It is a legal requirement in some countries to mark receipts as duplicates.
If a cancelled sale is reprinted, this setting can be used to override the default of "TRASHED SALE". This value can also be overriden by setting the user message #301,32. It is highly recommended to ensure cancelled sale receipts are clearly identified as void to discourage return fraud.
(11 Jun 2015, P1857) Sets the width of printed lines on receipts drawn using the %RULE% command. The default width is 1 pixel wide but on some printers this results in a line that is too narrow. If the %RULE% command includes width information, this setting is ignored for that single rule.
Sets a specific saleline format structure of salelines that arrive from integrated fuel controllers. This ensures that fuel products are formatted differently to normal retail items
Sets a specific saleline format for modifiers
Sets a column to sort salelines on before printing. This is rarely used and is incompatiable with other settings (such as background color)
Sets an indent for modifiers from the left margin.
Specifies a format to print an additional line highlighting how much store wide discounting has saved. If the total store wide discount for this sale is zero, nothing is printed

Lookup Screens

If the column locationvisibility exists this setting controls whether lookup screens obey this field setting or not. The default is to NOT obey this field. To ensure it is obeyed, set this setting to 1.

(14 June 2015, P1860) This setting extended to control reference tables used in combo fields on lookups and XML input screen

If LookupVisibility controls are in operation, this setting allows you to add additional locations to the valid list. Values should be comma seperated and without a leading comma for the first item.

For example, if you set this to "3,4,5", then the rough equivalent SQL then becomes

select ... where locationvisibility in (XXX,3,4,5)
where XXX is automatically populated with the current location.

Enable touch screen logic. This setting is on by default and used to disable touch logic throughout the system. See "TouchScreen" to actually implement touch screen handling
Enables POS generated on screen keyboards when required. If possible you should try and use Windows provided on screen keyboards, however the POS keyboards can be more suitable in some environments, especially those with limited screen size.
Controls if "detail" buttons are disabled on relevant lookup screens. This is enabled by default. Set this value to 0 to disable detail screens
If enabled gridlines are drawn inside lookup screens. The default is no gridlines
Allows users to select the row by clicking anywhere along the row. Default is enabled. If disabled users can only select by clicking on the first column
If the lookup table has store specific overrides (ie, Store N can override fields like description or price to be store specific) then these rows are highlighted to alert the operator of this fact. The following values are possible
0No highlighting
1 (default)Highlight if the override applies to this store
2Highlight if an override is present in any store. For this to work data must be fully replicating which is not typically implemented. It is best to consider this option a special case and not generally used.
Can users right click rows to remove overlays? Enabled by default
If a lookup screen is in "salefind" mode and no sale exists, can one be created automatically or is an error returned to the operator? The default is to create a new sale
If idsets are enabled (groups of items, where items can belong to 0, 1 or multiple groups at the same time) is "Filter by set" permitted to allow user to select a "set" to reduce the rows displayed.
When editing items are the users allowed to do it directly in POS or are they to be silently connected to Store Server and/or Head Office server. Using a central server can provide more standardised and controlable process. The default is currently to allow POS directly but this is likely to change in the future

Standard Screens

The POS system often needs to call a common or standard screens from different places in the code. Displaying a product lookup is a very common example. Where these standard screens are used by deeply buried code (such as while receiving a purchase order) then the system calls the standard screen hander. Some of these standard screen handlers allow you to customise how that screen works.

When a standard prompt to lookup a customer is required, this setting allows you to override the lookup(setting-value) part of the lookup command. You screen must be able to return customer id(s) and/or physkey(s)
When a standard prompt to lookup a department is required, this setting allows you to override the lookup(setting-value) part of the lookup command. You screen must be able to return department id(s) and/or physkey(s)
When a standard prompt to lookup a product is required, this setting allows you to override the lookup(setting-value) part of the lookup command. You screen must be able to return product id(s) and/or physkey(s)
When a standard prompt to lookup a supplier is required, this setting allows you to override the lookup(setting-value) part of the lookup command. You screen must be able to return supplier id(s) and/or physkey(s)


The timescheduler is a small component to allow PosCommands to be executed at certain times, if the POS is running. You can also schedule PosCommands via Windows task scheduler

If timeschedule tasks are present, they are executed. This setting can be set to zero to explicitly disable all timeschedule tasks
An optional comma seperated list of additional licid that this lane is able to execute.
When enabled (default enabled) the timescheduler selects a random start time from the start-end window. This is to ensure that hunreds or thousands of machines do not all execute the same command at the same instant. The start time is selected from the first 70% of the total window. For example if the start and end times are 17:10 and 17:20, then each POS will randomly set the start time to between 17:10 and 17:17 This random selection happens each time the scheduled tasks are loaded


Settings that control monitoring and auditing of actions and environment. They do not generally affect sale processing directly. External monitoring is used for proactive support.

The address that external events are sent too. If you wish to disable external event reporting, set this to empty ( force:FieldpineServer= ) External reporting is mandatory for free versions of POS and Online POS and cannot be disabled.
(12 Oct 2014, P1831) Controls if external monitoring events can send extended information that potentially identifies your machine. No information is sent identifying customer, sales or revenue. It is only permitting technical information that would be of interest to IT support. No passwords or keys are sent. The default is to send information. It is a bit field, with the following meanings
Bit ValueEnables sending
  • Type of Program; lane, store server, head office, printer/eft agent,...
  • Store Location and Lane Number
  • Country Code and ISO Country Code
2Information on all physical devices of interest to Retail, such as print queues, eftpos terminals, scales. This information include status information and relevant counters
4Complete identifying information, such as
  • Primary MAC address
  • Disk drive serial# and model
  • Identification numbers of the computer, name of computer, manufacturer
  • Local time and UTC time
  • System licence number
8Send reporting information about external links, such as FTP, automated email accounts.

User Interfaces

(22 Jan 2016, P1904) The version of the web browser used inside the POS is controlled by a Windows registry setting. If the BrowserVersionLock setting is not defined the POS will control this value itself and attempt to ensure more recent versions of IE are used. If you wish to manually control the registry, set this setting to "lock", and the POS will not change the registry. Alternatively, set this setting to a constant number and the registry value will be set to this value. Changes to this setting may require 2 Pos restarts to be effective, as the Dlls may have already been loaded when the setting is processed. See UiBrowser.htm for more details.