BananaHead


Point of Sale













User Manual











































































This reasons for this intentionally blank page are beyond the scope of this document.






This document is provided “as is” and as such we are not responsible for loss of consciousness or sexual functionality, by engaging in something so blatantly irresponsible as actually reading it. The aforementioned clause is, and any participants therein, or future contributors are, in terms of reference, or attributed, deemed applicable to reference within the bounds of the license, and thereby allowed, within terms of the restrictions of the terms of the license, bound, but not strictly applicable to the concept of the idea, though not relinquishing the right of the individual, and certainly not restrictively set within the bounds of human experience, to fall asleep.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Sections being list their titles, with the Front-Cover Texts being list, and with the Back-Cover Texts being list. A copy of this license is included in Appendix D.2.








Versions, Revisions

What

When

Who

Whatever

v0.0.1

26/09/03

A.K.

Initial Layout and draft, not much but a table of contents.

v0.0.2

02/11/03

A.K.

Actually added some more content.

v0.0.3

18/11/03

A.K.

Split off BhMis and BhPos sections (as is the fashion).

V0.0.4

09/12/03

A.K.

More content, new sections, more nice diagrams.

v0.1.0

06/01/04

A.K.

Sparse initial release, nothing much changed from last version, but some tidying, a few more words, a few diagrams – still basically a table of contents.


























Errata

What

When

Who

Description












Copyright © 2000 – 2004 BananaHead.

Table of Contents

1.0 Overview 11

1.1 Point Of Sale 11

1.1.1 Nomenclature 11

1.1.2 In General 11

1.2 BhPos Features 11

2.0 Getting Started 12

2.1 Getting BhPos 12

2.1.1 Formats 12

2.1.1.1 Source Code 12

2.1.1.2 Binaries 12

2.1.2 CVS 12

2.2 Requirements 12

2.3 Hardware 12

2.3.1 General Hardware 12

2.3.1.1 Server 12

2.3.1.2 Client 12

2.3.1.3 Network 13

2.3.2 Pos Hardware 13

2.3.2.1 Barcode Scanners 13

2.3.2.2 Printers 13

2.3.2.3 Cash Drawers 13

2.3.2.4 Customer Displays 13

2.3.2.5 Integrated POS Keyboards 13

2.3.2.6 Cheque Readers 13

2.3.2.7 Credit Card Readers 13

2.3.2.8 Scales 13

2.3.2.9 Signature Pads 13

2.4 Software 13

2.4.1 Dependancies 13

2.4.1.1 General compilation 14

2.4.1.2 Common Dependancies 14

2.4.1.3 Server Dependancies 14

2.4.1.2 Client Dependancies 14

2.4.1.3 MIS Dependancies 14

2.4.1.5 Utilities Dependancies 14

2.5. Files Overview 15

2.5.1 Common Libraries 15

2.5.2 Server Libraries 15

2.5.3 Client Libraries 15

2.6 Installing 16

2.6.1 Source Install 16

2.6.2 Binary Install 16

2.6.3 Installer Program 16

2.7 Installed Files 16

2.7.1 Base 16

2.7.2 Common Libraries 16

2.7.3 Server Libraries 16

2.7.4 Client Libraries 16

2.7.5 Other Files 17

3.0 Setup 18

3.1 Planning 18

3.1.1 Quo Vardis 18

3.1.1.1 What do you Require? 18

3.1.1.2 Future Needs? 18

3.1.2 Modes of Operation 18

3.1.2.2 Passive Mode 18

3.1.2.2 Active Mode 18

3.1.2.3 Server Side Mode 19

3.1.3 The Desktop 19

3.1.3.1 Gnome 19

3.1.3.2 KDE 19

3.1.4 Customizing the Banners 19

3.2 Database 19

3.2.1 Structure 19

3.2.1.1 Structure import 19

3.2.1.2 Accounts import 19

3.2.2 Data 19

3.2.2.1 In General 20

3.2.2.2 Company Setup 20

3.2.2.3 Sites Setup 20

3.2.2.4 Departments Setup 20

3.2.2.5 Groups Setup 20

3.2.2.6 Stations 20

3.2.2.7 Interfaces 20

3.2.2.8 Users 20

3.2.2.9 Cash Drawer defaults 20

3.2.2.10 Round Unit 20

3.2.2.11 Low/High Tide Marks 20

3.2.2.12 High/Low currency Marks 20

3.3 Server 20

3.3.1 In General 20

3.3.2 Configuration File 21

3.4 Client 25

3.4.1 Configuration File 25

3.5 MIS 28

3.5.1 Apache 28

3.5.2 PHP 28

3.5.3 BhMis 28

3.6 System 29

3.6.1 Services 29

3.6.1.1 Ports 29

3.6.2 Starting the server at boot 29

3.7 Users Revisitied 30

3.7.1 Logging In 30

4.0 Sales Operation 31

4.1 General Layout 31

4.1.1 Connecting 31

4.1.1.1 Connection Errors 31

4.1.2 Logging In 31

4.1.2.1 Active Login 31

4.1.2.1 Active Login Errors 32

4.1.2.2 Passive Login 32

4.1.2.3 Passive Login Errors 32

4.1.2 Transaction Screen 33

4.1.4.1 Status Bar 33

4.2 Sales 33

4.2.1 A Simple Sale 33

4.2.1.1 Logging In 33

4.2.1.2 Adding Items 34

4.2.1.3 Scan Errors 34

4.2.1.4 Payment 34

4.2.1.5 Sale Completion 34

4.3 More Sales Operations 35

4.3.1 Editing 35

4.3.2 Removing Items by scan 35

4.3.4 Unknown PLU 35

4.3.5 Price Selection 35

4.3.6 Discounts 35

4.3.6.1 In General 35

4.3.6.2 On the Fly 36

4.3.7 Customer Sales 36

4.3.8 Delivery Sales 36

4.3.8.1 Lookup Fail 36

4.3.8.2 Multiple Customers from semi-filled lookup fields 36

4.3.8.3 Customer Refuse 36

4.3.9 Rentals 37

4.3.9.1 Creating a Rental 37

4.3.9.2 Rental Deposits 37

4.3.9.3 Rental Returns 37

4.2.9.4 Deposit Refunds 37

4.3.9.5 Pricing Rental Time Overrun 37

4.3.10 Laybys 37

4.3.10.1 Creating a Layby 37

4.3.10.2 Looking Up Layby Status 37

4.3.10.3 Making a Layby Payment 37

4.3.10.4 Layby Closing 37

4.4.11 Ephemerals 38

4.4.11.1 Readying Ephemerals 38

4.4.11.2 Ephemeral Sales 38

4.4.11.3 Ephemeral Deliveries 38

4.4.12.4 Unsold Items 38

4.5 Returns 38

4.5.1 Return Reason 38

4.5.2 Returns in Sale 39

4.5.3 Dedicated Returns 39

4.6 Extended Pay Operations 39

4.6.1 With Cheque Reader 39

4.6.2 With Signature Pad 40

4.6.2.1 Credit signing 40

4.6.2.2 Customer Privacy Policy 40

4.7 Other Operations 40

4.7.1 Pay In 41

4.7.2 Pay Out 41

4.7.2 PLU Lookup 41

4.7.4 User Request 41

4.7.5 Blind Balance 42

4.7.6 z-tape Printout 42

4.7.7 Cash Drawer Editing 42

4.7.8 Transaction Summary 43

4.7.9 User Summary 43

5.0 General Operation 44

5.1 Daily Operations 44

5.1.1 Start Of Day 44

5.1.1.1 Returns in holding area. 44

5.1.1.2 Unknown PLUs from previous day 44

5.1.1.3 Default Cash Drawer Floats 44

5.1.1.4 Stock Reports 44

5.1.1.5 Adjustments Reports 44

5.1.1.6 Cron Scheduled reports 44

5.1.1.7 Synch Reports 44

5.1.1.8 Hunter-seeker fails on rss discovery requests 44

5.1.2 End Of Day 45

5.1.2.1 Basic Summaries. 45

5.1.2.2 Detailed Summaries. 45

5.1.2.3 Bank Run. 45

5.1.3 Out of Hours Operations 45

5.1.3.1 PLU caching. 45

5.1.3.2 Reconcile Stock. 45

5.1.3.3 Database Backup. 45

5.1.3.4 Synchronization. 45

5.2 Other Periods 45

5.2.1 Weekly 45

5.2.2 Monthly 45

5.2.3 Quarterly 45

5.2.4 Annually 45

5.3 Realtime System Monitoring 46

5.3.1 System Info 46

5.3.1.1 Server 46

5.3.1.2 Stations 46

5.3.1.3 Users 46

5.3.1.4 Status 46

5.3.2 Warnings/Errors 46

5.3.2.1 Server 46

5.3.2.2 Client 46

5.3.2.3 Database 46

5.3.3 Cash Drawer Warnings 46

5.3.3.1 High/Low Tide Warnings 46

5.3.3.2 Monetary Unit Warnings 47

5.4.4 Unknown PLU Notification 47

5.4.5 User Requests 47

5.5 Other Messages 47

5.6 Reports 47

5.6.1 Inventory / Products 47

5.6.1.1 Sales Ranking 47

5.6.1.2 Historical Reports 47

5.6.1.3 Inventory Valuation / Cost of Sales 47

5.6.1.4 Sales Analysis 47

5.6.1.5 Overstock / Understock 48

5.6.1.6 Vendor Analysis 48

5.6.2 User Reports 48

5.6.2.1 Attendance 48

5.6.2.2 Sales 48

5.6.2.3 Discrepancies 48

5.6.3 Suggest Reports 48

5.6.3.1 Reorder Point Calculation 48

5.6.3.2 Suggested Order 48

5.6.3.3 Multi-Site Purchase / Distribution 48

5.7 Collections 49

5.8 Targets 49

5.8.1 Setup 49

5.8.2 Reports 49

5.9 Operational Data Exporting 49

6.0 Stock Overview 51

6.1 General Operation 51

6.1.1 Inventory/Products 52

6.1.1.1 Adding a Product 52

6.1.1.2 Editing a Product 53

6.1.1.3 Delete a Product 53

6.1.2 Buy Prices, Sell Prices 53

6.1.3 Stock Levels 53

6.2 Stock Reconciliation 53

6.2.1 Sales 53

6.2.2 Returns 54

6.2.3 Goods In 54

6.2.4 Goods Out 54

6.2.5 Goods Transfer 54

6.2.6 Returns to Stock 54

6.2.7 Adjustments 54

6.2.8 Holding Areas 54

6.3 Server Setup 54

6.4 Client Setup 54

6.5 MIS Operations 54

6.5.1 Purchase Orders 55

6.5.2 Customer Sales 55

6.5.3 Goods In 55

6.5.4 Goods Out 55

6.5.5 Goods Transfer 55

6.5.6 Adding returned items to stock 55

6.5.7 Adding returned items to vendor 55

6.6 Returns Revisited 55

6.6.1 Types of Return 55

6.6.2 Dedicated Returns Transactions 56

6.6.2.1 Single Return Reason 56

6.6.2.2 Multiple Return Reasons 56

6.6.3 Returns In Sale Transactions 57

6.6.3.1 Single Return Reason 57

6.6.3.2 Multiple Return Reason 57

6.6.4 Holding Areas 58

6.7 Purchasing 58

6.7.1 Orders 58

6.7.1.2 Creation 58

6.7.1.2 Approval 58

6.7.1.3 Dispatch 58

6.7.2 Tracking 58

6.7.3 Goods Reception 58

6.7.4 Received Discrepancies 58

6.7.4.1 Wrong Order Item 58

6.7.4.2 Wrong Order Item Quantity 58

6.7.4.3 Damaged Item 58

6.7.5 Vendor Returns 58

6.7.6 Accounts Payable 59

6.7.1.9 Vendor Payment Reconcilliation 59

6.8 Orders 59

6.9 Paper Trails & Auditing 59

6.10 MIS Reports 59

7.0 Pricing 60

7.1 Basic Product Price 60

7.2 Multiple Sale Prices 60

7.3 Discounts 60

7.4 Promotions 61

7.5 Margins 61

7.6 Final Pricing 61

7.7 Labels 62

7.7.1 Product Labels 62

7.7.1.1 Registered barcodes 62

7.7.1.2 Generating an internal barcode 62

7.7.2 Shelf Labels 62

7.7.3 Other Labels 62

7.7.3.1 Barcodes 62

7.7.3.2 Translations 63

7.8 Multiple Site Synch 63

7.8.1 Head Office 63

8.0 Transactions 64

8.1 Purchasing 64

8.2 Sales 64

8.3 Adjustments 65

8.4 Accounts 65

8.5 Creating/Editing/Deleting 65

8.6 Reports 65

9.0 System Maintenance 66

9.1 Updates 66

9.1.1 General Updates 66

9.1.2 BhPos Updates 66

9.2 Scheduled Tasks 66

9.3 PLU Caching 66

9.4 Stock Reconciliation 66

9.5 Database Backup 66

9.5.1 Overview 66

9.5.2 A Sensible backup plan. 66

9.5.4 Implementation. 67

9.5.4.1 Daily 67

9.5.4.2 Weekly 67

9.5.4.3 Monthly 67

9.5.4.4 Annually 67

9.6 Clearing Up the Db 67

9.6.1 What data to clear off 67

9.6.2 When to clear off 67

9.6.3 Accessing historical data 67

9.7 Tasks, Scripts, Perl and the Shoddy Donkey 67

9.7.1 BhPos and Perl 67

9.7.3 Accquisition 68

9.7.4 Installation 68

9.7.5 Postgresql 68

9.7.6 MySql 68

9.7.7 Scripts 68

9.7.8 Synchronization 69

9.7.9 Usage 69

9.7.10 BhMIS Scheduling Interface 70

10.0 Multiple Sites 71

10.1 Setting Up 71

10.1.1 Head Office 71

10.1.2 Remote Sites 71

10.2 Synchronisation 71

10.2.1 Planning a Synch Plan 71

10.2.2 Implementation 71

10.2.3 Synch Failure and Rollback 71

10.3 Zone Pricing 71

11.0 - Customers 72

11.1 Customer Maintenance 72

11.2 Customer Discounts 72

11.2.1 Product-wide discounts 72

11.2.2 Product Specific Discounts 73

11.2.3 Promotion specific discounts 73

11.2.4 On the fly specific discounts 73

11.3 Orders 73

11.3.1 Order Entry 73

11.3.1.1 In Store 73

11.3.1.2 Phoned In 73

11.3.1.3 Web Site Generated 73

11.3.2 Order Processing 73

11.3.3 Order Dispatch 73

11.3.4 Order Returns 73

11.4 Loyalty System 73

11.5 Store Cards 74

12.0 Accounts 75

12.1 In General 75

12.1.1 Accounts 75

12.1.2 Account Headings 76

12.1.3 Government Account References 76

12.2 Account Maintenance 76

12.2.1 Accounts 76

12.2.2 Account Headings 76

12.2.3 Government Account Reference 76

12.3 General Operations 76

13.0 - System Specific Targets 77

13.1 Retail 77

13.2 Grocer 77

13.3 Restaurant 77

13.4 Hotel 77

13.5 Reservation/Classes/Courses 77

14.0 – Frequently Asked Questions 78

Appendix A – Keystrokes 79

In General 79

Return Key 79

Escape Key 79

Editing Keys 79

Numbers, decimal point 79

A.1 Standard Keystrokes 79

A.2 Keys with Shift 82

A.3 Keys with Control 83

A.4 Unmapped keys 87

A.4.1 Payment Types 87

A.4.2 Cash Back Types 87

Appendix B – Updating 88

B.1 Concepts 88

B.2 Reality 88

Appendix C – Database Layout 89

Appendix D – GNU Licences 90

D.1 General Public Licence 90

D.2 Free Documentation Licence 90

Appendix E – Barcodes 95

E.1 UPC 95

E.2 EAN 95

E.3 Other 95

E.4 BananaPos 95

E.4.1 Internal Encoded 95

E.4.2 Short Codes 95

E.4.3 Price Encoded 95

E.4.4 Quantity Encoded 95

E.4.5 Weight Encoded 96

E.4.6 Voucher Encoded 96

E.4.7 Token Encoded 96

E.4.8 Interface Encoded 96

E.4.9 Ephemerals 96

E.4.10 Customer Encoded 96

Appendix F – Cheques and MICR 97

F.1 Personal Cheques 97

F.2 Corporate Cheques 97

F.3 MICR 97

F.3.1 E13B MICR 97

F.3.2 CMC7 MICR 97

Appendix G – Magnetic Swipe Cards 98

G.1 Current Standards 98

G.2 General Store Layouts 98

G.3 BhPos Swipe Format 98

G.4 New Directions 98

Appendix H – Internationalization 99

G.1 Translations 99

G.1.1 Translators 99

G.1.2 Maintainers 99

G.2 ISO Country Codes 99

G.3 ISO Currencies 99


1.0 Overview

BananaPos is a point of sale system aimed at the Linux operating system.


1.1 Point Of Sale

A really interesting subject.


1.1.1 Nomenclature

Handy terms to bandy round the pub, to impress your friends and annoy your enemies.


1.1.2 In General




1.2 BhPos Features


None... but the endless ennui of writing this that stretches out across eternity.


2.0 Getting Started



2.1 Getting BhPos

The latest sources, and binary packages can be downloaded from http://www.bananahead.com/pos/download.



2.1.1 Formats



2.1.1.1 Source Code

gz, bz2



2.1.1.2 Binaries

rpm...



2.1.2 CVS

blah blah blah.



2.2 Requirements





2.3 Hardware

server/client same machine,

some basic hardware

zero hardware testing of software.



2.3.1 General Hardware



2.3.1.1 Server



2.3.1.2 Client



2.3.1.3 Network



2.3.2 Pos Hardware



2.3.2.1 Barcode Scanners



2.3.2.2 Printers



2.3.2.3 Cash Drawers



2.3.2.4 Customer Displays



2.3.2.5 Integrated POS Keyboards



2.3.2.6 Cheque Readers



2.3.2.7 Credit Card Readers



2.3.2.8 Scales



2.3.2.9 Signature Pads



2.4 Software

<add>

Basic required servers (system) – depends on end usage, and boot method, so run down fixed systems, and floating IP crap (DHCP), finish with diskless op (and NFS swap in low mem systems), and boot methods (tftp, pxe). Setting up diskless clients to run only bhpos (i.e. have no other use – more an X-Window op), or other use but no modal swap from bhpos (i.e. clerks can only use bhpos, no access to other things).

</add>



2.4.1 Dependencies



2.4.1.1 General compilation


autoconf

2.54

automake

1.7.3

make

3.8.0

libtool

1.5

gettext

0.11.5

intltools

0.23

pkgconfig

0.15.0


2.4.1.2 Common Dependencies


libxml2

2.5.8

libxslt

1.0.31 (optional)


2.4.1.3 Server Dependencies

Pick a database implementation:

MySQL

4.1

postgreSQL

7.3.5



2.4.1.2 Client Dependencies

gtk+

1.2.10 (Not 2.X.X)

sigc++

1.0.4 (Not 1.2.X)

gtk--

1.2.10 (Not 2.X.X)


2.4.1.3 MIS Dependencies

Apache

2.X.X

PHP

4.3.2






2.4.1.5 Utilities Dependencies



atk


pango


glib


gtk


sigc++


gtkmm



2.5. Files Overview


2.5.1 Common Libraries


bhapm

Advanced power management.

bhcfg

Reads configuration files.

bhcurrency

Currency support.

bhcrypt

Encryption wrapper.

bhdev

Device abstraction (most client libs inherit from this) .

bhlocale

Locale support.

bhgrp

A System grouping thingy.

bhkmap

Keymap things.

bhmodstatus

A sort of undo/redo for client mode/status.

bhpisces

A sample encryption (two fish) library for bhcrypt wrapper library.

bhtrans

Transaction stuff.

bhwidget

A widget library.

bhups

A UPS library.


2.5.2 Server Libraries


bhmysql

A MySQL wrapper for the SQL interface.

bhpgsql

A postgresql wrapper for the SQL interface.

bhodbc

An experimental ODBC interface.

bhmodule

The dynamic module loader.

bhci

The client information stuff.

bhevent

Event stacking.

bhccv

Credit Card Validation

bhprnlist

Remote Printer List


2.5.3 Client Libraries


barcode

Barcode scanner.

display

Display

keyboard

Keyboard

keylock

Keyboard Keylock

magswipe

Magnetic card.

custdisp

Customer display.

cashd

Cash drawer.

printer

POS printer.

smartc

Smart card.

micr

Magnetic ink reader (for cheques).

tablet

Signature tablet. *

pad

A generic graphical tablet interface. *

scales

weighing scales.*


* experimental at time of last doc update, and have been for some time - not really going to be developed until demand goes beyond 0.


2.6 Installing



2.6.1 Source Install

usual stuff...



2.6.2 Binary Install

etc...



2.6.3 Installer Program

In test, but MIS based setup wizard due v0.9.9.



2.7 Installed Files



2.7.1 Base



2.7.2 Common Libraries



2.7.3 Server Libraries



2.7.4 Client Libraries



2.7.5 Other Files





3.0 Setup



3.1 Planning

Decide on general operation: policy decisions...



Decide on station operation (end generic ops).

Decide on server operation (global ops).



3.1.1 Quo Vardis

The pub...



3.1.1.1 What do you Require?

POS

Stock management

Customer management

Order management

etc.



3.1.1.2 Future Needs?





3.1.2 Modes of Operation

Selecting a mode of operation.


Passive

Active

Server Side


3.1.2.2 Passive Mode

Logout every transaction, multiuser/station mode.



3.1.2.2 Active Mode

User remains logged in until physically logs out. Fixed user mode.



3.1.2.3 Server Side Mode

Transactions can be picked up from any station, tranaction stored on the server. System wide user/transaction mode, multiple redirected printing, multiple redirected end payment, split bill payment (as opposed to split payment per type), etc... Exceptionally boring.



3.1.3 The Desktop

Snore...



3.1.3.1 Gnome

On menu, on desktop...



3.1.3.2 KDE

On menu, on desktop...



3.1.4 Customizing the Banners

Well... this is really hard...



Login Screen

/usr/share/bhpos/pixmaps/banner1.xpm



POS Screen

/usr/share/bhpos/pixmaps/banner2.xpm (520x64)



3.2 Database



3.2.1 Structure



3.2.1.1 MySQL Structure import



3.2.1.2 MySQL Accounts import



3.2.1.3 postgreSQL Structure import



3.2.1.4 postgreSQL Accounts import



3.2.2 Data



3.2.2.1 In General



3.2.2.2 Company Setup



3.2.2.3 Sites Setup



3.2.2.4 Departments Setup



3.2.2.5 Groups Setup



3.2.2.6 Stations

MAC stuff



3.2.2.7 Interfaces



3.2.2.8 Users



3.2.2.9 Cash Drawer defaults



3.2.2.10 Round Unit



3.2.2.11 Low/High Tide Marks



3.2.2.12 High/Low currency Marks



3.3 Server



3.3.1 In General



3.3.2 Configuration File



Variable

Type & Range

Description

[default]

debuglevel

integer


isdaemon

bool


pidfile

file


protocoludp

bool


protocoltcp

bool


host

address


port

integer


mchost

address


mcport

integer


loglevel

integer





[system]



basecurrencyid

integer


baselocaleid

integer


modulesdir

path

/usr/sbin/bhpos/modules/

errorredirect

bool


erroraddr

address


errorport

integer


errorretries

integer


errortimeout

integer

in microseconds

pluandplay

bool

inserts semi-filled records in products table on PLU not found

serverside

bool

enable server side transactions

servertargets

bool

enable server side targets

servermenu

bool

enable server side menu of selected products




[db]



multiplehosts

bool


primehost



database



user



password



pctablename



cacheplu

bool


cachelimit

integer


sqlfile



wbcprefix

integer


qbcprefix

integer


pbcprefix

integer


ifbcprefix

integer


vbcprefix

integer


tbcprefix

integer


custbcprefix

integer


intbcprefix

integer

EAN-13 in-store prefix

usedefaultcashdrawer

bool


currencyroundtype

integer

0 - none, 1 - round, 2 - up, 3 - down




[clients]



keepalive

bool


alivetime

integer

microseconds

aliveretries

integer


addressrange

integer


filterhosts

bool


clientreset

integer

120 seconds past midnight

maxdiscount

float


cashdlowtide

float


cashdhightide

float





[rps]



address


remote printer server

port



retries

integer


timeout

integer





[ups]



haveups

bool


network

bool


host

address


port

integer


updateperiod

integer


clientcollect

bool


clientperiod

integer





[ccv]



host

address


port

integer


sslhost

address


sslport

integer


certificate

file

modem(1) & IP(2) & SLL(4)

conntype

integer


defaultconn

integer


user

string


password

string


authpolicy

integer

0 - for none, 1 - for amount, 2 - for all

authamount

float





[account]



defaulttax

integer


returns

integer


transactionprefix

string





[globalprinter]



setup

string


init

string

0x27 0x64~

preprint

string

0x27 0x77 0x00 0x27 0x97 0x01 "Company Name" 0x10 "Address1" 0x10 "Address2" 0x10 "Address3" 0x10 "postcode" 0x10 "telephone number" 0x10 "website" 0x10 0x10 0x27 0x97 0x00 0x27 0x77 0x01~

header =

string


item

string


transsum

string


paysum

string


footer

string

0x27 0x77 0x00 0x27 0x97 0x01 0x10 "VAT Number" 0x10~

postprint=

string

0x27 0x105~

slip_preprint

string


slip_header

string


slip_item

string


slip_footer

string


slip_postprint

string


lbl_preprint

string


lbl_item

string


lbl_postprint

string


journal_preprint

string


journal_item

string


journal_postprint

string


cheque_preprint

string


cheque_item

string


cheque_postprint

string


endorsement_preprint

string


endorsement_item

string


endorsement_postprint

string


micr_preread

string


micr_read

string


micr_status

string


micr_postread

string


custdisp_presale

string


custdisp_postsale

string


custdisp_idle

string





[idle]



updateperiod

integer


threadcheck

integer


procwriter

integer


transrecommit

integer


statsupdate

integer





[serversidetrans]



rovingpolicey

integer

















3.4 Client



3.4.1 Configuration File



[default]



debuglevel

integer


host

address

address of server

port

integer

server port

mchost

address

address of multicast server

mcport

integer

multicast port

sockettype

connection type (udp or tcp)




[post]



allowuser

bool

allow user login

allowsupervisor

bool


allowmanager

bool


allowadmin

bool


modal

bool

modal operation (no focus switch)

logouteverytrans

bool

logs user out every transaction (passive)

allowpassivereturns

bool

returns don't have to have a matching transaction in db

confirmcommit

bool

wait for second return for commit (for people without cash drawers)

powerfailpolicy

integer

powerfailtimeout

integer


requestretries

integer

number of resends for any message

shutdownpolicy

action to take at shutdown

multiplesaleprice

bool

# downloads a list of sale types (retail, trade, student, etc.) on crank up

xsize

integer

initial x size of diplay

ysize

integer

initial y size of diplay

number_catalogue


number/time/date formatting

language_catalogue


language selection




[ui]



colour_default_foreground

#colour


colour_default_background

#colour


colour_foreground_selected

#colour


colour_background_selected

#colour


colour_cell_foreground

#colour


colour_payment_backgroun

#colour


colour_paymenthdr_foreground

#colour


colour_paymentlist_foreground

#colour


colour_uplu_foreground

#colour


colour_plulookup_foreground

#colour


colour_return_foreground

#colour


colour_layby_foreground

#colour


colour_rental_foreground

#colour


colour_ephemeral_foreground

#colour


style_file






[user]



unknownplupolicy

integer

unknown plu policey (0 - price entry, 1 - price description entry)

confirmpolicy

bool

confirm on things like logout, cancel trans, eat dog




[plus]



authentication

integer

authenticate connection

encryption

integer

encrypt connection

sessiondefault

integer

let server define session

sessiontimeout

integer

session dies

networkbackoff

integer

regression value for network timeouts




[transaction]



multipleopen

bool

allow multiple open transactions

serverside

bool

transactions stored server side (open trans stuff)

multipleassigned

bool

list open transactions assigned to user at passive login (if N lists all open trans)

authcash

bool

authorize cash transactions

authcashlimit

integer

for a limit of cash

plutimeout

integer

timeout on PLUs in milliseconds

externalcredit

bool

cedit is external to program

multiplestartprices

bool

multipl start prices (before transaction

multipleuplutax

bool

Unknown PLU multple tax set (pops menu)

nosalecashdrawer

bool

can open cash drawer outside transaction (no sale)

returninsale

bool

allow in sale returns

returnreason

bool

force a return reason

blindbalatlogout

bool

blind balance on active logout

blindbalretries

integer

number of retries till blind balance fail

blindbalextypes

integer

extended blind balance types

ztapeatlogout

bool

print z-tape at active logout

taxinclusive

bool

tax is inclusive of subtotal

cashbacktype

integer

type of cashback allowed

cashdresetatlogin

bool

reset cashdrawer contents at active logout




[printer]



devicetype



useglobalprintsettings

bool


xres

integer


yres

integer


reccharline

integer


recfont

integer


journalcharline

integer


journalf