Fieldpine Logo  

eLink Sale Object


The sale object defines a single sale within the Fieldpine System. A sale consists of a header record containing information about the sale itself (date started etc), the items being purchased, the payments applied and additional optional details such as delivery instructions.

The sale object is one of the most common objects used in the retail system, but is also one of the most complex as it provides a single definition across all countries, retail genres and environments.

This page describes all fields possible on sale objects but not every API supports every field; some fields are only valid on active sales (those actively being sold)


Arg#NameTechnicalDescription
8's'Required. Constant 'retailmax.elink.sale.create'
100'E' Optional. Sale Id number. If provided, must be unique. This field contains the unique server sale id to be used. Clients should generally not provide this value as several additional undocumented rules exist. If provided, must not be zero; zero is taken as no value provided.
101'y' Optional, highly recommended. Completion Date/Time of the sale. If not supplied the server will insert the current date/time. If you are storing sales for later transmission and there is a chance the date will change between the sale being processed and uploaded via eLink, then this field must be provided as it is required for tax purposes.
103's' Total value of sale, including all taxes. This value should equal f104 + f105 + f106 + f107
104's' Total value of sale, excluding all taxes
105's' Total of tax #1 (GST in New Zealand, Australia, Zimbabwe. MwSt in Germany. VAT in United Kingdom)
106's' Total of tax #2
107's' Total of tax #3
108'E' Optional, recommended. Phase of sale (see retailmax.elink.sale.fetch) Clients may only inject phases, 1=complete, 200=pending, 10000=void (store for audit)
109'y' Optional, recommended. Start Date/Time of the sale. If not supplied the server will insert the completed date/time. If you are storing sales for later transmission and there is a chance the date will change between the sale being processed and uploaded via eLink, then this field must be provided as it is required for tax purposes.
115'E'Teller or staff member id that processed this sale.
117'E' or 's'Customer id that made this sale. These ids are selected from a known list of customers and will positive integers. Zero means unknown customer or value not set.
It is acceptable for distributed environments to use pending customer registrations and supply the TXKC value in this field. For example a newly defined customer record may be stored as "-6,Rs521UDEHAp1560|sq21" where this value is made from the negative Cid value (-6) and TXKC value seperated by a comma. Developers should be aware that this second form is ideally quite rare and should not be used widely.
120's' Optional. Sale total. Total value of sale. If not supplied the server will insert the total of the salelines. If provided, it must be correct otherwise the server will reject the sale and not load it. This is the total of F205 (total price including taxes) fields from Saleline APPT packets
122'E'System Specific identification code.
123'E'System Specific unique sale number. Must be unique for every f122. Must be in the range >0 and < 2^31
125'E'Location id of the store that processed this sale.
130's' External Sale Id. This field allows clients to specify a unique sale indentification string (maximum 32 bytes for maximum system reliability).
131'E'Sales Type information. Provides details about the type of sale being uploaded which is often used for reporting purposes. This field is a bitmask, with the following values defined.
2. Web Site Sale. Sale originated from a CUSTOMER facing website.
4. Wholesale flag. Sale is a wholesale sale, not a standard retail sale. A retail sale with discounts does not set this wholesale flag.
133's'Comments on this sale. Text only, comments DO NOT convey commands to the POS system.
134's'Fly-Buys number
135'E'Fly-Buys capture source. A coded number to indicate how f134 was captured. Possible values are 1=Retrieved from DPS EFTpos termainl, 2=Manual entered, 3=Copied from previous known source, ie anything that is already electronically known. 4=Barcode scanned
136's'Tax registration number, such as GST number in New Zealand, ABN in Australia or VAT# in the United Kingdom.
137's'Tax invoice number, or other legal sale #. This is the number shown to customers, while f100 are primarily internal numbers. If this field is not supplied, f100 is used as the external invoice number where required
138'E'Charge account #. Where a customer/sale is being placed on a charge account, this field contains the account number to charge
139's'Sale Physical Key
144's'Meetu4 Shopper Id Card Number
145'E'Meetu4 Shopper Id Card Number capture source
146'E'Meetu4 Benchmark flags. Bitmask 1=send to Benchmark
147's'Sale Tax control. Used to set specific tax handling features such as tax exempt.
148'E'Target delivery country number. Where delivery of items is known to be an external country this field contains the country items are actually delivered too.
149'E'Stock location number. Location where stock is to be extracted from if not the same as sales reporting location
900CustEmailCustomers email address

Dynamic Fields - Used on active sales

600's'Meetu4 reference URL. Includes host part. For example HTTP://MEETU4.ORG/$C100T1K0
601'E'Sale will print indicator. Used on active sales to indicate if a receipt will be printed or not. Has no meaning once a sale is complete.
700's'Company Name or trading name, as would be shown to customers. This may not be the legal name of the retailer.
701's'Receipt Header Lines. May be repeated several times to have multiple lines
702's'Receipt Footer Lines. May be repeated several times to have multiple lines
720's'Automatic Email Receipt requested. This field contains the address to send an email receipt to.
721's'Remaining balance for Layby/Layaway sales
722TotalPaidTotal of payments received so far
723ToPayTotal still to be paid before this sale can be finalised