Project Description - SourceForge



Project

AccWhizz

Documentation

Project Description

AccWhizz v. 0.0.11

Ver. 0.0.911

Document under construction

Author: Jacek Wolski

Contents

1. Introduction 3

2. About 3

3.Future plans for AccWhizz 5

6.Project contributors 5

5.Acknowledgments 6

6.Authors 6

7.What's new 6

8.Feature description 8

8.1.AccWhizz Administration 8

8.1.1.The module functions 8

8.1.2.Software structure 8

8.2.Ledger (G/L) 8

8.3.Inventory 8

8.4.Service 9

8.5.Accounts Payable 9

8.6.Accounts Receivable 9

8.7.Purchase Order 10

8.8.Quotation 10

8.9.POS for Cashier 11

8.10.POS for Manager 11

8.11.Human Resources 11

8.12.Bank Reconciliation 12

9.Working configurations 13

9.1.Hardware 13

9.2.Software 13

10.Installation Procedure 14

10.1.Overview - express install 14

10.2.Detailed install 14

10.3.Data Backup 17

10.4.Data Restore 17

10.5.Upgrading 17

11.AccWhizz Database 17

11.1.Table overview 17

11.2.Table structure details 20

12.FAQ 26

13.Glossary 26

14.Conclusion 27

15.Change control 27

16.Change history 27

1. Introduction

This document is AccWhizz v. 0.0.711 (pre-Alpha) project description.

It contains description which is targeted to those responsible for AccWhizz installation and development.

Chapters "About", "Feature description", "Future plans for AccWhizz", "Working configurations" and "FAQ" should be useful for potential users who want to know what AccWhizz is, and to decide if it is the application they are looking for.

This is a pre-alpha release - all error corrections and suggestions are welcome.

Latest version of this document can be found at .

1. About

AccWhizz is an accounting system, which supports national languages (NLS) and multiple ledgers; multiple accounting schemes (ASAL) and database support (DAL) are under development.

Target end users are small and medium enterprises (SME) and accounting offices.

The application is modular and OS independent (it has been tested on Linux and Windows 98).

It is written in PHP 4.x and operates on top of phpGroupWare.

It runs as a web application with Apache and phpGroupWare serving as middle layer.

Internal data is managed by PostgreSQL or MySQL database.

SQL server can either be local or remote.

Client access is via web browsers: Mozilla, Netscape, Konqueror and Internet Explorer - other browsers should work fine as well.

The features include:

1. AccWhizz Admin - admin/setup, data backup, data restore, standard remark, default values, view log, multiple ledger;

2. Ledger - ledger accounts, journals, funds maintenance, attributes maintenance, reports;

3. (AccWhizz) Inventory - inventory, Assembly, alternate part/service, goods receipt, good delivery, inventory adjustment, control report;

4. Service - service maintenance, Service package maintenance, alternate service/parts, control report;

5. Accounts Payable - vendor invoice (with tax), tax maintenance, vendor maintenance, vendor invoice (no tax), invoice/PO Matching, convert PO to invoice, payment, report;

6. Accounts Receivable - customer invoice (with tax), tax maintenance, customer maintenance, customer invoice (no tax), invoice/SO Matching, convert SO to invoice, receipt, report;

7. Purchase Order - purchase order (with tax), tax maintenance, vendor maintenance, purchase order (no tax), report;

8. Sales Order - sales order (with tax), tax maintenance, customer maintenance, sales order (no tax), SO/quotation matching, convert quotation to SO, report;

9. Quotation - quotation (with tax), tax maintenance, customer maintenance, quotation (no tax), report;

10. POS for Cashier - cash sale (with tax), cash sale (no tax);

11. POS for Manager - cashbox transactions (start-of-shift, end-of-shift, cash-in, cash-out), quasi-cash balance (with d/d), cashbox/drawer, special price, addon charge/reduction, quasi-cash, tax maintenance, report;

12. Human Resources - employee maintenance, department maintenance, HR code/abbreviation, report;

13. Bank Reconciliation - reconciliation worksheet, import ledger items, ledger items, bank statement items (not included in Ledger), suspense items, report.

14. Staff Self Service -(staff) sign in/out, my attendance, my leaves, my payroll, my personnel info, timesheet, leave application, approve/reject applications, staff timesheet, staff leave application.

15. Payroll - individual staff payroll, non-recurring payroll item, generate payroll, allowance/deduction type, deduction/tax type, company contribution, report.

Most transactions are provided with standard search, add, view copy and delete facilities. Journal reversing feature is included as well as bulk emailing of documents (invoice, reminder, statement, receipt, PO, order acknowledgement, quotation).

The application supports VAT and no VAT countries - there are two versions PO and SO to handle invoices - that do and do not carry (VAT) tax.

IMPORTANT NOTE.

Primary database for AccWhizz is PostgreSQL - currently, MySQL is only experimental (for testing) due to lack of transaction support (which is planned in MySQL v. 4).

1. Future plans for AccWhizz

AccWhizz will be developed with compliance to user requests, so AccWhizz users mailing list (accwhizz-users@) is the best source for potential development directions.

Primary, general target is a HIGH QUALITY code. This means that new features will be added after thourough testing, which costs time.

Current AccWhizz roadmap is as follows:

1. Construction of the project Home Page (), initial code restructuring, Polish version of AccWhizz (v. 0.0.1) - DONE.

2. Code restructuring: improvement of coding standards, full database abstraction layer (DAL), full accounting system abstraction layer (ASAL), other minor changes (v. 0.0.3) - IN PROGRESS.

3. Highly customizable, advanced system settings (new) module; improved administration/installation module (v. 0.0.5) - IN PROGRESS.

4. Alpha version : code review & quality improvements (v. 0.1.1).

5. EU and USA accouting standards (new ASAL layers) (v. 0.1.3).

6. Additional languages support - German and French (v. 0.1.5).

7. Beta version : code quality improvements (v. 0.3.1).

8. Security review and improvements (v. 0.3.3).

9. Stable version : code review & quality improvements (and documentation!) (v. 0.4.0).

10. Performance review and improvements (v. 0.4.2).

11. Project contributors

PHP developers/designers are most wanted to design/implement/improve AccWhizz features.

Software testers are vital for high code quality.

Documentation is an Achilles hill of most OSI projects and to fight this syndrome people for maintaining documentation are needed as well.

Assistance from MySQL developers to ensure AccWhizz works with MySQL will be highly appreciated.

Currently, there is only one default template. Both idsociety and verdilak are empty. Developers with an artistic touch are welcome to fill in the missing templates or to provide other new templates.

Last but not least TRANSLATORS are most graciously welcome to add national language support.

While contributions will be graciously acknowledged in the index page of each module, I don't like to go into political arguments as to how major a contribution should be, before it is acknowledged, so you will have to trust me on deciding who and what to acknowledge.

1. Acknowledgments

AccWhizz is based on CK-Ledger code written by Chiu Kay Wu.

Without His great job and inspiration I would not be able to write AccWhizz.

CK-Ledger is, in turn, based on SQL-Ledger (by Dieter Simader) functionality.

Many thanks to phpGroupWare team for an excellent API on which AccWhizz runs.

1. Authors

AccWhizz Project Manager: Jacek R. Wolski aka Romuald (Romuald is the preferred alias), Poland (jrtwolski@users.).

1. What's new

Features of the new release include:

1. 15/09/2002 : v. 0.0.1.1: Initial release. Added multilingual support. Polish translation introduced.

2. 15/10/2002 : v. 0.0.1.2 : Improved Polish translation (30% complete). Improved internationalisation capabilities.

Polish chart of accounts.

CK-Ledger 0.2.1 functionality included: attribute accounting which provides Profit&Loss reporting against different attributes (fund, project, department, region, etc). Log table is added.

3. 15/11/2002 : v. 0.0.1.3 : Improved Polish translation (50% complete).

MS Windows 98 version introduced and tested.

CK-Ledger 0.2.3 functionality included : new tax calculation logic, service package, alternate service, assembly with service components, attribute replication at AP/AR journal screen, new module icons, log record for update to defaults table.

AccWhizz is now available in three versions: standalone (with phpGroupWare), phpGroupWare add-on, Windows version (phpGroupware add-on).

4. 01/12/2002 : v. 0.0.1.4 : AccWhizz ported on phpGroupWare 9.14.001. Bugfixes in various modules. GIF images excluded due to GNU requirements.

5. 31/12/2002 : v. 0.0.3 :

Enhanced language files.

CK-Ledger 0.3.1 and 0.4.1 functionality included : a new HR module, a new Bank Reconciliation module, multiple ledgers within one database, Trial Balance by attribute, Balance Sheet by attribute, Ledger Listing by attribute, standard remark, a new idsociety theme and new icons.

6. 02/02/2003 : v. 0.0.5

Enhanced language files.

Code improvements and bugfixes.

CK-Ledger 0.5.1 functionality included: new Staff Self Service module (sign in/out, attendance record, timesheets, leave record, leave application, and application approval/rejection), German language files for Human Resources and Service modules, alternate line coloring.

7. 26/02/2003 : v. 0.0.7

Enhanced language files.

Code improvements and bugfixes.

Updated 'about' pages of AccWhizz modules.

Draft of AccWhizz user guide released (available at accwhizz.).

1. 17/03/2003 : v. 0.0.9

Initial setup now supports nationalized base and test data.

Improved Polish translation (70% complete).

Enhanced language files.

Code improvements and bugfixes.

1. 18/06/2003 : v. 0.0.11

Cash flow statement introduced (thanks to Sara Jenkins).

Improved Polish translation (75% complete).

CK-Ledger 0.6.1 and 0.6.3 functionality included: a Payroll module, background Dr/Cr balance check, additional validation check on email delivery, staff self-lodged expense/allowance claim, option for standard tax rate for all sales and purchases, and add tax facility for (no tax) PO, SO and Quotation.

1. Feature description

AccWhizz is structured as 145 phpGW modules, AccWhizzAdmin, Ledger, Inventory, Service, AccountsPayable, AccountsReceivable, PurchaseOrder and SalesOrder, Quotation, POS for Cashier, POS for Manager, Human Resources and Bank Reconciliation and, Staff Self Service and Payroll.

Each of these modules can be set up as visible or hidden from specific user (group) utilising phpGW's native grouping and admin functions.

AccWhizz consists of the following modules:

1. AccWhizz Administration

2. The module functions

3. Admin/Setup- setup data tables, build chart of accounts & master data, create test data, delete all data & data tables

4. Data Backup

5. Data Restore

6. Standard Remark - view, edit, copy/modify, delete, add new

7. Default Values

8. View Log

9. Multiple Ledger

10. Ledger (G/L)

The module functions:

1. Ledger A/Cs - view, history (with d/d), edit, copy/modify, delete, add new

2. Journals - view, edit, copy/modify, reverse/modify, delete, add new

3. Attributes - view, edit, copy/modify, delete, add new

4. Reports - Trial Balance (with d/d), Income Statement, Balance Sheet, Ledger Listing (with d/d), Ledger CR [Except for Ledger CR, all reports may be produced based on a specific attribute]

5. Inventory

The module functions:

1. Inventory - view, balance/history (with d/d), edit, copy/modify, delete, add new

2. Assembly - view, edit, copy/modify, delete, add new

3. Alternate Part/Product - view, edit, copy/modify, delete, add new

4. Goods Receipt - view, edit, copy/modify, delete, add new

5. Goods Delivery - view, delivery note, edit, copy/modify, delete, add new

6. Inventory Adjustment - view, edit, copy/modify, reverse, delete, add new

7. Audit CR

8. Service

The module functions:

1. Service - view, edit, copy/modify, delete, add new

2. Package - view, edit, copy/modify, delete, add new

3. Alternate Service/Parts - view, edit, copy/modify, delete, add new

4. Audit CR

5. Accounts Payable

The module functions:

1. Vendor Invoice [with tax] - view, payment history, edit, copy/modify, delete, add new

2. Tax - view, edit, copy/modify, delete, add new

3. Vendor - view, statement, o/s invoice, edit, copy/modify, delete, add new

4. Vendor Invoice [no tax] - view, payment history, edit, edit (add tax), copy/modify, delete, add new

5. Invoice/PO matching - view, edit, delete, auto-matching of invoice to PO

6. Convert PO to invoice

7. Payment - view, print cheque, edit, copy/modify, delete, add new, auto-matching of payment to invoice

8. Report - A/P aging report (with d/d), Vendor Invoice aging report (with d/d), A/P CR [auto-allocation of invoice to PO by matching oldest equal amount or thru FIFO scheme, auto-allocation of payment to invoice by matching oldest equal amount of thru' FIFO scheme, manual allocation is also possible]

9. Accounts Receivable

The module functions:

1. Customer Invoice [with tax] - view, receipt history, official invoice, edit, copy/modify, delete, add new

2. Tax - view, edit, copy/modify, delete, add new

3. Customer - view, statement, o/s invoice, edit, copy/modify, delete, add new

4. Customer Invoice[no tax] - view, receipt history, official invoice, edit, edit(add tax), copy/modify, delete, add new

5. Invoice/SO matching - view, edit, delete, auto-matching of invoice to SO

6. Convert SO to invoice

7. Receipt - view, official receipt, edit, copy/modify, delete, add new, auto-matching of receipt to invoice

8. Report-A/R aging report (with d/d), Customer invoice aging report (with d/d), A/R CR [auto-allocation of invoice to SO by matching oldest equal amount or thru' FIFO scheme, auto-allocation of receipt to invoice by matching oldest equal amount of thru' FIFO scheme, manual allocation is also possible]

9. Bulk emailing of official invoice/reminder, customer statement

10. Purchase Order

The module functions:

1. Purchase Order [with tax] - view, billing history, official PO, edit, copy/modify, delete, add new

2. Tax - view, edit, copy/modify, delete, add new

3. Vendor - view, Unbilled PO, edit, copy/modify, delete, add new

4. Purchase Order [no tax] - view, billing history, official PO, edit, copy/modify, delete, add new

5. Report - PO Audit CR

6. Buik e-mailing of official PO

7. Sales Order

The module functions:

1. Sales Order [with tax] - view, billing history, order acknowledgement, edit, copy/modify, delete, add new

2. Tax - view, edit, copy/modify, delete, add new

3. Customer - view, Unbilled SO, edit, copy/modify, delete, add new

4. Sales Order [no tax] - view, billing history, order acknowledgement, edit, copy/modify, delete, add new

5. Quotation/SO matching - view, billing history, official PO, edit, copy/modify, delete, auto-matching of SO to Quotation

6. Convert Quotation to SO

7. Report - SO Audit CR [auto-allocation of SO to quotation by matching oldest equal amount or thru' FIFO scheme, manual allocation is possible]

8. Bulk emailing of order acknowledgement

9. Quotation

The module functions:

1. Quotation [with tax] - view, official quotation, edit, copy/modify, delete, add new

2. Tax - view, edit, copy/modify, delete, add new

3. Customer - view, edit, copy/modify, delete, add new

4. Quotation [no tax] - view, official quotation, edit, copy/modify, delete, add new

5. Report - Quotation Audit CR

6. Bulk emailing of official quotation

7. POS for Cashier

The module functions:

1. Cash Sale [with tax] - view, sales memo, edit, copy/modify, delete, add new

2. Cash Sale [no tax] - view, sales memo, edit, copy/modify, delete, add new [simple one level tax-on-tax, all payment methods may have multiple tenders]

3. POS for Manager

The module functions:

1. CashBox Transaction (start-of-shift, end-of-shift, cash-in, cash-out) - view, edit, copy/modify, delete, add new

2. Quasi-Cash Balance (with d/d)

3. CashBox/Drawer - view, edit, copy/modify, delete, add new

4. Special Price - view, edit, copy/modify, delete, add new

5. AddOn Charge/Reduction - view, edit, copy/modify, delete, add new

6. Quasi-Cash - view, edit, copy/modify, delete, add new

7. Tax - view, edit, copy/modify, delete, add new

8. Report - List of shift end cash balances (with d/d), POS CR

1. Human Resources

The module functions:

1. Employee Info - view, edit, copy/modify, delete, add new

2. Photo - browse, preview, update

3. Address - insert/delete row, reload from employee record, post

4. Phone - insert/delete row, reload from employee record, post

5. Email - insert/delete row, reload from employee record, post

6. Emergency Contact - insert/delete row, reload from employee record, post

7. Important Dates - insert/delete row, reload from employee record, post

8. Leave Record - insert/delete row, reload from employee record, post

9. Performance Review - insert/delete row, reload from employee record, post

10. Role - insert/delete row, reload from employee record, post

1. Bank Reconciliation

The module functions:

1. Reconciliation Worksheet - summary, detail item view

2. Import Ledger Items into Reconciliation Worksheet

3. Ledger Items - view, edit, delete, bulk update

4. Bank Statement Items - view, edit, copy/modify, delete, add new

5. Suspense Items - view, edit, copy/modify, delete, add new

6. Reports - Bank Reconciliation Statement, Bank Reconciliation Control Report

1. Staff Self Service

The module functions:

1. (Staff) Sign in/Out

2. Timesheet - view, edit, copy/modify, add new

3. Leave Application - view, edit, copy/modify, add new

4. My Attendance

5. My Leaves

6. My Personnel Info

7. Approve/Reject Applications (Supervisor Only) - Staff Timesheet, Staff Leave Application

1. Payroll

2. Individual Staff Payroll - view, edit, copy/modify, add new

3. Non-recurring Payroll Item - view, edit, copy/modify, add new

4. Generate Payroll - Test Run, Generate Payrol/Journal/History, Email Salary Advice, Print Cheque/Gen Journal, Delete Journal

5. Allowance/Deduction Type - view, edit, copy/modify, add new

6. Deduction/Tax Type - view, edit, copy/modify, add new

7. Company Contribution - view, edit, copy/modify, add new

8. Report ? Payroll CR

9. Working configurations

10. Hardware

If everyting (O/S, webserver, dbserver, phpGroupWare, browser) runs on a single machine, the system will probably need at least:

CPU - Intel Pentium III 400mhz

RAM - 128M

H/D - 40M (excluding the space needed to house the accounting data, which varies depending on transaction volume)

[However, if other phpGroupWare modules are utilising the same machine, the configuration above is most likely to be inadequate]

1. Software

AccWhizz has been tested against the following configurations :

|O/S |Webserver |DB EngIne + phpgroupware |

|MS Windows |Apache 1.3.23 |MySQL 3.23.53 + phpGW 0.9.14.0 |

|RedHat 8.0 |Apache 1.3.23 |PostgreSQL 7.2.1 / MySQL 3.23.49 + phpGW 0.9.14.0 |

|RedHat 7.3 |Apache 1.3.23 |PostgreSQL 7.2.1 / MySQL 3.23.49 + phpGW 0.9.14.001 |

|RedHat 7.3 |Apache 1.3.23 |PostgreSQL 7.2.1 / MySQL 3.23.49 + phpGW 0.9.14.0 |

|RedHat 7.3 |Apache 1.3.23 |PostgreSQL 7.2.1 / MySQL 3.23.49 + phpGW 0.9.14RC4 |

|RedHat 7.2 |Apache 1.3.23 |PostgreSQL 7.2.1 / MySQL 3.23.49 + phpGW 0.9.14RC4 |

Note 1:

When utilising a remote dbserver, be sure to invoke Postgresql (postmaster) with -i to allow accessing of the dbserver via tcp/ip socket and to adjust pg_hba.conf to allow access from the webserver.

Note 2:

Please note that Konqueror/KDE3/RedHat7.3 has problem accessing the various features of AccWhizz, while Konqueror/KDE2/RedHat7.2 and other browsers have been tested to work fine under similar circumstances. Mandrake8.2, with KDE upgraded to KDE 3 also functions properly.

Note 3:

phpGW core code (modules: setup, admin, phpGWapi, , developer tools and preferences) is included in the distribution tarball.

Client Browsers :

Konqueror/KDE3 ? has problems accesing various features of AccWhizz.

Mandrake8.2 with KDE upgraded to v.3.0.2 functions properly.

Internet Explorer 5/MS Windows 98 functions properly.

Other Browsers ? work fine.

Latest Version :

The AccWhizz latest version is available from

1. Installation Procedure

2. Overview - express install

To test AccWhizz, download the tarball from website ().

Expand the tarball (with standalone AccWhizz) into accwhizz directory [with 14 AccWhizz core subdirectories (aw-admin, aw-ledger, aw-inventory, aw-service, aw-ap, aw-ar, aw-po, aw-so, aw-quote, aw-pos-c, aw-pos-m, aw-hr, aw-bank, aw-sss) plus 5 phpGW subdirectories (admin, developer-tools, phpGWapi, preferences and setup)] within the internet server directory (e.g. /var/www/html)).

IMPORTANT NOTE.

AccWhizz (for Linux and Windows 98) phpGroupWare add-on should be extracted into phpGroupWare directory.Then during phpGW setup (e.g. run - install document can be found at ), the setup process will auto-install AccWhizz modules, if you click on the "[install] all applications" button [Setup III menu].

Click the "Manage Application" button [Setup III menu] to confirm that the AccWhizz modules are properly installed.

Create phpGW users and/or groups with access to AccWhizz core applications.

Invoke AccWhizz Admin and create test data as indicated in the index page.

Please report any error you found to accwhizz users mail list - accwhizz-users@lists., I'll gladly correct any error as soon as possible.

1. Detailed install

2. Setup a working Linux environment with Apache () and PostgreSQL () / MySQL () fully installed.

3. Setup phpGW 0.9.14RC4 or later. For detail instruction, please refer to .

AccWhizz modules should be installed automatically.

IMPORTANT NOTE.

Currently AccWhizz comes with phpGW 0.9.14.

If you want to upgrade to another phpGW version untar AccWhizz FIRST, and then phpGW tarball OR copy ONLY aw-* directories to EXISTING phpGW directory.

For AccWhizz phpGroupWare add-on versions unpack the tarball into phpGroupWare directory.

4. Test to ensure you have a working phpGroupWare setup.

5. Download accwhizz-0.0.7.tar.gz from .

PhpGW add-on version: accwhizz-0.0.7-phpgw-add-on.tar.gz.

PhpGW add-on version for Windows: accwhizz-0.0.7-win98.zip.

6. Change directory html documents directory (e.g. /var/www/html - one directory above phpGroupWare base directory) and unpack AccWhizz (standalone version) tar ball (extract code into main accwhizz directory and 14 subfolders, aw-admin, aw-ledger, aw-inv, aw-service, aw-ap, aw-ar, aw-po, aw-so, aw-quote, aw-pos-c,aw-pos-m, aw-hr, aw-bank, aw-sss plus 5 phpGW folders).

E.g. assuming /var/www/html/ is html documents base directory type the following commands on Linux command prompt:

cd /var/www/html/

tar -xzvf accwhizz-0.0.7.tar.gz

IMPORTANT NOTE.

Add-on versions (for Linux and Windows) should be extracted into existing phpgroupWare directory.

7. Login to phpGW as administrator.

8. Enter Admin application and pick the "User groups" choice.

9. Click "Edit" on the Default group line.

Note: This is just an example. You could create your own group and work from there too.

10. Click to activate the modules, Ledger Administration, Ledger, AccWhizz inventory, Service, Accounts Payable, Accounts Receivable, Purchase Order, Sales Order, Quotation, POS for Cashier, POS for Manager.

11. Press "Submit Changes" button.

12. Logout from administrator account.

13. Login as a common member of the Default group, say demo.

14. The AccWhizz modules will show up as "abacus" icons.

15. Choose the AccWhizzAdmin module (castle icon with "abacus" background).

Note: You may have to click all 14 icons to find out which icon relates to which module.

Other distinctive icons will be added progressively.

16. Read in detail the "Welcome to AccWhizzAdmin" page (question mark ("?") in the top-right corner of the screen).

17. Pick Admin/Setup choice at the top left hand corner.

18. Choose action 4 - Delete all Data and Data Tables.

19. Press "Input Admin Action Parameters" button.

20. Press "Start Action" button.

Note: For new installs, there may be error messages saying that the data tables are not present. But don't worry.

21. Press one of the "Done" buttons.

22. Choose action 1 - Setup Data Tables.

23. Press "Input Admin Action Parameters" button.

24. Press "Start Action" button.

Note: A list of table created message will appear.

25. Press one of the "Done" buttons.

26. Choose action 2 - Build Chart of Accounts and other Master Data.

27. Press "Input Admin Action Parameters" button.

28. Pick your desired Chart of Account.

Note: Currently, only Default Chart of Account works.

29. Press "Start Action" button.

30. Press one of the "Done" buttons.

31. Choose action 3 - Create Test Data.

Note: For live production, creation of test data should be skipped.

32. Press "Input Admin Action Parameters" button.

33. Press "Start Action".

34. Press one of the "Done" buttons.

At this point, AccWhizz is fully functional and all features are available for your testing.

A few points to note:

1. Some of the menu choices are still not implemented yet.

2. There is an inventory module native to phpGW, therefore it is advisable to name AccWhizz's inventory as aw-inventory.

3. The cheque printing facility assumes a normal stub-based manual handwriting cheque format (not the special computer stationery type).

The layout would have to be tuned for different bank's cheque format.

The included facility is just for sample only.

4. Since this is a pre-alpha release, DO NOT, DON'T, DO NOT AGAIN use this version against any production data or environment.

5. Some browser may show distorted display. You may need to try different browsers and font (sizes) to get the best fit.

Have a nice time testing this version.

Please report any error to accwhizz-users@lists..

1. Data Backup

2. Click AccWhizzAdmin

3. Choose Data Backup

4. A backup (flat) file, with its name appearing on screen, will be created.

5. Data Restore

6. Click AccWhizzAdmin.

7. Choose Data Restore.

A list of backup files kept at your user home directory will be displayed.

8. Choose the appropriate file.

9. Press "Start Database Restoration" button.

10. Upgrading

While the upgrading process has not been tested, the most complete and detail upgrading process is as follows:

1. Perform a data backup

2. Delete all AccWhizz folder within the phpGW base directory.

3. Untar new AccWhizz tarball within the phpGW base directory.

4. Follow installation procedure step 22 - 30 to delete old database tables and build new ones.

5. Perform a data restore.

6. When the upgrade does not involve change in data structure, the previous two steps may not be needed.

7. Whether data structure has been changed will be specified in the software release notes.

8. AccWhizz Database

9. Table overview

AccWhizz Database consists of the following tables:

1. acc_trans

2. achievement

3. activity

4. addon

5. address

6. alternate

7. ap

8. ar

9. aw_sysglobals

10. assembly

11. attendance

12. bkr_trans

13. cashbox

14. cbtran

15. chart

16. code

17. customer

18. customertax

19. dates

20. defaults

21. department

22. ec

23. email

24. employee

25. fund

26. gl

27. hrcode

28. il

29. invoice

30. inv_trans

31. ipmatch

32. ismatch

33. itemtax

34. leave

35. leaveapp

36. log

37. makemodel

38. oitem

39. parts

40. payment

41. phone

42. p_match

43. po

44. pos

45. positem

46. pr

47. project

48. qcash

49. quote

50. receipt

51. resourcelock

52. r_match

53. role

54. service

55. so

56. sprice

57. sqmatch

58. tax

59. timesheet

60. ts_trans

61. vendor

62. vendortax

63. Table structure details

Table structure is presented in PostgreSQL format - MySQL format differs by insignificant details.

--

-- Name: id Type: SEQUENCE

--

CREATE SEQUENCE "id" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1;

--

-- Name: sid Type: SEQUENCE

--

CREATE SEQUENCE "sid" start 1 increment 1 maxvalue 2147483647 minvalue 1 cache 1;

--

-- Name: activity Type: TABLE

--

CREATE TABLE "activity" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"description" text,

"rate" double precision,

"factor" double precision

);

--

-- Name: achievement Type: TABLE

--

CREATE TABLE "achievement" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"description" text,

"min" double precision,

"max" double precision,

"rate" double precision

);

--

-- Name: attendance Type: TABLE

--

CREATE TABLE "attendance" (

"id" integer DEFAULT nextval('id'::text),

"empid" integer,

"type" text,

"reason" text,

"transdate" date DEFAULT 'now',

"time" text

);

--

-- Name: makemodel Type: TABLE

--

CREATE TABLE "makemodel" (

"id" integer DEFAULT nextval('id'::text),

"parts_id" integer,

"name" text

);

--

-- Name: gl Type: TABLE

--

CREATE TABLE "gl" (

"id" integer DEFAULT nextval('id'::text),

"source" text,

"description" text,

"transdate" date DEFAULT 'now'

);

--

-- Name: il Type: TABLE

--

CREATE TABLE "il" (

"id" integer DEFAULT nextval('id'::text),

"source" text,

"description" text,

"to_from" integer,

"transdate" date DEFAULT 'now'

);

--

-- Name: chart Type: TABLE

--

CREATE TABLE "chart" (

"id" integer DEFAULT nextval('id'::text),

"accno" integer,

"description" text,

"charttype" character(1) DEFAULT 'A',

"gifi" integer,

"category" character(1),

"link" text

);

--

-- Name: fund Type: TABLE

--

CREATE TABLE "fund" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"description" text

);

--

-- Name: project Type: TABLE

--

CREATE TABLE "project" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"description" text

);

--

-- Name: department Type: TABLE

--

CREATE TABLE "department" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"description" text,

"head" integer

);

--

-- Name: remark Type: TABLE

--

CREATE TABLE "remark" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"detail" text

);

--

-- Name: defaults Type: TABLE

--

CREATE TABLE "defaults" (

"inventory_accno_id" integer,

"income_accno_id" integer,

"expense_accno_id" integer,

"company" character varying(35),

"addr1" character varying(35),

"addr2" character varying(35),

"addr3" character varying(35),

"addr4" character varying(35),

"contact" character varying(35),

"phone" character varying(30),

"fax" character varying(20),

"tax1cap" text,

"tax2cap" text,

"tax1pref" character(1),

"tax2pref" character(1),

"attrib1cap" text,

"attrib2cap" text,

"attrib3cap" text,

"attrib1tbl" text,

"attrib2tbl" text,

"attrib3tbl" text,

"attrib1sdesc" text,

"attrib2sdesc" text,

"attrib3sdesc" text,

"attrib1ldesc" text,

"attrib2ldesc" text,

"attrib3ldesc" text,

"attrib1tblmn" text,

"attrib2tblmn" text,

"attrib3tblmn" text,

"attrib1cnval" text,

"attrib2cnval" text,

"attrib3cnval" text,

"email" text,

"inv_rmkid" integer,

"rmd_rmkid" integer,

"po_rmkid" integer,

"quo_rmkid" integer,

"sm_rmkid" integer,

"invnumber" text,

"ponumber" text,

"yearend" date,

"nativecurr" character varying(3),

"weightunit" character varying(5),

"businessnumber" text,

"version" character varying(8),

"photoyn" text,

"addressyn" text,

"phoneyn" text,

"emailyn" text,

"ecyn" text

);

--

-- Name: resourcelock Type: TABLE

--

CREATE TABLE "resourcelock" (

"resource" text,

"used_by" text

);

--

-- Name: acc_trans Type: TABLE

--

CREATE TABLE "acc_trans" (

"id" integer DEFAULT nextval('id'::text),

"trans_id" integer,

"chart_id" integer,

"attrib1" integer,

"attrib2" integer,

"attrib3" integer,

"amount" double precision,

"transdate" date DEFAULT 'now'

);

--

-- Name: bkr_trans Type: TABLE

--

CREATE TABLE "bkr_trans" (

"trans_id" integer,

"chart_id" integer,

"source" text,

"description" text,

"cheque" text,

"refnumber" text,

"status" character(1),

"amount" double precision,

"transdate" date DEFAULT 'now'

);

--

-- Name: inv_trans Type: TABLE

--

CREATE TABLE "inv_trans" (

"trans_id" integer,

"order_id" integer,

"parts_id" integer,

"qty" real,

"transdate" date DEFAULT 'now'

);

--

-- Name: invoice Type: TABLE

--

CREATE TABLE "invoice" (

"id" integer DEFAULT nextval('id'::text),

"trans_id" integer,

"inventory_accno_id" integer,

"income_accno_id" integer,

"expense_accno_id" integer,

"itemid" integer,

"itemtype" character(1),

"description" text,

"qty" real,

"sellprice" double precision,

"cost" double precision,

"discount" real,

"tax1" double precision,

"tax2" double precision,

"tax1_accno_id" integer,

"tax2_accno_id" integer,

"unit" character varying(5)

);

--

-- Name: oitem Type: TABLE

--

CREATE TABLE "oitem" (

"id" integer DEFAULT nextval('id'::text),

"trans_id" integer,

"itemid" integer,

"itemtype" character(1),

"description" text,

"qty" real,

"sellprice" double precision,

"cost" double precision,

"discount" real,

"tax1" double precision,

"tax2" double precision,

"unit" character varying(5)

);

--

-- Name: vendor Type: TABLE

--

CREATE TABLE "vendor" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"addr1" character varying(35),

"addr2" character varying(35),

"addr3" character varying(35),

"addr4" character varying(35),

"contact" character varying(35),

"phone" character varying(20),

"fax" character varying(20),

"email" text,

"notes" text,

"terms" smallint DEFAULT 0,

"taxincluded" character(1)

);

--

-- Name: customer Type: TABLE

--

CREATE TABLE "customer" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"addr1" character varying(35),

"addr2" character varying(35),

"addr3" character varying(35),

"addr4" character varying(35),

"contact" character varying(35),

"phone" character varying(20),

"fax" character varying(20),

"email" text,

"notes" text,

"discount" real,

"taxincluded" character(1),

"creditlimit" double precision,

"terms" smallint DEFAULT 0,

"shiptoname" character varying(35),

"shiptoaddr1" character varying(35),

"shiptoaddr2" character varying(35),

"shiptoaddr3" character varying(35),

"shiptoaddr4" character varying(35),

"shiptocontact" character varying(35),

"shiptophone" character varying(20),

"shiptofax" character varying(20),

"shiptoemail" text

);

--

-- Name: parts Type: TABLE

--

CREATE TABLE "parts" (

"id" integer DEFAULT nextval('id'::text),

"partnumber" text,

"description" text,

"unit" character varying(5),

"listprice" double precision,

"sellprice" double precision,

"cost" double precision,

"notes" text,

"bin" text,

"priceupdate" date DEFAULT 'now',

"weight" real,

"costupdate" date DEFAULT 'now',

"rop" real,

"inventory_accno_id" integer,

"income_accno_id" integer,

"expense_accno_id" integer

);

--

-- Name: assembly Type: TABLE

--

CREATE TABLE "assembly" (

"id" integer DEFAULT nextval('id'::text),

"assembly_id" integer,

"item_id" integer,

"qty" double precision

);

--

-- Name: alternate Type: TABLE

--

CREATE TABLE "alternate" (

"id" integer DEFAULT nextval('id'::text),

"alternate_id" integer,

"item_id" integer

);

--

-- Name: service Type: TABLE

--

CREATE TABLE "service" (

"id" integer DEFAULT nextval('id'::text),

"servicenumber" text,

"description" text,

"unit" character varying(5),

"listprice" double precision,

"sellprice" double precision,

"cost" double precision,

"notes" text,

"priceupdate" date DEFAULT 'now',

"costupdate" date DEFAULT 'now',

"income_accno_id" integer,

"expense_accno_id" integer

);

--

-- Name: ar Type: TABLE

--

CREATE TABLE "ar" (

"id" integer DEFAULT nextval('id'::text),

"invnumber" text,

"ar_accno_id" integer,

"transdate" date DEFAULT 'now',

"customer" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision,

"duedate" date,

"notes" text,

"ordnumber" text,

"shippingpoint" text,

"terms" smallint DEFAULT 0

);

--

-- Name: ap Type: TABLE

--

CREATE TABLE "ap" (

"id" integer DEFAULT nextval('id'::text),

"invnumber" text,

"ap_accno_id" integer,

"transdate" date DEFAULT 'now',

"vendor" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision,

"duedate" date,

"ordnumber" text

);

--

-- Name: po Type: TABLE

--

CREATE TABLE "po" (

"id" integer DEFAULT nextval('id'::text),

"ponumber" text,

"transdate" date DEFAULT 'now',

"vendor" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision,

"duedate" date,

"shipfrom" text,

"notes" text

);

--

-- Name: so Type: TABLE

--

CREATE TABLE "so" (

"id" integer DEFAULT nextval('id'::text),

"sonumber" text,

"transdate" date DEFAULT 'now',

"customer" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision,

"duedate" date,

"shipfrom" text,

"notes" text

);

--

-- Name: quote Type: TABLE

--

CREATE TABLE "quote" (

"id" integer DEFAULT nextval('id'::text),

"quotenumber" text,

"so_id" integer,

"transdate" date DEFAULT 'now',

"customer" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision,

"duedate" date,

"shipfrom" text,

"notes" text

);

--

-- Name: tax Type: TABLE

--

CREATE TABLE "tax" (

"id" integer DEFAULT nextval('id'::text),

"chart_id" integer,

"rate" double precision,

"taxnumber" text,

"taxgroup" text,

"notes" text

);

--

-- Name: customertax Type: TABLE

--

CREATE TABLE "customertax" (

"customer_id" integer,

"tax_id" integer,

"taxtype" character(1)

);

--

-- Name: vendortax Type: TABLE

--

CREATE TABLE "vendortax" (

"vendor_id" integer,

"tax_id" integer,

"taxtype" character(1)

);

--

-- Name: itemtax Type: TABLE

--

CREATE TABLE "itemtax" (

"item_id" integer,

"tax_id" integer,

"taxtype" character(1)

);

--

-- Name: payment Type: TABLE

--

CREATE TABLE "payment" (

"id" integer DEFAULT nextval('id'::text),

"paynumber" text,

"cheque" text,

"transdate" date DEFAULT 'now',

"vendor" integer,

"amount" double precision,

"payee" text,

"remark" text,

"dr_accno_id" integer,

"cr_accno_id" integer

);

--

-- Name: receipt Type: TABLE

--

CREATE TABLE "receipt" (

"id" integer DEFAULT nextval('id'::text),

"rptnumber" text,

"cheque" text,

"transdate" date DEFAULT 'now',

"customer" integer,

"amount" double precision,

"remark" text,

"dr_accno_id" integer,

"cr_accno_id" integer

);

--

-- Name: p_match Type: TABLE

--

CREATE TABLE "p_match" (

"paymentid" integer,

"invoiceid" integer,

"s_amount" double precision

);

--

-- Name: r_match Type: TABLE

--

CREATE TABLE "r_match" (

"receiptid" integer,

"invoiceid" integer,

"s_amount" double precision

);

--

-- Name: ipmatch Type: TABLE

--

CREATE TABLE "ipmatch" (

"poid" integer,

"invoiceid" integer,

"b_amount" double precision

);

--

-- Name: ismatch Type: TABLE

--

CREATE TABLE "ismatch" (

"soid" integer,

"invoiceid" integer,

"b_amount" double precision

);

--

-- Name: sqmatch Type: TABLE

--

CREATE TABLE "sqmatch" (

"quoteid" integer,

"soid" integer,

"a_amount" double precision

);

--

-- Name: qcash Type: TABLE

--

CREATE TABLE "qcash" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"value" double precision,

"minsale" double precision,

"maxsale" double precision,

"minqty" integer,

"maxqty" integer,

"minvalue" double precision,

"maxvalue" double precision,

"posacc_id" integer,

"start" date,

"endd" date,

"splan_id" integer,

"notes" text

);

--

-- Name: addon Type: TABLE

--

CREATE TABLE "addon" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"factor" double precision,

"basis" character(1),

"mincount" integer,

"maxcount" integer,

"minsale" double precision,

"maxsale" double precision,

"incacc_id" integer,

"expacc_id" integer,

"start" date,

"endd" date,

"splan_id" integer,

"notes" text

);

--

-- Name: sprice Type: TABLE

--

CREATE TABLE "sprice" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"itemid" integer,

"price" double precision,

"start" date,

"endd" date,

"splan_id" integer,

"notes" text

);

--

-- Name: cashbox Type: TABLE

--

CREATE TABLE "cashbox" (

"id" integer DEFAULT nextval('id'::text),

"name" text,

"cashier" text,

"shift" character(1),

"location" text,

"maxcash" double precision,

"notes" text

);

--

-- Name: pos Type: TABLE

--

CREATE TABLE "pos" (

"id" integer DEFAULT nextval('id'::text),

"posnumber" text,

"cboxid" integer,

"cashier" text,

"transdate" date DEFAULT 'now',

"shift" character(1),

"customer" integer,

"taxincluded" character(1),

"amount" double precision,

"netamount" double precision

);

--

-- Name: positem Type: TABLE

--

CREATE TABLE "positem" (

"id" integer DEFAULT nextval('id'::text),

"trans_id" integer,

"invacc_id" integer,

"incacc_id" integer,

"expacc_id" integer,

"posacc_id" integer,

"itemid" integer,

"itemtype" character(1),

"qty" real,

"price" double precision,

"cost" double precision,

"value" real,

"factor" double precision,

"discount" real,

"unit" character varying(5),

"tax1" double precision,

"tax2" double precision,

"tax1acc_id" integer,

"tax2acc_id" integer

);

--

-- Name: cbtran Type: TABLE

--

CREATE TABLE "cbtran" (

"id" integer DEFAULT nextval('id'::text),

"cbtnumber" text,

"cboxid" integer,

"manager" text,

"cashier" text,

"trantype" character(1),

"transdate" date DEFAULT 'now',

"shift" character(1),

"amount" double precision

);

--

-- Name: log Type: TABLE

--

CREATE TABLE "log" (

"id" integer DEFAULT nextval('sid'::text),

"trans_id" integer,

"app" text,

"script" text,

"userid" text,

"date" integer,

"time" text,

"op" text

);

--

-- Name: employee Type: TABLE

--

CREATE TABLE "employee" (

"id" integer DEFAULT nextval('sid'::text),

"name" text,

"prefix" text,

"family" text,

"given" text,

"suffix" text,

"nationalid" text,

"username" text,

"title" text,

"supervisor" integer,

"dept" integer,

"grade" text

);

--

-- Name: hrcode Type: TABLE

--

CREATE TABLE "hrcode" (

"id" integer DEFAULT nextval('id'::text),

"type" text,

"name" text,

"description" text,

"allowdelete" character(1)

);

--

-- Name: address Type: TABLE

--

CREATE TABLE "address" (

"empid" integer,

"line1" text,

"line2" text,

"line3" text,

"line4" text,

"addresscode" text,

"region" text,

"country" text,

"zip" text

);

--

-- Name: phone Type: TABLE

--

CREATE TABLE "phone" (

"empid" integer,

"prefix" text,

"phone" integer,

"suffix" text,

"phonecode" text

);

--

-- Name: email Type: TABLE

--

CREATE TABLE "email" (

"empid" integer,

"prefix" text,

"suffix" text,

"emailcode" text

);

--

-- Name: ec Type: TABLE

--

CREATE TABLE "ec" (

"empid" integer,

"prefix" text,

"family" text,

"given" text,

"suffix" text,

"contact" text,

"relation" text,

"eccode" text

);

--

-- Name: dates Type: TABLE

--

CREATE TABLE "dates" (

"empid" integer,

"empdate" date,

"datecode" text,

"notify" integer

);

--

-- Name: leave Type: TABLE

--

CREATE TABLE "leave" (

"empid" integer,

"leavefrom" date,

"leaveto" date,

"leavecode" text,

"duration" double precision

);

--

-- Name: pr Type: TABLE

--

CREATE TABLE "pr" (

"empid" integer,

"prfrom" date,

"prto" date,

"prcode" text,

"comment" text,

"reviewer" integer,

"pddate" date

);

--

-- Name: role Type: TABLE

--

CREATE TABLE "role" (

"empid" integer,

"rolecode" text

);

--

-- Name: timesheet Type: TABLE

--

CREATE TABLE "timesheet" (

"id" integer DEFAULT nextval('id'::text),

"empid" integer,

"year" integer,

"week" integer,

"hour_ttl" double precision,

"day_ttl" double precision,

"approved_by" text

);

--

-- Name: ts_trans Type: TABLE

--

CREATE TABLE "ts_trans" (

"id" integer DEFAULT nextval('id'::text),

"trans_id" integer,

"transdate" date DEFAULT 'now',

"project" integer,

"activity" text,

"hour" double precision,

"day" double precision,

"achieve" integer,

"achival" double precision,

"achiunit" double precision

);

--

-- Name: leaveapp Type: TABLE

--

CREATE TABLE "leaveapp" (

"id" integer DEFAULT nextval('id'::text),

"empid" integer,

"leavefrom" date,

"leaveto" date,

"leavecode" text,

"duration" double precision,

"approved_by" text

);

--

-- Name: aw_sysglobals Type: TABLE

--

CREATE TABLE "aw_sysglobals" (

"chart" integer,

"lang" text

);

--

-- Name: "chart_accno_key" Type: INDEX

--

CREATE UNIQUE INDEX chart_accno_key ON chart USING btree (accno);

1. FAQ

1. Why AccWhizz is not included in phpGroupWare?

I have not applied for AccWhizz to be included under phpGroupWare because it is not stable enough.

2. Does your application replace SQL-Ledger and add extra functions or do people have to install SQL-Ledger first?

AccWhizz does not require SQL-Ledger, but it does need apache+phpGroupWare as an underlying middle layer, and Postgres or MySQL as the DB engine.

3. Where can I find more info on AccWhizz?

More detail information of AccWhizz is available from the mailing list, accwhizz-users@lists., the documentation kept at the project home page .

4. In what programming language is AccWhizz written?

AccWhizz is written in pure PHP, and uses SQL as database interface.

5. What is the maximum length of application description?

Sourceforge limits application description to 255 chars.

1. Glossary

A/C: current account or audit control

ASAL: accounting system abstraction layer (allows easy adding new accouting rulesets)

Chart of accounts: a set of accounts used to process booking in a given company

AccWhizz: Common Knowledge Ledger

CR: cash records

DAL: database abstraction layer (allows easy adding new database support)

d/d: double decree/entry

G/L: General ledger

NLS - national language support

OS - outstanding (amount)

OSI : Open Source Initiative

phpGroupWare: Accwhizz operating enviroment:

phpGW: abbrev. of phpGroupWare

PO: Purchase Order

PRC: People Republic of China

SME: small and medium enterprises

SO: Sales Order

Sourceforge:

VAT: Value Added Tax

1. Conclusion

This will never be a finished document.

Primary format for this document is OpenOffice Writer.

I will send a notification of new versions to AccWhizz mailing list ().

All error corrections and suggestions are welcome.

This document author contact e-mail: jrtwolski@users. .

1. Change control

Changes to this document will be introduced by standard change control mechanism.

Every new release will accept changes from the previous release and mark its own separately.

WARNING! Other document formats may have change information incorrect or distorted.

1. Change history

|No. |Change description |Date |Version |Change author |

| |Initial release |13/08/02 |0.0.1.1 |Romuald |

| |Document review |14/08/02 |0.0.1.2 |Romuald |

| |Polish version amendments |27/08/02 |0.0.1.3 |Romuald |

| |Pre-release amendments |15/09/02 |0.0.1.4 |Romuald |

| |Pre-release amendments for v. 0.0.1.2 |05/10/02 |0.0.1.5 |Romuald |

| |Pre-release amendments for v. 0.0.1.3 |07/11/02 |0.0.1.6 |Romuald |

| |Pre-release amendments for v. 0.0.1.4 |27/11/02 |0.0.1.7 |Romuald |

| |Pre-release amendments for v. 0.0.3 |31/12/02 |0.0.1.8 |Romuald |

| |Pre-release amendments for v. 0.0.5 |02/02/03 |0.0.5 |Romuald |

| |Pre-release amendments for v. 0.0.7 |26/02/03 |0.0.7 |Romuald |

| |Pre-release amendments for v. 0.0.9 |17/03/03 |0.0.9 |Romuald |

| |Pre-release amendments for v. 0.0.11 |18/06/03 |0.0.11 |Romuald |

................
................

In order to avoid copyright disputes, this page is only a partial summary.

Google Online Preview   Download