RAW TRANSACTION FORMAT
Overview
Overview
Record Type Field

Fields Common to all Records
Common Fields for all Records
Common Fields for Transaction Lines

Unique Record Types
H Records. Transaction Header Records
E Records. Transaction End Record
P Records. Product Sale Records
F Records. Finalisation Records
A Records. Adjustment Records
S Records. Statistic Records
Z Records. Z-Read Records
U Records. Masterfile Update Records

 

Overview
Transactions processed in SELLmatix are saved as a Unicode Text file where the fields are delimited by commas, and each record in the file is separated by a carriage return/line feed combination. The name of the transaction file is tran.csv. Standard .csv files can be read by standard text editors, or read into spreadsheets such as OpenOffice or Excel.

There are several lines for each sales transaction including one header line, a line for each item on the sale, a line for each payment toward the sale, and an end sale line.

Other lines in the transaction file include statistic lines, Z-Read lines, and product update lines.

Back to top

Record Type Field
The first field in each line of the tran.csv file is a line type field which indicates the type of data contained in the line. this first field is always 3 characters long and the 3 characters are as follows.

Offset 0 contains the posting flag. If this line has been passed to a higher level controller then this field contains a "P", otherwise it contains a <SPACE> character. For example, transaction lines are written by each POS system when the transaction is completed. Initially, this character contains a space. When the transaction file is updated to a controller such as SELLmatix Control, this character is changed to a "P" when the line is acknowledged as processed by SELLmatix Control.

Offset 1 contains a general line type flag. For example, a product sold would contain a "P" character, a finalisation (payment) line would contain an "F" and a statistic line would contain an "S" character.

Offset 2 contains a line subtype flag. The value of this character depends on the general line type.

Back to top

Fields Common to Each Record
Field Number Description
Field 1 Sequence number. This line increments for each line. It is used internally in SELLmatix to check for duplicated records in cases where a transfer of data is broken part way through. This field is not normally useful for an application, but may be used for auditing purposes to determine if data has been tampered with.
Field 2 Group Name. This is the name entered in the Group Name field of the User Information screen. This data can be useful in a multi location multi lane environment, but is not normally useful in smaller sites.
Field 3 Computer Name. This is the name of the computer where the transaction originated. This data is set up in Windows Networking.
Field 4 POS Number. This field is the POS Number is set in the pos.cfg configuration file. This may be useful in a multi lane environment.
Field 5 Date. This is the date of the transaction in system localised format, the way it appears on a receipt or invoice.
Field 6 Time. This is the time of the transaction in system localised format the way it appears on a receipt or invoice.
Field 7 Transaction number. This is the receipt number for a particular transaction, as it appears on the receipt or invoice. Typically there will be several lines which contain the same transaction number, one line being a header, one line for each line sol, one or more finalisation lines and an end transaction line.
Field 8 Shift Number. The shift number when the transaction was processed.
Field 9 Universal Date. This field contains the year (4 digits), Month (2 digits), Day (2 digits), Hour (2 digits), Minute (2 digits), Seconds (2 digits)
Field 10 Order Number. Customer order number, if applicable, otherwise blank.
Field 11 Clerk Number. The clerk number of the clerk that processed the transaction.
Field 12 Clerk Name. The name of the Clerk that processed the transaction.
Field 13 Customer Number. The account number of the customer.
Field 14 Customer Name. The name of the customer.
Field 15 Address Line 1. The first address line of the customer.
Field 16 Address Line 2. The second address line of the customer.
Field 17 Address Line 3. The third address line of the customer.
Field 18 Address Line 4. The fourth address line of the customer.
Field 19 Date of the transaction in long localised format.
Field 20 Total. Total value of the sale.
Field 21 Balance. Amount remaining to be paid for the sale. This value is always zero.
Field 22 Tax Total. Total taxes charged on the sale.
Field 23 Rounding. The amount of cents rounding on the sale.
Field 24 Cash Out amount on the transaction.
Field 25 Reserved.
Field 26 Location Number (Table Number).
Field 27 Sale Comment.
Field 28 Covers (No of Guests at table in Restaurant)
Field 29 Automatic Service Charge Amount.
Field 30 Sale Total Ex Tax.
Back to top

Fields Common to Transaction Records
Field Number Description
Field 31 Quantity. The quantity of items on the transaction line.
Field 32 Unit Price Ex. Tax. The price for one item not including taxes.
Field 33 Unit Price Inc. Tax. The unit price for one item including applicable taxes.
Field 34 Guest Number.
Field 35 Discount Calculation Method. Not normally useful.
Field 36 Discount Value. The amount of discount for this line.
Field 37 Tax Amount. Unit amount of tax for this line.
Field 38 Tax Total. Total amount of tax for this line.
Field 39 Extended Line total excluding tax. In Finalisation lines where cents rounding has been applied, this field contains the net amount after the rounding adjustment has been applied.
Field 40 Extended line total including tax. In Finalisation lines where cents rounding has been applied, this field contains the net amount before the rounding adjustment has been applied.
Back to top

H Records. Transaction Headers
There are no record subtypes for transaction headers, and the third digit in the record type field is set the same as the record type so that the record type field for headers is "?HH".

There are no fields in header records which are additional to the fields common to all record types.

Back to top

E Records. Transaction End
There are no record subtypes for transaction end records, and the third digit in the record type field is set the same as the record type so the record type field is "?EE".

There are no fields in header records which are additional to the fields common to all record types.

Back to top

P Records. Product Sale Records
Record Subtype The record subtype for a product sale line reflects the way the line item is priced. For an item sold for a Unit price, the subtype is "U". For items sold by weight from an electronic scale, the record subtype is "W". For items which have the price encoded in the barcode, such as happens with a Deli Scale where an item is weighed and the scale produces a barcode label which is affixed to the package, the record subtype is "B". For items where the quantity is supplied by a Wetstock dispenser such as a Gilbarco Fuel Pump Controller, the record subtype is "T".

Field Number Description
Field 41 Reserved.
Field 42 Department Name.
Field 43 Department Code.
Field 44 Product Description
Field 45 CUSTOM1 Field in Department Record.
Field 46 CUSTOM2 Field in Department Record.
Field 47 CUSTOM3 Field in Department Record.
Field 48 PLU/Barcode Number.
Field 49 Alternate Description in Product Record
Field 50 Contains
  • 0 if this line not processed by Control.
  • 1 if this line processed by control and did not require printing on order printer.
  • 2 if processed by control and an order was printed on an order printer.
Field 51 Tax Code.
Field 52 Tax Name.
Field 53 The Tax Rate%.
Field 54 CUSTOM1 field in Tax Table.
Back to top

F Records. Finalise (Pay for) Sale Records
Record Subtype The record subtype for a finalisation record reflects the finalisation type. For bankable finalisations, the record subtype contains "B". Bankable finalisations would typically be used for Cash, Cheques and manual credit card transactions.

For Electronic finalisations the subtype field contains "E". Electronic finalisations are typically used where credit cards are processed online, and the proceeds deposited directly to a bank account.

For account finalisations, the subtype contains "A". Account finalisations are typically used where the business offers credit to customers, and sends an account statement at regular intervals. Where an account finalisation is used, SELLmatix will have required that the operator select a valid customer that can have sales charged to their account.

Field Number Description
Field 41 Reserved. Do not use.
Field 42 Reserved. Do not use.
Field 43 Finalisation Number as in the finalisation master file.
Field 44 Finalisation Name.
Field 45 The CUSTOM1 field in Finalisation record.
Field 46 The CUSTOM2 field in the finalisation record.
Field 47 The CUSTOM3 field in the finalisation record.
Back to top

A Records. Adjustment (non sale) Records
Adjustments are used to record financial transactions that affect the cash balance in the till, which are not sales. Examples of this type of item would include cash paid in to the till for float, cash paid out of the till for purchase of goods, cash paid out of the till to a customer as part of a cash out transaction on a credit card and so forth. In each case, the balance of the till is affected, but sales are not affected. Each Adjustment requires a corresponding balance to one of the finalisations, however that balance may occur in the overall sale total. For example, a customer may buy 5 separate items, take cash out and pay for the entire transaction by a cheque or credit card.

Record Subtype The record subtype for Adjustments reflects the way that the Adjustment changes the balance of the till. For Adjustments where money is paid in the subtype contains an "I". For Adjustments where money is paid out of the till, the subtype contains an "O". For Cash Out to customer the subtype contains a "C". For cents rounding the subtype contains a "R". For Adjustments where an account customer makes a payment to their account with the business, the subtype contains a "A".

Field Number Description
Field 41 Reserved. Do not use.
Field 42 Reserved. Do not use.
Field 43 Adjustment Number as in the Adjustment master file.
Field 44 The Name of the Adjustment in the Adjustment record.
Field 45 The CUSTOM1 field in the Adjustment record.
Field 46 The CUSTOM2 field in the Adjustment record.
Field 47 The CUSTOM3 field in the Adjustment record.
Back to top

S Records. Statistic (non sale) Records
Statistic records are used to supply data to a back office system which would not normally be used but may have some value in a specialised application. The record subtypes for statistic records are as follows:

Subtype Description
Subtype Kcontains a stocktake quantity recorded at the point of sale. Applications processing this data should assume that transactions following a stocktake records reflect sales after the quantity was counted. Most off the shelf accounting software is unable to process this data, and in most cases SELLmatix would not be configured to process stocktake data.
Subtype D contains a quantity of goods delivered to the business and recorded at the point of sale. Most off the shelf accounting software is unable to process this data, and in most cases SELLmatix would not be configured to process stock receipts.
Subtype V contains details about a sale item which has been voided by the operator. This may be useful in a security audit.
Subtype N contains information about a No Sale being processed by the operator. This may be useful in a security audit.
Subtype R contains information about a refund processed by the operator. This may be useful in a security audit.
Subtype P contains information about a Price Change processed by the operator. This may be useful in a security audit.
Subtype T contains information about the time taken to process a sale by the operator. This may be useful in analysing staff productivity.
Subtype C indicates a change of Price Level. Field 32 in this case shows the details, such that if it contained "2->3" it would indicate a change from price level 2 to price level 3.

The following fields are available in addition to the fields common to all records:-

Field Number Description
Field 31 Reserved. Do not use.
Field 32 Code. Data varies according to the subtype.
Field 33 Quantity if applicable
Field 34 Value Tax Inclusive if applicable.
Field 35 Value excluding tax if applicable.
Field 36 Discount value if applicable.
Field 37 Tax Value if applicable.
Back to top

Z Records. Z-Read Data Records
Z fields contain the data printed on Z-Read reports which are run. The format of Z Records is different to other records and most of the fields common to other records do not apply. Z records do not currently contain a subtype, but this may change in the future. The fields available on a Z transaction are as follows:-

Field Number Description
Field 0 Record type field contains a " Z" if the record has not been posted to a higher level controller and contains "PZ" if it has been posted to a higher level controller.
Field 1 Contains the sequence number for the record. This works the same way as in other records.
Field 2 Group Name. This works the same way as in other records.
Field 3 Computer Name. This works the same way as in other records.
Field 4 The POS terminal number. This works the same way as in other records.
Field 5 The date in localised short format.
Field 6 The time in localised short format.
Field 7 The shift number.
Field 8 The date and time in universal format. This works the same way as in other records.
Field 9 The clerk number.
Field 10 The Clerk Name.
Field 11 The line type, for example "D" is a department Sales record, "A" is an Adjustment record, "F" is a finalisation record etc.
Field 12 The line sub-type. used for Adjustments/finalisations.
Field 13 The Code of the particular item.
Field 14 The Account data in the corresponding data type.
Field 15 The description that appears on the Z-Read printout.
Field 16 Reserved. Do not use.
Field 17 Reserved. Do not use.
Field 18 Reserved. Do not use.
Field 19 Reserved. Do not use.
Field 20 Reserved. Do not use.
Field 21 Reserved. Do not use.
Field 22 Reserved. Do not use.
Field 23 Quantity of transactions of this type.
Field 24 Value of Discount of this type.
Field 25 Value of Tax for this type.
Field 26 Total Value excluding tax for this type.
Field 27 Total value including tax for this type.
Back to top

U Records. Product Update Records
UP Records contain Product Masterfile information for items which have been added "On the Fly" at the Point of Sale by the operator when they try to sell an item and find that it does not exist.

UP Records do not follow the format of other transaction records. The higher level controller, on receipt of an UP record should add the product to the master file. The fields available in UP records are as follows:-

Field Number Fieldname Data
Field 1 N/A The sequence number for the record
Field 2 N/A The record number in the originating database. Not normally useful.
Field 3 N/A "N" indicating that this is a new record.
Field 4 BARCODE The barcode number of the item or PLU number
Field 5 DESC Item description as it appears on screen and receipts
Field 6 ALT DESC Optional Alternate Description, can be in a second language and used on kitchen printers
Field 7 MASTERPROD Optional Barcode number of master product, used if this product is an alias for another item. This allows multiple barcodes for a single master PLU
Field 8 DEPT CODE Code for the department to which this product belongs
Field 9 PROD TYPE Product Type, such as Unit Priced, Weighed, Barcode Price, or Product Alias
Field 10 ORDER DEV Indicates which device (kitchen printer) prints an order for this item when sold
Field 11 MENU FLAG Flags if this item appears on the Sell Menu to allow sales of the items from the menu
Field 12 SELL PRICE Standard Selling Price
Field 13 SELL PRICE 1 Price when Price Level 1 is used on a terminal. If blank, the next lowest level is used.
Field 14 SELL PRICE 2 Price when Price Level 2 is used on a terminal. If blank, the next lowest level is used.
Field 15 SELL PRICE 3 Price when Price Level 3 is used on a terminal. If blank, the next lowest level is used.
Field 16 SELL PRICE 4 Price when Price Level 4 is used on a terminal. If blank, the next lowest level is used.
Field 17 DISCFLAGS Discount Permission Flags
Field 18 SELL PR INC Flags if the selling prices include taxes.
Field 19 TAXCALC Flags if a tax rate table entry applies, or a tax rate is specified for the item.
Field 20 SELL TAX CD Applicable Tax Code, depending on TAXCALC
Field 21 SELL TAX % Tax % used, depending on TAXCALC
Field 22 SUPP CODE Supplier Code
Field 23 SUPP NAME Supplier Name
Field 24 SUPP PART Part number used by supplier. May be the code used for carton quantities.
Field 25 SOURCE FLAG Rarely Used
Field 26 BUY UNIT If bought by case containing 24, then 24 would be the buy unit.
Field 27 BUY MIN If the minimum buy quantity was 2 cases, and each case contained 24 items, the min buy would be 48
Field 28 REORD LVL Reorder recommend when the quantity on hand is at or below this level
Field 29 COST Normal Cost Price
Field 30 COST ADJ Adjusted Cost Price, including other costs such as freight. Can be used to generate gross profit reports.
Field 31 INVENTORY If this flag is set, the Quantity on hand is reduced when the item is sold, otherwise the quantity is unchanged If the item is made to order, eg meals, or you do not intend to record purchases is SELLmatix, then this flag should not be set, otherwise large negative stock on hand quantities will build up.
Field 32 QTY Quantity on Hand
Field 33 CAT CODE Category Code. Sometimes used where product information is derived from large warehouse databases.
Field 34 CORE RANGE Optional flag to indicate an essential item in the product range
Field 35 SLOW MOVE Optional flag to indicate an item that sells in low volume, but may be essential in product range.
Field 36 FINELINE CL Fineline Class. Sometimes used where product information is derived from large warehouse databases.
Field 37 TUN CODE Trade Unit Number Code. Sometimes used where product information is derived from large warehouse databases.
Field 38 LABELREQ Internally used flag to indicate that a shelf label is required.
Field 39 LABELFORMAT The name of the product label format to be used when/if printing product labels for this item.
Field 40 LABELQTY Quantity of product labels awaiting printing for this item.
Field 41 CUSTFLD1 Custom data field 1
Field 42 CUSTFLD2 Custom Data Field 2
Field 43 TIMESTAMP Automatically generated timestamp of when this record was last updated
Back to top