The sale() command has a large collection of functions to affect sales. Sales to the POS can be true customer sales and also used as a collection of items for other purposes such as store to store transfer. The main selling screen is optimised towards capturing items so using it to capture items for writeoff as well is extremely easy for staff to learn and understand.
The POS is capable of having multiple active sales open at once, typically shown as tabs on the screen. These commands only affect the visible sale and designers do not need to worry about the multiple active sales.
Printing a receipt and opening a cash drawer are unconnected operations in Fieldpine. If you wish to control the cash drawer on a sale basis, use the commands sale(opendrawer) and sale(drawer...) commands.
- The number of items on the sale is zero
- The number of payments (including failed payment attempts) is zero.
The default cash drawer can vary depending on current logged in teller and site configuration. Multiple cash drawer support may also require specific printer models or cash drawer models
The value of CMD can be a country identification number (eg 61 for Australia), in which case the value is simply recorded. If CMD is the keyword "prompt", an interactive screen is displayed to allow country specific entry and tax handling control.
More information: Delivery Details Prompt Screen and screen(standard(28))
|Notes||Display current sale notes and allow entry of a new note|
Capture sale wide delivery details. This screen is primarily intended for
capturing address in the same country as the store. If you are entering export orders, the preferred command
|Total||Not available for general use|
|Staff||Allow manual entry of staff involved in a sale. Typically used where individual sale commissions may be split between multiple staff.|
If the command is
- A staff member requires the security right "Sale Power User" to issue this command
- The entered date must not be older in days than the setting SaleExceptionMinDate (default 90). If this setting is 0 (zero), minimum dates are not checked
- The entered date must not be in the future by more than setting SaleExceptionMaxDate (default 45). If this setting is 0 (zero), future dates are not checked
The following sale() commands have been retired
Selling a product, might involve prompting for serial numbers, activating vouchers or many other actions. These might not always be "undo able" by simply reversing the operation. In this example the users can delete the product themselves, which causes the delete routines to activate. In some cases though, the "delete" operation is not the same as a simple "undo", or may itself cause secondary actions.
In order to avoid inconsistencies, this command was retired. A side effect is that customisations become easier to comprehend
Adds a $5 payment of type cash to the current sale.
Searchs for the local definition of global payment type 564000 and applies a $5 payment of that type. Global codes are defined by Fieldpine and permit the indentification of specific payment types across multiple retailers. Global codes are often used where payment types are defined and controlled over multiple sites, such as a shared loyalty system.
Deletes the last payment from the sale.
Stores "value" into the field "name". You should not store values to fields that are defined by Fieldpine, this command is for site specific customised fields only. This command performs no action if the sale is locked against changes.
Causes the system to calculate any payment surcharge that might be applicable and add a surcharge line to the sale for this amount. Payment surcharges arise when extra fees are added because a certain method of payment is being selected by the customer. Most common is a surcharge might be levied for credit card payments, causing the customer to pay some/all of the Merchant Service Fee (MSF).
Add extra information to the receipt to be printed. This can be images, text or QR codes.
OPTIONS consists of
|position(N)||Specifies the position this receipt extension should appear on the printed receipt. Possible values for N are first or last, indicating the extreme top and bottom of receipts respectively. If receipt pre printing is enabled, then the first keyword will appear after the pre printed portion, not the extreme top of the receipt.|
|text(N)||Sets the text to display. Depending on the type parameter, this value may indicate file paths or other relevant information|
|type(N)||Sets the type of infomation being passed. Possible values are text or image. type(text) is the default and causes the text() paramter to be treated as a literal to place on the receipt.|
|image(N)||Specifies an image to place on a receipt, where the filename is given by parameter N.|
|control(N)||Allows a range of extended features, or flags, to be set for this extension|
|overlay(N)||When image printing is being used by specifying type(image), this option can be used to place text on top of the image. A typical usage may be printing a background ticket graphic and then overlaying the session and admission details.|
|qr(N)||Creates a QR code from the string N and prints this on the receipt. The string N is processed via symbol replacement at the time this command is issued.|
|queue(Name)||Causes the receipt extension to print on a seperate printer queue as a individually queued print job. This parameter specifies the name of the printer queue to use. When this parameter is used the position() parameter is ignored.|
Provides a hint as to the type of paper in a printer queue. Need only be supplied when queue()
is used. The values are:
Adding a simple image
Adding a QR code pointing to a website and including the sale reference. This might be used if you are running competitions
or customer surveys.