                SQL-Ledger Accounting
                     Version 1.8


DESCRIPTION:
------------
SQL-Ledger is a double-entry accounting application written
in perl. It has been tested with PostgreSQL, Oracle,
Apache, Netscape, Mozilla, Galeon, Explorer, Links, Lynx,
Konqueror, Voyager and Opera clients on Linux, FreeBSD,
Solaris, Windows and Mac computers.

Data is stored in a SQL server, either locally or remote,
the display is through a text or GUI web browser. The system
is linked by a chart of accounts.  All transactions for AR,
AP and GL are stored in a transaction table. Hyper-links
from the chart of accounts let you view transactions posted
through AR, AP and GL.

Configuration files let you specify to which SQL server
to connect to, personal preferences such as company name,
language, number and date format, etc.

The admin script is used to create, edit or delete users
and to create or delete datasets and to setup the Chart
of Accounts and templates needed for the system.
It works with the PostgreSQL and Oracle. If you want to
use another SQL server the tables must be created with
an external monitor program.

You can have a group of users using the same database and
templates for generating Invoices, Income Statements and
Balance Sheets or a different set altogether.

Templates are supplied in html and tex format to generate
most of the forms. Forms may be printed to screen, sent
to a printer or to a mailer agent. To use the tex forms
latex must be installed. Most systems have a latex binary
installed by default. Latex is also available for Windows
and the Mac so we stay compatible across all major platforms.


COPYRIGHT:
----------
You may distribute under the terms of the GNU License.


LATEST VERSION:
---------------
available from http://www.sql-ledger.org


PLATFORMS:
----------
Non specific, see requirements.


REQUIREMENTS:
-------------
1 - Perl, 5+
2 - http server (Apache, NCSA, httpi, ...)
3 - SQL Server with transaction support (PostgreSQL 7.0+, Oracle)
4 - DBD (DBD-Pg, DBD-Oracle)
5 - DBI
6 - LaTeX (optional)


FOREIGN LANGUAGE SUPPORT:
-------------------------
is shipped with the core.

All the required files are in locale/country_code
The main files are 'all' and 'missing'. You may enter
translated strings in either file. When you are done
run locales.pl from the command line to rebuild the
required files.

Some of the translation files are not 100% complete.
If strings are missing, English is used instead.


INSTALLATION:
-------------
unpack the tar.gz file in /usr/local

  tar xzvf sql-ledger-x.x.x.tar.gz

you should now have everything in /usr/local/sql-ledger

copy sql-ledger.conf.default to sql-ledger.conf

edit sql-ledger.conf

edit httpd.conf and add

  AddHandler cgi-script .pl
  
  Alias /sql-ledger/ /usr/local/sql-ledger/
  <Directory /usr/local/sql-ledger>
    Options ExecCGI Includes FollowSymlinks
  </Directory>

  <Directory /usr/local/sql-ledger/users>
    Options None
  </Directory>

restart your web server.


Note: /usr/local/sql-ledger is only a suggested
path, you can install in any directory


SET PERMISSION:
---------------
change directory to /usr/local/sql-ledger

# chown nobody:nobody users templates

replace nobody:nobody with the web server
user of your system. Some systems use
apache:apache, www, www-data, ...


PREPARE YOUR SQL SERVER:
------------------------

  PostgreSQL:
  -----------
  add one database user with create database privileges
  to manage the datasets and tables for SQL-Ledger
  
  # su postgres
  $ createuser -d SQL-Ledger_Owner 
  if you use passwords to access postgres set the user up with a password 
  $ createuser -d -P SQL-Ledger_Owner
			    
  You can add more database users to keep datasets
  separated. Each dataset belongs to one company.
  
  
  ORACLE:
  -------
  add one user and one tablespace
  all datasets share the same tablespace
  

SETUP A DATABASE AND THE TABLES:
--------------------------------
Load your web browser and connect to
http://localhost/sql-ledger/admin.pl

Tables are created with the "Database
Administration" function.

Select the "Database Administration" link,
enter a host, port and user to connect to
the SQL server. The initial connection is only
needed to query the server for various data.
Nothing will happen yet.

The "Create Dataset" link queries the server
for existing databases and displays them in a
column. Then you enter a name for the new
dataset and select one of the Chart of Accounts
and click on Continue.
Your new dataset and the tables will be created
and the selected Chart of Accounts loaded.

NOTE: Be patient, some of the COA are really
big and take some time to create.

The "Delete Dataset" link queries the server
for datasets which are in use by SQL-Ledger
and are not used by any members. This may
take a while to figure out. "Be patient".
If there are any datasets not in use, you get
a screen with the datasets listed where you
can select the one you want to delete.

NOTE: you cannot manage any other datasets
from this interface only the datasets used
by SQL-Ledger.


SETUP A USER:
-------------
Load your web browser and connect to
http://localhost/sql-ledger/admin.pl

Click on "Add User". In the Database
section select the driver and enter
the database user you used to connect to
the database when you created the dataset.


LOAD THE ACCOUNTING PROGRAM:
----------------------------
Load your web browser and connect to
http://localhost/sql-ledger/login.pl


UPGRADING TO A NEWER VERSION:
-----------------------------
1. unpack the new version over top
2. check the doc directory for specific notes
3. load admin.pl
   click on "Database Administration"
   enter the database user for the datasets
   click on "Update Dataset"
   select the datasets and click "Continue"

Datasets which do not belong to the user you
entered in the "Connect to" field are not included.
So be sure to use the correct table owner.

There is a version check built in and you will
not be able to log in until the Dataset is upgraded.


INSTALLATION CHECKLIST:
-----------------------
1. untar SL somewhere
2. change permissions for the users and templates directory
3. edit httpd.conf
4. edit sql-ledger.conf
5. a) add a database user in PostgreSQL
   b) add a tablespace and a database user in Oracle
6. load admin.pl
7. create datasets for the companies
8. add users

   In the Database section enter
   
   a) PostgreSQL
      Host: for local connections leave empty
      Dataset: the dataset created in step 7
      Port: for local connections leave empty
      User: the database user created in step 5
      Password: password to use for connection
      
   b) Oracle
      SID: system ID
      Port: the port Oracle is listening on
      Dataset: the dataset created in step 7
      Password: password to use for connection
   

IF SOMETHING DOESN'T WORK:
--------------------------
There is a FAQ online which addresses various questions.
see http://www.sql-ledger.org/misc/faq.html
The FAQ can also be found in the doc directory

There are also several mailing lists at
http://www.sql-ledger.org/misc/mailinglist.html
where you can go for help.

If you require commercial assistance you can
order online at
http://www.sql-ledger.com/misc/support.html


Bug reports, hints, suggestion, help are welcome!
Please send email to contrib@sql-ledger.org

=====================================================================
July 30, 2002

