allow payment modification so we can import order_number info
[freeside.git] / sql-ledger / doc / README
1                 SQL-Ledger Accounting
2                      Version 2.0
3
4
5 DESCRIPTION:
6 ------------
7 SQL-Ledger is a double-entry accounting program written
8 in perl. It has been tested with PostgreSQL, Oracle,
9 Apache, Netscape, Mozilla, Galeon, Explorer, Links, Lynx,
10 Konqueror, Voyager, W3M and Opera clients on Linux, FreeBSD,
11 Solaris, Windows and Mac computers.
12
13 Data is stored in a SQL server, either locally or remote,
14 the display is through a text or GUI web browser. The system
15 is linked by a chart of accounts.  All transactions for AR,
16 AP and GL are stored in a transaction table. Hyper-links
17 from the chart of accounts let you view transactions posted
18 through AR, AP and GL.
19
20 Configuration files let you specify to which SQL server
21 to connect to, personal preferences such as company name,
22 language, number and date format, etc.
23
24 The admin script can be used to create, edit or delete users
25 and to create and delete datasets and to setup the Chart
26 of Accounts and templates needed for the system.
27 It can be used for PostgreSQL and Oracle. If you want to
28 use another SQL server the tables and chart of accounts
29 must be created by hand.
30
31 You can have a group of users using the same dataset and
32 templates for generating Invoices, Income Statements and
33 Balance Sheets or a different set altogether.
34
35 Templates are supplied in html and tex format to generate
36 most of the forms. Forms can be printed to screen, sent
37 to a printer or to a mailer agent. To use the tex forms
38 latex must be installed. Most systems have a latex binary
39 installed by default. Latex is also available for Windows
40 and the Mac so we stay compatible across all major platforms.
41
42
43 COPYRIGHT:
44 ----------
45 You may distribute under the terms of the GNU License.
46
47
48 LATEST VERSION:
49 ---------------
50 available from http://www.sql-ledger.org
51
52
53 PLATFORMS:
54 ----------
55 Non specific, see requirements.
56
57
58 REQUIREMENTS:
59 -------------
60 1 - Perl, 5+
61 2 - http server (Apache, NCSA, httpi, ...)
62 3 - SQL Server with transaction support (PostgreSQL 7.0+, Oracle)
63 4 - DBD (DBD-Pg, DBD-Oracle)
64 5 - DBI
65 6 - LaTeX (optional)
66
67
68 FOREIGN LANGUAGE SUPPORT:
69 -------------------------
70 All the required files are in locale/country_code
71 The main files are 'all' and 'missing'. You can enter
72 translated strings in either file. When you are done
73 run locales.pl from the command line to rebuild the
74 required files.
75
76 Some of the translation files are not 100% complete.
77 If strings are missing, English is used instead.
78
79
80 INSTALLATION:
81 -------------
82 unpack the tar.gz file in /usr/local
83
84   tar xzvf sql-ledger-x.x.x.tar.gz
85
86 you should now have everything in /usr/local/sql-ledger
87
88 copy sql-ledger.conf.default to sql-ledger.conf
89
90 edit sql-ledger.conf
91
92 create a file sql-ledger-httpd.conf in the same location
93 where your httpd.conf is and copy the next section into the file
94
95   Alias /sql-ledger/ /usr/local/sql-ledger/
96   <Directory /usr/local/sql-ledger>
97     AddHandler cgi-script .pl
98     Options ExecCGI Includes FollowSymlinks
99   </Directory>
100
101   <Directory /usr/local/sql-ledger/users>
102     Order Deny,Allow
103     Deny from All
104   </Directory>
105
106 edit httpd.conf and add
107
108   # SQL-Ledger
109   Include <ServerRoot>/sql-ledger-httpd.conf
110
111 Note: Replace <ServerRoot> with the server's root directory!
112
113 restart your web server.
114
115
116 Note: /usr/local/sql-ledger is only a suggested
117 path, you can install in any directory.
118
119
120 INSTALLATION WITH setup.pl:
121 ---------------------------
122 Make a directory
123
124   mkdir /usr/local/sql-ledger
125
126 Copy setup.pl to /usr/local/sql-ledger
127
128 run setup.pl as root and follow the prompts.
129
130 Go to the next step, "PREPARE YOUR SQL SERVER".
131
132
133 SET PERMISSION:
134 ---------------
135 change directory to /usr/local/sql-ledger
136
137 # chown nobody:nobody users templates
138
139 replace nobody:nobody with the web server
140 user of your system. Some systems use
141 apache:apache, www, www-data, ...
142
143
144 PREPARE YOUR SQL SERVER:
145 ------------------------
146
147   PostgreSQL:
148   -----------
149   add one database user with create database privileges
150   to manage the datasets and tables for SQL-Ledger
151   
152   # su postgres
153   $ createuser -d sql-ledger
154   
155   if you use passwords to access postgres set the user up with a password 
156   $ createuser -d -P sql-ledger
157
158   Answer no to the following question.
159   Shall the new user be allowed to create more new users? (y/n) n
160
161   You can add more database users to keep datasets
162   separated. Each dataset belongs to one company.
163   
164   
165   ORACLE:
166   -------
167   add one user and one tablespace
168   all datasets share the same tablespace
169   
170
171 SETUP A DATABASE AND THE TABLES:
172 --------------------------------
173 Load your web browser and connect to
174 http://localhost/sql-ledger/admin.pl
175
176 Tables are created with the "Database
177 Administration" function.
178
179 Select the "Database Administration" link,
180 enter a host, port and user you created in the
181 previous step.
182
183 The "Create Dataset" link queries the server
184 for existing datasets and displays them in a
185 column. Then you enter a name for the new
186 dataset and select one of the Chart of Accounts
187 and click on Continue.
188 Your new dataset and the tables will be created
189 and the selected Chart of Accounts loaded. The
190 owner of the tables is the user you entered in
191 the previous screen.
192
193 NOTE: Be patient, some of the charts are really
194 big and take some time to create.
195
196 The "Delete Dataset" link queries the server
197 for datasets which are in use by SQL-Ledger
198 and are not used by any members. This may
199 take a while to figure out. "Be patient".
200 If there are any datasets not in use, you get
201 a screen with the datasets listed where you
202 can select the one you want to delete.
203
204 NOTE: you cannot manage any other datasets
205 from this interface, only the datasets used
206 by SQL-Ledger.
207
208
209 SETUP A USER:
210 -------------
211 Load your web browser and connect to
212 http://localhost/sql-ledger/admin.pl
213
214 Click on "Add User". In the Database
215 section select the driver and enter
216 the user you used to create the dataset.
217
218
219 LOAD THE ACCOUNTING PROGRAM:
220 ----------------------------
221 Load your web browser and connect to
222 http://localhost/sql-ledger/login.pl
223
224
225 UPGRADING TO A NEWER VERSION:
226 -----------------------------
227 1. unpack the new version over top
228 2. check the doc directory for specific notes
229 3. load admin.pl
230    click on "Database Administration"
231    enter the dba in the "Connect to" field
232    click on "Update Dataset"
233    select the datasets and click "Continue"
234
235
236 UPGRADING WITH setup.pl:
237 ------------------------
238 run setup.pl from the command line and follow
239 the prompts.
240
241
242 INSTALLATION CHECKLIST:
243 -----------------------
244 1. untar SL somewhere
245 2. change permissions for the users and templates directory
246 3. edit httpd.conf
247 4. edit sql-ledger.conf
248 5. a) add the database user sql-ledger in PostgreSQL
249    b) add a tablespace and the database user sql-ledger in Oracle
250 6. load admin.pl
251 7. create datasets for the companies
252 8. add users
253
254    In the Database section enter
255    
256    a) PostgreSQL
257    
258       Host:     for local connections leave empty
259       Dataset:  the dataset created in step 7
260       Port:     for local connections leave empty
261       User:     sql-ledger
262       Password: password for sql-ledger
263       
264    b) Oracle
265    
266       SID:      system ID
267       Port:     the port Oracle is listening on
268       Dataset:  the dataset created in step 7
269       Password: password for connection
270    
271
272 IF SOMETHING DOESN'T WORK:
273 --------------------------
274 There is a FAQ online which addresses various questions.
275 see http://www.sql-ledger.org/misc/faq.html
276
277 There are also several mailing lists at
278 http://www.sql-ledger.org/misc/mailinglist.html
279 where you can go for help.
280
281 If you require support you can order online at
282 http://www.sql-ledger.com/misc/support.html
283
284
285 =====================================================================
286 December 4, 2002
287