What is XIWA?

XIWA (zee' wuh) is a web based accounting package written in Perl and postgreSQL released under the GPL.  We started writing this application in 1999 when web apps were still fairly new.  Although Mozilla based browsers are the focus other browsers work pretty well with the system.  The 2.0 release removes all old cgi scripts, adds a completely new interface to every part of the system, and adds a little asynchronous Javascript (ajax).

The package currently runs within a Portal environment that provides sessions, users, and other features.  The Portal is released under the perl license so as to be widely useful to everyone.


Current Features:



Client The target client is Mozilla based browsers, but other browsers work as well. We are working toward fully supporting open standards. This will aid in browser support.

Server For now the server is limited to *nix environments (which may include using Cygwin on Win32--if someone gets this working on Windows, please let us know).  The database is currently using DBI but we heavily use transactions and stored procedures.  PostgreSQL is the first database we support but it should be possible to port to others.

Strengths and Weaknesses

Multiple Data Entry Interfaces are available for those who know double entry accounting and those who don't.

The Reporting engine is very flexible but can be very slow.  Balance sheets are the worst.   Most modern hardware has no problem with the others.  Reports can be easily customized.

Powerful Investment tracking was a requirement of the project. Most accounting packages avoid investments (we can understand why). The investment section of the project is a huge task that was not easy to work out but gives a very detailed, precise history.  There is potental for Return on Investment calculations and graphs because the data is there.

Web technologies allow for easy re-use of legacy code.  This project has changed styles and tecnologies as the industry and our programming skills have changed over the years. Fortunately, the older parts of the system are easily used along side the new parts because changing from new to old is as simple as submitting to a url.  Old code can be rewritten at a more convenient time.


Before installing try out a demo vmware appliance.



The easiest method for installing XIWA is to use apt.  We provide debian packages and tarballs.  Since this is perl there isn't anything to compile but there are plenty of dependencies.  There are details for using apt here.

You should probably install the portal first and get it working before installing xiwa in case there are errors.  After pointing apt sources to our repository type apt-get install pcxportal.  Apt will install all of the depencies needed and the portal packages.  Some are in debian; all the others should be in our repository.

After the install, it will run the post-install scripts which will prompt you for information.  Then run apt-get install xiwa and answer those questions also. 

Debian Based Distros

We haven't tried this very often so please let us know if you have any problems.  The biggest obstacle will be dependencies that are in debian but are not in those other distros.  K/Ubuntu has all of them but some are in universe.

RPM Based Distros

We don't use them anymore but would be willing to link to packages built by someone else.  Just let us know if you want to host some rpms for xiwa/portal.  There are rpm control files in the projects but they will need a little work.  The biggest problem that you will run into is the need to satisfy dependencies that will probably not be in the distro.  We use some modules from cpan and make our own debs of them.  If you are going to make xiwa rpms then you really should make rpms for all of the dependencies or xiwa wont work after other people install it.  Using apt for rpm (or maybe yum) would make the process of installing somewhat easier after rpms have been created.

The second problem will be the need to run post-install scripts to finish the setup of the portal and xiwa.  rpm will NOT allow for user interaction during install.  dpkg does allow us to gather data from the user as part of the install process.  This means that the rpm procedure will differ from the dpkg procedure.  Perhaps someone could write a script which would download all of the rpms and dependencies, install them, and then run the user interactive scripts.

Other/Manual installation

Let me say that this method is rather cumbersome.  If you are new to Linux/Unix you probably don't want to do this--instead, install Debian.  It is a bit of a pain but it's worth it. . . . If you must get it working on a different distro then it will probably involve a lot of searching and downloading. 

First, install the dependencies for the Portal. You will need many perl modules to satisfy dependencies.  Most of them can be found here.  You MUST use DBD::Pg since XIWA currently only works with PostgreSQL 7.4 or later.  (8.x almost works but there have been issues. We would like to make that work.) You may need to use cpan to get some of the modules.  You will find out which dependencies are missing when you try to install the perl modules.  To do that, extract and install the perl tarball that you downloaded from the Portal project page on sourceforge:

tar -xzf libpcxportal-perl-0.3.x.tar.gz
cd libpcxportal-perl-0.3.x
perl Makefile.PL
make install (as root)

If you are missing any dependencies the first command will output errors for those modules and you will need to find and install them.  Did I mention that this would be a lot eaiser if you were using Debian?  After installing the perl modules extract the other files for the portal and install it with

tar -xzf pcxportal-0.3.x.tar.gz
cd pcxportal-0.3.x/install

It will ask you many questions during install.  If you have any problems read the README files.  The xiwa install is done the same way as the portal.  Extract the files, satisfy dependencies, and install.  By the way this is much easier if you are using Debian.


If you need help, check the documentation and mailing lists on the SourceForge Logoproject page for XIWA.

If you need more help the package is commercially supported by Xperience, Inc.

Copyright (c) 2001-2003 Xperience, Inc.

Updated: $Id: index.html,v 1.15 2007/05/18 03:15:50 moreejt Exp $