simple web accounting software

Authors

About

This software was developed to keep track of money I lend and owe. I use it from my RIM wireless pager. It is insecure for access, but there is no way to actually undo transactions with the software, so at least hackers will be detected.

screenshot screenshot

Background

This thing is basic double-entry accounting. You transfer funds from one account to another. I have a "Cash" account which is my money, and then make an account for each of my friends. When I lend money, I transfer from "Cash" to the Friend. When I get repaid, I do the reverse. It works okay.

Future

Whatever you make it.

Setup

This thing needsa SQL database that works with DBI. I've only used it with mysql. There's a sql dump included that describes the database.

To add accounts, just put people in the account table. Leave editpw and viewpw as NULL. They're reserved for future use. heheh.

The password is encrypted with crypt() in case your web server displays the cgi source accidentially. So, you need to make your own password and put it in the script.

To make a password: perl -e 'print crypt('secretpassword','anything')."\n";'

New in 1.2

If you put email addresses in the email field, those people will be sent an email when their accounts are modified. (NEW FEATURE!!)

It's now harder to accidentally re-post your transaction with the browser's reload button! And you only have to throw out your old data to use the new feature!

New in 1.3

Floating-point math is now performed far less often by the system, meaning that you're less likely to get weird values like $1.99999999999999999999999999999.

The main menu now has nifty account selector dropdowns!

The dates and times of the transactions are now recorded properly in the database. This was a bug/oversight in 1.2.

There's a new super-handy accounts summary screen.

I told CGI.pm not to send the xhtml dtd anymore since it was breaking Go.Web.

Source Code

License: Public Domain (no GPL virus)

Archived:

Recent Changes

Return to my home page.