Stansoft - Standard Software for Business

====================================================================
Installation and setup instructions for Stansoft accounting software
====================================================================
http://www.stansoft.org

Requirements:
* Linux operating system
* PostgreSQL database server (included)
* (optional) IBM Informix Innovator-C 12.10.xC9 database server (free from IBM)
* Printer with PCL emulation


This product includes Aubit4GL written by the Aubit Development Team,
the Aubit4GL source code can be downloaded from:
http://sourceforge.net/projects/aubit4gl/
http://aubit4gl.cvs.sourceforge.net/viewvc/aubit4gl/


For help email: support@stansoft.org



=====
Setup
=====

PostgreSQL is included with Stansoft and is the default database server.
There is also support for Informix Innovator-C, but you must download
that from IBM, it is not included with Stansoft.

If you will not be using Informix, you can skip ahead to the
'Install Stansoft' section.

IBM Informix Innovator-C database server software can be downloaded from IBM
at the following link at no charge:

https://www.ibm.com/products/informix/editions

You will need to register for an IBM user ID, which is free. The Stansoft and
Innovator-C architecture must match, if you are using the 64-bit version of
Stansoft you must use the 64-bit version of Innovator-C.

Extract the Informix software into a temporary directory, you will be 
prompted for this directory when the install is run. At the shell prompt
type the following commands:

Create directory to extract the Informix software into.

  $ mkdir tmpinstall

Change directory into the newly created directory for extraction.

  $ cd tmpinstall

Extract the IBM Informix tar file, using the full path to its location.

  $ tar xvf /path/to/iif.12.10.FC4IE.linux-x86_64.tar

After extracting the Informix files, you can proceed with the Stansoft install,
which will install the Informix database for you.  


----------------
Install Stansoft
----------------
The following needs to be done as root or a user setup as a sudoer in which 
case you need to prefix the commands with 'sudo':

    If you are installing the RPM, the program installation directory will be
    /usr/lib64/stansoft and the database will be installed into
    /var/lib/stansoft. The RPM can be installed by running:

    dnf install stansoft-X.XX-1.fc29.x86_64.rpm 
    /usr/lib64/stansoft/install
    systemctl enable stansoft.service
 
When installing from the .tar.bz2 file, the default directory
for Stansoft is /opt/stansoft.

Change to the directory where you downloaded Stansoft and execute:
  # tar xvf stansoft-vX.XX.tar.bz2
  # mv stansoft /opt/

  # /opt/stansoft/install

You will be prompted to choose either PostgreSQL or Informix database
server. The default is PostgreSQL so pressing return will accept that.

If you choose Informix you will be prompted with the following:
"Enter the path to the Informix installation media:"
At this prompt enter the path to the tmpinstall directory where you extracted
the Informix software. Follow the rest of the prompts to complete the install.
Depending on the speed of your computer, the Informix installation may take
a while when you see "Installing Informix..."

If you run into any problems during install have a look at stansoft/doc/FAQ
or email support@stansoft.org.


=======================================
General information on running Stansoft
=======================================

Stansoft needs to be run in a terminal with at least 24 rows and 80 columns.
To find out how many rows and columns the current terminal is displaying, at
the prompt use the command 'stty -a'. You can copy or link the included
desktop file to your applications directory:
  cp /opt/stansoft/etc/stansoft.desktop /usr/local/share/applications 
This will allow you to search in your desktop environment for application
Stansoft, which will launch an xterm.

The user "stansoft" has superuser access to all the Stansoft menus. You
will need to login as user "stansoft" to grant menu access to other users.

If you are using Informix for the database server then
you must have the environment variable INFORMIXDIR set before running
Stansoft. It should be set to the directory that you installed
the database server i.e. export INFORMIXDIR=/opt/informix 
or set it with the included environment file:

$ . /opt/informix/ol_informix.sh (make sure to include the dot space)

The DBDATE environment variable specifies the end-user format of DATE values.
For the U.S. English locale, the default for DBDATE is MDY4/
Use one of the following to use a different date format. You can add one of
these to /opt/stansoft/etc/postgres.local or if using Informix stansoft.local.
export DBDATE=MDY4/   # MM/DD/YYYY
export DBDATE=DMY2-   # DD-MM-YY
export DBDATE=DMY4/   # DD/MM/YYYY 


After the installation has completed the database server will be running,
to have the database started after a reboot:

  Copy /opt/stansoft/etc/rc.postgresql to /etc/rc.d if using a Linux
  distribution that uses the BSD style init script layout or if SystemV
  style startup scripts are used copy it to /etc/init.d. Copy the
  file /opt/stansoft/etc/pgtab to /usr/local/etc, this file contains
  the path to the Postgres environment setup script located at
  /opt/stansoft/etc/postgres.sh. If you have installed the ssdemo database
  uncomment the ssdemo environment script path in /usr/local/etc/pgtab.

  If you are using an Informix database use /opt/stansoft/etc/rc.informix
  and /opt/stansoft/etc/inftab.

  If using SystemV style startup scripts your distribution may contain a
  script to automatically create all the necessary links such as:

    # cp /opt/stansoft/etc/pgtab /usr/local/etc
    # cp /opt/stansoft/etc/rc.postgresql /etc/rc.d/init.d
    Debian
    # update-rc.d rc.postgresql defaults
    Red Hat 
    # chkconfig --add rc.postgresql

    If SELinux is in use you may need to add a local policy module
    to allow access to startup the database at boot. Look at /var/log/messages
    which may give the commands to run, such as:
    # ausearch -c 'rc.postgresql' --raw | audit2allow -M my-rcpostgresql
    # semodule -i my-rcpostgresql.pp



Login as user "stansoft" and run the program:

  $ /opt/stansoft/stansoft

-----------
Active Keys
-----------
Ctrl-F Perform a find on the current field to search for data.
Ctrl-A Toggle between insert mode and type-over mode in a field.
Ctrl-C Exit a screen without saving changes.
Ctrl-D Delete characters from the cursor position to the end of the field.
Ctrl-X Delete a single character at the cursor.
Ctrl-W Display the help screen.
Esc    Exit a screen and save changes, also runs a query after selecting Find.
F12    Saves defaults on print parameter screen.

---------
Ring Menu
---------
A ring menu is a menu or list of options at the top of the screen. Typical
options include: Find  Next  Previous  Add  Change  Exit.
You can use arrow keys to highlight the option you want and then press enter
to select it or pressing the uppercase character of the menu option you want
will jump directly to that option.

------
Search
------
To search for records, select "Find" from a ring menu, then move into the
field you want to perform the search on and enter your search criteria.
After entering search criteria in one or more fields pressing Esc executes
the search. If you leave all fields blank, then all records will be found.
Wildcards are allowed in the search criteria. Some fields can be populated
by doing Ctrl-F to do a find on a specific field.

Fields that allow for a search will have Ctrl-W listed as an active key
on the top of the screen. When in one of these fields doing Ctrl-W will
show a list of the available operators and syntax for entering search
criteria in the field.

---------------
Wildcard Search
---------------
Entering "AB*" selects all records beginning with "AB". The "*" matches
any characters after "AB".

A*  Records beginning with "A"
*A* Records containing "A"
*A  Records ending with "A"
A?E Records beginning with "A" and ending with "E"

-------------
Menu security
-------------
To grant menu access to other users, navigate the menu by either using the
arrows keys or key in the menu item number. 

  System Management > Menu Security Maint 

  This is where you can grant menu access to users. A user added here must be
  a Linux user login name. You can only grant access to menu items that you
  have access to. User stansoft by default has access to all menu items, so
  login as this user initially to grant access to other users. Select the ring
  menu option "User" and enter a user name in the user field.  A window will
  open and tell you the user is not found, select Yes to add the user.  Press
  enter on the  menu code field, leaving it blank, this will select all menu
  items which you can scroll using the ring menu Next and Previous commands.
  Select option "Modify" and enter a "Y" in the field next to the menu item
  you want to give the user access to or leave it blank to revoke access. 

  If you would like to copy all access privileges from one user to another,
  select the ring menu option "User" and enter the username that you want to
  copy from in the User field and press Esc. Next select the ring menu option
  "Copy" and enter the name of the user to copy permissions to in the "to user"
  field and press Esc.

---------------
Database Backup
---------------
The PostgreSQL data directory, where all of your data is stored
is located at /opt/stansoft/data. It is possible to simply backup this
directory, but if you do this the database server MUST be shut down in order
to get a usable backup.

To stop the database server:
  kill `head -n1 /opt/stansoft/data/postmaster.pid` 

A better and safer method of backup is to use the pg_dumpall utility, this
can be run while the database server is running. This will generate a text
file that can be used to recreate the database in the same state as it was
at the time of the dump. 

Do the Postgres database backup and restore as user stansoft.

Set the PostgreSQL environment (make sure to include the dot space):
. /opt/stansoft/etc/postgres.sh

Backup the database and user roles:
  pg_dumpall > file.dump

  Before doing the restore, verify that the database dump file is good.
  You might also want to backup the data directory because the restore will
  first drop the database before restoring it. The drop is needed to make
  sure no duplicate rows get inserted on restore.
  
To restore the dump file:
  dropdb stansoft
  createdb stansoft
  psql stansoft < file.dump 2> ssimport.err

See stansoft/doc/INFORMIX for information on backing up an Informix database.

-------
Upgrade
-------

To upgrade an existing installation, you can download the latest version from
http://www.stansoft.org/download. Before installing the upgrade make sure you
have a good backup. See the section on Database Backup to complete a dump of
the database.

Set the Stansoft directory:
# export SSDIR=/opt/stansoft
or if using the Fedora rpm:
# export SSDIR=/usr/lib64/stansoft

All of your data is stored in $SSDIR/data. You will need to dump the database
prior to installing the upgrade. After upgrading, the database dump will need
to be imported if the PostgreSQL version included with Stansoft has changed.

Set the PostgreSQL environment (make sure to include the dot space):
# . $SSDIR/etc/postgres.sh

Stop the PostgreSQL database
# $SSDIR/etc/rc.postgresql stop 
or on Fedora
# systemctl stop stansoft

If you have multiple companies setup, stop each database.

Extract the downloaded archive into /opt which will overwrite your existing
programs, but will keep your database. Run the following commands as root:

# tar --no-same-owner -xvf stansoft-vX.XX-x86_64.tar.bz2 -C /opt
# chown -R stansoft:stansoft $SSDIR

On Fedora you can install the rpm with:
# dnf upgrade stansoft-X.XX-X.fcXX.x86_64.rpm
 

    Compare the PostgreSQL version of the upgraded install to
    that of your existing database. If the version outputted from
    the following two commands differs then you must complete
    the steps outlined below, otherwise you can start the database:

    pg_config --version | cut -d. -f1
    cat $PGDATA/PG_VERSION

    If you determined that the PostgreSQL version has changed
    as shown above, you must create a new data directory and
    import your dumped database backup:
    Become user stansoft, do not use --login so the environment is preserved:
      # su stansoft
    Move the data directory, so a new one can be created:
      $ mv $PGDATA $PGDATA-old
    Initialize the new database:
      $ initdb -D $PGDATA
    Turn on log rotation
      sed -i 's/#\(logging_collector =\) off/\1 on/' $PGDATA/postgresql.conf
    Start the database server:
      $ pg_ctl start
    or on Fedora:
      # systemctl start stansoft
    Import your backup dump file:
      $ createdb stansoft
      $ psql stansoft < file.dump 2> ssimport.err
    Verify you can access the imported data, then remove the old data directory:
      $ rm -rf $PGDATA-old


Start the PostgreSQL database
# $SSDIR/etc/rc.postgresql start
or on Fedora
# systemctl start stansoft

As user stansoft launch the menu with $SSDIR/stansoft and run the
database update program System Management > Update Database. This needs to
be run for each database you are using including the demo database if you
have that installed.

To update payroll tax tables, you can either manually do it from the
Payroll Tax Maintenance menu or from the command line using the SQL
files. This should be done after running the last payroll of the year
and before running a new payroll. It needs to be done for each database
you are running. Each database should have its own environment file,
so substitute the appropriate name if you have additional databases setup.

Login as user stansoft.
Set the PostgreSQL environment:
  $ source $SSDIR/etc/postgres.sh
Load tax tables into database.
  U.S. Federal tables:
  $ psql stansoft < $SSDIR/pytax/pyfeYYYY.sql
  U.S. State tables, for example use 'mi' for Michigan:
  $ psql stansoft < $SSDIR/pytax/pymiYYYY.sql
  UK tables:
  $ psql stansoft < $SSDIR/pytax/pyukYYYYyyyy.sql


==============
DATABASE SETUP
==============

At this point, you should have a running system and now you need to 
begin setting up codes. Since this is a relational database, the codes
need to be setup in a specific order because they are used throughout the
system, for example postal codes need to be entered before you can add
customer accounts to the system. 

An empty database was created during the install with some code tables
containing defaults as noted below. Using the code maintenance programs,
follow the order listed below when setting up the database with your data.
Some of the maintenance programs, like Zip Code and G/L Account Master have
an import function to import from a delimited file. See the help screen
Ctrl-W in those programs for more information.

Below is a general overview of the order in which the programs need to be
setup. For a more detailed explanation see the Stansoft manual located in
/opt/stansoft/doc/ssmanual.pdf.


System Management
=================

  1, Add county codes in the county maintenance program.
     System Management > County Maint
     (Blanket U.S. counties are in the database)

  2. Add state codes in the state maintenance program.
     System Management > State Maint
     (All U.S. states are in the database)

  3. Add zip/postal codes in the zip code maintenance program.
     System Management > Zip/Postal Code Maint
       A delimited file containing postal codes can be
       imported by selecting the ring menu option "Import".
       Pressing Ctrl-W from the Import window will show a help
       page containing the format for the import file.

  4. Add company name to company maintenance program.
     System Management > Company Maint

  5. Add profit centers in the profit center maintenance program.
     System Management > Profit Center Maint
       Add profit centers in the profit center maintenance program. A profit
       center is used to track profit and loss for different departments of
       your company. It might be a warehouse or retail store or any other
       division of the company that needs financial information reported
       separately. You can enter as many profit centers as you want, but you
       must at least enter a company wide profit center, the suggested  number
       for this is "0" zero. If you have retail gas stations and will be using
       the Retail Sales module you will need to enter a profit center for
       each store. In the "Tax Group" field enter "PC", this is the 
       default tax use group already in the database. If you have profit 
       centers that are taxed differently you can change the tax group
       later after you have setup the use groups as detailed in the
       "Tax Control" section.

  6. Add terms in the terms maintenance program.
     System Management > Terms Maint
     (Standard term codes are in the database, but you can add more.)

  7. Add unit of measure codes in unit of measure maintenance.
     System Management > Unit of Measure Maint
     (Standard UOM codes are in the database, but you can add more.)

  8. Add bank account in bank maintenance.
     System Management > Bank Maint
     (You will first need to setup G/L codes, see General Ledger section)

  9. Enter the company wide profit center number in the value field 
     System Management > System Parameters Maint
     Parameter Number: 2

     Enter the default printer for reports
     Parameter Number: 7

     Parameter Number: 110
     Enter the phone number format. If you leave it blank then no
     formatting will be applied to phone number fields. The following
     formats are supported:
     (###) ###-####
     ###-###-####
     ##### ######

     By default no fuel menus are shown. If you want to use the
     Fuel Management, Fuel Dispatch and Retail Sales modules set
     this to 'Y'.
     Parameter Number: 1000


General Ledger
==============

  1. Add G/L periods in period maintenance.
       General Ledger > Period Maint
         A G/L period is the period for which you will be doing reporting,
         for example, financial statements or tax reporting. Typically a
         period is one month so you would have 12 periods in a year. Adding
         all 12 periods now, means you will only need to enter a new series
         once a year at the beginning of your fiscal year.
         Suggested series name is the year of the period you are setting up,
         if you are on a calendar year. If your fiscal year is not a
         calendar year you can use something like FY11 for fiscal year 2011.

  2. Add G/L accounts in account master maintenance.
       General Ledger > Account Master Maint
         You will first need to add G/L accounts for your company wide
         profit center (0), and then for each additional profit center 
         you setup. A delimited file containing account numbers can be  
         imported by selecting the ring menu option "Import". The 
         format for the import file can be viewed by pressing Ctrl-W. 

  3. Enter the last G/L batch number.
     System Management > System Parameters Maint
     Parameter Number: 2225
     (You can use any number you want, this is used when entering 
      general journal entries.)


Accounts Payable
================
  
  1. Add vendor class codes in vendor class maintenance.
     Accounts Payable > Vendor Class Maint
     (Standard class codes are in the database, but you can add more.)

  2. Add vendor codes in vendor master maintenance.
     Accounts Payable > Vendor Master Maint
       In addition to your regular vendors, if you are using the Retail Sales
       module, you will need to enter a vendor named "CASH VENDOR" used for
       cash purchases at the retail stores and a vendor named "TRANSFER VENDOR"
       used for retail adjustments or store transfers of inventory.

  3. Enter the accounts payable check signature image path
     System Management > System Parameters Maint
     Parameter Number: 5001

     Enter the accounts payable check signature arguments
     Parameter Number: 5002

     example: -v 6500 -h 3500 -s 80
     v=Vertical image position
     h=Horizontal image position
     s=Default image size (percent of original size)

     Enter the default printer for A/P checks
     System Management > System Parameters Maint
     Parameter Number: 5007

     Enter the default printer for EFT notices
     Parameter Number: 5008

     Enter the default bank account number
     Parameter Number: 5009

     Enter the G/L accounts payable account number
     Parameter Number: 3008

     Enter the G/L unbilled liabilities account number
     Parameter Number: 1051


Inventory 
=========

  1. Add pricing formula codes in pricing formula maintenance.
     Inventory > Pricing Formula Maint
     (The database contains code ALL, but you can setup more)

  2. Add product and tax class codes in product and tax class maintenance.
     Inventory > Product & Tax Class Maint
     (Standard codes are in the database, but you can add more.)

  3. Add salesman codes in salesman name maintenance.
     Inventory > Salesman Name Maint

  4. Add product codes in inventory header maintenance.
     Inventory > Inventory Header Maint

  5. Add G/L account and pricing for inventory codes in inventory master maint.
     Inventory > Inventory Master Maint

  6. Add inventory locations in inventory location maintenance.
     Inventory > Inventory Location Maint
       A location needs to be entered for each product sold, for wholesale 
       items the location can be the same for the products, enter the       
       company wide profit center or a warehouse profit center you may have
       setup and then add a record for each product at this location for 
       example location 0. Each fuel product needs to have a distinct location,
       so if you have products 01, 02, and 03 for gas, you can use location
       numbers 01, 02, and 03 or whatever you want, but you can not have two
       different fuel products at the same inventory location.

  7. Add product blends in product blending maintenance. (optional)
     Inventory > Product Blending Maint

  8. Enter the starting number for last invoice number issued by the system
     System Management > System Parameters Maint
     Parameter Number: 6001
 
     Enter inventory count type (B=beginning, E=ending)
     Parameter Number: 6005

     Enter the default inventory location
     Parameter Number: 6010
     (This is the profit center number from which your inventory items are sold)

     Enter the default printer for invoices
     Parameter Number: 6210

     Enter the invoice printer type (Y=laser, N=Epson Impact)
     Parameter Number: 6211

     Enter the picking slip printer type (Y=laser, N=Epson Impact)
     Parameter Number: 6212

     Enter the delivery note printer type (Y=laser, N=Epson Impact)
     Parameter Number: 6213

     Enter the UK VAT Registration number if applicable 
     Parameter Number: 6215

     Enter the UK Company Registration Number (CRN) if applicable
     Parameter Number: 6216

     Enter the UK Alcohol Wholesaler Registration Scheme (AWRS) if applicable
     Parameter Number: 6217

     Enter the UK VAT accounting scheme (C=cash, S=standard), default is S
     Parameter Number: 6220


Tax Control
===========

  1. Add tax codes in tax table maintenance.
     Tax Control > Tax Table Maint

     Using the following naming conventions will make it easy to identify
     and understand your tax codes.

     Example code: FDEGY
     FD = Federal tax
      E = Excise tax
      G = Gasoline
      Y = Yes charge flag

     First two characters designate the tax authority, use FD for federal or
     the state abbreviation, if it is a state tax.

     Third character designates the tax type.
       E = Excise tax
       P = Prepaid sales tax
       S = Sales tax
       F = Fee

     Forth character designates the product class.
       G = Gasoline
       D = Diesel
 
     Fifth character designates the charge flag
       Y = Yes
       N = No
       D = Debit
       C = Credit
       0 = Zero

     The fifth character, the charge flag, should reflect what you have
     in the "Charge Flag" field. This field determines if the tax should
     be charged or not and what general ledger account entries should be 
     made by the system.

     Generally you should make two codes for each tax, one with a "Y" charge
     flag and one with a "N" charge flag. This is because you may pay tax
     on the fuel when you purchase it, but not charge tax when you sell it.
     For example you are charged excise tax when you purchase gas, but if you
     sell it to a non taxable entity such as government you don't charge
     the excise tax on the sale. You would then use the code with the "N"
     flag on the sale to track the sale for tax reporting.
      
     FDEDY - Federal excise diesel tax charged
     FDEDN - Federal excise diesel tax not charged
     FDEGY - Federal excise gas tax charged
     FDEGN - Federal excise gas tax not charged

     General ledger entries made when buying from supplier:
       Charge Flag = Y
         Debit  - purchases account
         Credit - unbilled liabilities account

     General ledger entries made on the sale of fuel:
       Charge Flag = Y
         Debit  - cash settlement or accounts receivable account
         Credit - sales account

       Charge Flag = N
         Debit  - tax payable account
         Credit - purchases account

     Sales tax codes or tax that is based on money rather than units needs to
     have two codes setup for each tax, one with a "Y" and one with a "C"
     charge flag.

     General ledger entries made for sales tax on the sale:
       Charge Flag = "Y"
         Debit  - cash settlement or accounts receivable account
         Credit - sales account

       Charge Flag = "C"
         Debit  - purchases account
         Credit - tax payable

     Prepaid sales tax codes need "Y" and "D" charge flags for fuel products.

     General ledger entries made for prepaid sales tax on the purchase:
       Charge Flag = "Y"
         Debit  - purchases account
         Credit - unbilled liabilities account

       Charge Flag = "D"
         Debit  - tax payable
         Credit - purchases account

       The two purchases account entries cancel each other out since the
       "C" flag on sales tax will debit the purchase account on the sale. 

     Field "Tax Order" determines if sales tax is calculated on another tax.
       Enter "0" if sales tax is NOT charged on this tax.
       Enter "1" if sales tax is charged on this tax.
       Enter "2" if this is a sales tax code and is charged on another tax.

       If your state calculates sales tax on the federal excise, but the
       state excise is exempt from sales tax, you would enter "0" for 
       the state excise tax code and a "1" for the federal excise tax code,
       and a "2" for the sales tax code.

  2. Add tax use groups in tax use group maintenance.
     Tax Control > Tax Use Group Maint
 
     Now that you have all your tax codes setup, they need to be assigned
     to a tax use group. Suggested naming conventions for tax use groups
     are for example:

       MISUPP  = purchases from a Michigan supplier
       MIPUMP  = sales through a Michigan pump 
       GOVT    = government sales
       TAXABLE = taxable sales

     You will need a use group for each group you purchase or sell to based
     on how the fuel is taxed. For example, in Michigan there are three
     tax classes needed CLEAR for clear diesel, DYED for dyed diesel, and
     GAS for gasoline. Below is what the MISUPP (Michigan Supplier) use
     group for clear diesel looks like and MIPUMP group: 

      Tax Use Group [MISUPP  ]                                Link [          3]
 Tax Class     [CLEAR]  [CLEAR DIESEL                   ]
 Description   [MICHIGAN SUPPLIER                       ]
 ================================ Tax Tables =================================
  Sched  Code  Lvl Where      Rate     Date    Chg  Description           Trn
 [X    ][FDEDY][F][US  ][   .24400][01/01/1998][Y][FEDERAL EXCISE DIES][   22]
 [X    ][FDOSY][F][US  ][   .00190][01/01/2009][Y][FED OIL SPILL TAX  ][   42]
 [X    ][LUSTY][S][MI  ][   .00875][01/01/1998][Y][MICHIGAN ENVIRONMEN][   16]
 [1UN  ][MIEDY][S][MI  ][   .15000][04/01/2003][Y][MICHIGAN EXCISE DIE][   19]

 Tax Use Group [MIPUMP  ]                                Link [         15]
 Tax Class     [GAS  ]  [GASOLINE                       ]
 Description   [MICHIGAN PUMP                           ]
 ================================ Tax Tables =================================
  Sched  Code  Lvl Where      Rate     Date    Chg  Description           Trn
 [X    ][FDEGY][F][US  ][   .18400][01/01/1998][Y][FEDERAL EXCISE GAS ][   26]
 [X    ][LUSTY][S][MI  ][   .00875][01/01/1998][Y][MICHIGAN ENVIRONMEN][   16]
 [X    ][MI06C][S][MI  ][   .06000][01/01/1998][C][MICHIGAN SALES TAX ][    5]
 [X    ][MI06Y][S][MI  ][   .06000][01/01/1998][Y][MICHIGAN SALES TAX ][    4]
 [X    ][MIEGY][S][MI  ][   .19000][01/01/1998][Y][MICHIGAN EXCISE GAS][   25]

     Put an "X" in the schedule field to assign a tax to the use group. If
     you want to track the sale or purchase put a user defined schedule code
     in this field such as "1UN" as shown above.


Accounts Receivable
===================

  1. Add customer class codes in customer class maintenance.
     Accounts Receivable > Customer Class Maint
     IMPORTANT: Make sure you enter your G/L account number in the General
                Ledger Number field. Normally you would use your Accounts
                Receivable account number. This G/L account will be debited
                on sales to a customer and credited when a payment is entered.
                It is the control account referred to in Transaction Type
                Maintenance.

  2. Add cycle codes in cycle maintenance.
     Accounts Receivable > Cycle Maint
     (Standard codes are in the database, but you can add more.)

  3. Add statement comments in statement comment maintenance. (optional)
     Accounts Receivable > Statement Comment Maint

  4. Add transaction type codes in transaction type maintenance.
     Accounts Receivable > Transaction Type Maint
     (You must also modify the existing system type codes: 01,CF,DD,FD,PR,RP,SA
      and enter the G/L offset account)

              Transaction Code   [01]

              Description        [RECEIVED ON ACCOUNT           ]

              Operator           [-] [Decrease to Account       ]

              G/L Offset         [     1050] [CASH IN BANK                  ]

     Enter the general ledger offset to the control account. The control 
     account was setup in Customer Class Maintenance and is normally the
     Accounts Receivable account. The account entered here will have an
     offset entry made to the general ledger. It will be either a
     debit or credit entry determined by the Operator field.
     For code 01 - RECEIVED ON ACCOUNT use your bank G/L account number.
     For code FD - FINANCE CHARGE use your finance charge income G/L
     account number.

     NOTE: For codes CC,CF,DD,PR,RP,SA the G/L offset to the control account
           should be the G/L asset clearing account 

  5. Add finance charge codes in finance charge maintenance.
     Accounts Receivable > Finance Charge Maint 
     (Standard codes are in the database, but you can add more.)

  6. Add customer accounts in customer master maintenance.
     Accounts Receivable > Customer Master Maint
       If you will be using unit sales in Retail Sales, for example if
       you want to track cigarettes by unit rather than retail sales amount,
       you will need to create an A/R suspense account for these sales. You
       can use the name "SUSPENSE CUSTOMER" in the Last Name field.

  7. Add customer shipto in customer alternate name maintenance. (optional)
     Accounts Receivable > Customer Alternate Name

  8. Enter the print customer statement with credit balance flag (Y/N)
     System Management > System Parameters Maint
     Parameter Number: 4008

  9. Enter the customer balance aging format for reports: D=date P=period
     System Management > System Parameters Maint
     Parameter Number: 4010


Fuel Management (optional)
===============

  1. Add fuel terminal codes in fuel terminal maintenance.
     Fuel Management > Fuel Terminal Maint

  2. Add fuel carrier codes in fuel carrier maintenance.
     Fuel Management > Fuel Carrier Maint

  3. Add freight rate codes in freight rate maintenance. (optional)
     Fuel Management > Freight Rate Maint

  4. Add freight origin to destination codes in freight origin-dest maintenance.
     Fuel Management > Freight Origin-Dest Maint (optional)

  5. Add fuel tank codes in tank maintenance.
     Fuel Management > Tank Maint
       You must enter a fuel tank for each product at each profit center
       that sells the product. It is recommended to make the tank code
       the same code as the product in the tank. 

  6. System Management > System Parameters Maint 
     Enter last movement number issued by the system
     (Any starting number you want)
     Parameter Number: 1001
         
     Enter the billing method, either N=net or G=gross in the value field
     Parameter Number: 1002

     Enter the fuel dispatch date offset, a value of 1 will use tomorrows date
     Parameter Number: 1009

     Enter the default printer for dispatch tickets
     Parameter Number: 1010

     Enter the dispatch ticket printer type Y=laser
     Parameter Number: 1011
 
     Enter the profit center for fuel deliveries
     Parameter Number: 1019

     Enter the default source and destination flag for fuel movements
     Parameter Number: 1031
     EE = External to External
     II = Internal to Internal
     EI = External to Internal
     IE = Internal to External

     Enter the G/L clearing account number
     Parameter Number: 1052

     Enter the default fuel carrier A/P vendor number
     Parameter Number: 1065

     Enter the prepaid sales tax G/L account number ie. fuel purchases account
     Parameter Number: 6004


Retail Sales (optional)
============

  1. Add pump class codes in pump class maintenance.
     Retail Sales > Pump Class Maint
     (Example: "SS" "SELF SERVICE")

  2. Add fuel pump codes in fuel pump maintenance. 
     Retail Sales > Fuel Pump Maint

  3. Add category codes in category maintenance.
     Retail Sales > Category Maint
       The category code is a character field so if you use numbers for the
       code you may want to put a leading zero so the codes are ordered 
       numerically on reports and data entry. ie. 1 = 01

       You may want to make a one to one relationship between the category
       codes and the POS department codes so you can track retail inventory
       amounts for each department. To do this, create a category code
       to match each department. You can also consolidate several departments
       into a category, and associate the department with a category in
       department maintenance.

  4. Add inventory detail in inventory detail maintenance.
     Retail Sales > Inventory Detail Maint

  5. Add category margins in category margin maintenance. (optional)
     Retail Sales > Category Margin Maint
     (This is used for categories where only a retail inventory amount is
      tracked such as deli items or lottery, the margin amount is used
      to calculate your cost.)

  6. Add G/L accounts in G/L transaction maintenance
     Retail Sales > G/L Transaction Maint
       These are the G/L accounts that will be displayed on the daily
       report receipt entry screen.

  7. Enter the suspense A/R customer number, this is used for unit sales
     System Management > System Parameters Maint
     Parameter Number: 3003

     Enter the G/L cash over/short account number
     Parameter Number: 3004

     Enter the import retail POS data flag (Y/N)
     Parameter Number: 3011

     Enter the non-fuel sales tax G/L account number
     Parameter Number: 3012

     Enter the Gift Card department number
     Parameter Number: 3013

     Enter the Credit Card receivable G/L account 
     Parameter Number: 3014

     Enter the cash A/P vendor account number
     Parameter Number: 3015

     Enter the default price zone for price book
     Parameter Number: 3016
       This is optional, but is useful if you only have one store or
       all stores are in the same price zone.

     Enter the transfer A/P vendor account number
     Parameter Number: 3102

  The following setup is only needed if you are using a price book to update
  remote retail sites POS registers for scanning.

  8. Add sales group codes in sales group maintenance.
     Retail Sales > Sales Group Maint

  9. Add department codes in department maintenance.
     Retail Sales > Department Maint

 10. Add price zones in price zone maintenance.
     Retail Sales > Price Zone Maint

 11. Add PLU/UPC codes in price book maintenance.
     Retail Sales > Price Book Maint
 
 12. Add price book promotions in price book promotions maintenance. (optional)
     Retail Sales > Price Book Promotions


Payroll
=======

  By default the payroll system functions as U.S. payroll, to set the system
  to use UK PAYE RTI payroll set the value of system parameter 9000 to UK.
  If payroll is the only module you will be using, you still need to first
  setup System Management and General Ledger.

  1. Add earning codes in earning maintenance.
     Payroll > Earning Maint
     Code   Description     Rate   G/L Account   G/L Description
    [01  ] [Regular     ] [ 1.00] [7102       ] [WAGES                         ]
    [02  ] [Overtime    ] [ 1.50] [7102       ] [WAGES                         ]
    [03  ] [Dbltime     ] [ 2.00] [7102       ] [WAGES                         ]
    [04  ] [Sick        ] [ 1.00] [7102       ] [WAGES                         ]
    [05  ] [Holiday     ] [ 1.00] [7102       ] [WAGES                         ]
    [06  ] [Vacation    ] [ 1.00] [7102       ] [WAGES                         ]
    [07  ] [Bonus       ] [     ] [7102       ] [WAGES                         ]
    [MISC] [Misc Pay    ] [     ] [7102       ] [WAGES                         ]
    [ER  ] [Exp Reimburs] [     ] [7720       ] [MISCELLANEOUS EXPENSE         ]
    [M   ] [Mileage     ] [     ] [7720       ] [MISCELLANEOUS EXPENSE         ]
    [SMP ] [Maternity   ] [     ] [7102       ] [WAGES                         ]
    [SHPP] [Sh Parental ] [     ] [7102       ] [WAGES                         ]

  For UK payroll the SMP and SHPP codes have a special meaning, so you will     
  need to create those exact codes if you need this type of pay. All other
  codes can be anything you want.

  2. Add deduction codes in deduction maintenance.
     Payroll > Deduction Maint
      Code   Description    G/L Account   G/L Description
     [SC  ] [Store Chg   ] [4080       ] [EMPLOYEE DEDUCTIONS           ]
     [BC  ] [Bad Check   ] [7760       ] [BAD CHECKS EXPENSE            ]
     [GAR ] [Garnishment ] [4080       ] [EMPLOYEE DEDUCTIONS           ]
     [GAR2] [Garnishment ] [4080       ] [EMPLOYEE DEDUCTIONS           ]
     [DEP ] [Depend Care ] [4080       ] [EMPLOYEE DEDUCTIONS           ]
     [UNIF] [Uniform Chg ] [4080       ] [EMPLOYEE DEDUCTIONS           ]
     [MED ] [Medical Ins ] [7620       ] [INSURANCE-HEALTH              ]
     [LOAN] [Employ Loan ] [1111       ] [EMPLOYEE LOANS RECEIVABLE     ]
     [DD  ] [Direct Dep  ] [1050       ] [CASH IN BANK                  ]
     [DD2 ] [Direct Dep 2] [1050       ] [CASH IN BANK                  ]
     [PH  ] [Cell Phone  ] [7860       ] [TELEPHONE                     ]

  3. Add tax codes in tax maintenance.
     Payroll > Tax Maint 
       The database contains U.S. Federal tax codes and UK, but you need to add
       G/L expense/payable accounts to the codes and add any exempt earnings
       or exempt deduction codes. For UK payroll, there are codes for student
       loans and workplace pensions included here. All the UK codes are under
       Tax Authority HMRC.

  4. Add time off codes in policy time off maintenance.
     Payroll > Policy Time Off Maint
     (Here you can setup time off policies for vacation, sick etc...)

  5. System Management > System Parameters Maint
     Enter the last employee number issued. On initial setup the first
     employee number assigned will be the next sequential number.
     Parameter Number: 7001

     Enter US to set the system to United States payroll or enter UK to set
     the system to United Kingdom PAYE RTI payroll. Leaving the value blank
     will default to US. Setting the value to UK will enable the ring menu
     option "PAYE" in System Management > Company Maint for entering your
     employer PAYE information.
     Parameter Number: 9000

     Enter the payroll check signature image path (optional)
     Parameter Number: 9001

     Enter the payroll check signature arguments
     Parameter Number: 9002

     example: -v 3600 -h 3500 -s 100
     v=Vertical image position 
     h=Horizontal image position 
     s=Default image size (percent of original size)

     Enter the federal employer identification number
     Parameter Number: 9008

     Enter the last payroll payment number issued
     Parameter Number: 9009
     (This is used for direct deposit, enter any starting number 
      outside the range of your regular payroll checks)

     Enter the direct deposit ACH file path
     Parameter Number: 9012

     Enter the direct deposit verification file path
     Parameter Number: 9013

  6. Add pay groups in pay group maintenance.
     Payroll > Pay Group Maint

  7. Add employees in employee maintenance.
     Payroll > Employee Maint

