BANAL version 0.10

Chapter 1: Introduction

BANAL stands for BK's Absolutely Not A Ledger (I wanted to call it ANAL but was voted down) and is currently geared towards providing essential book-keeping, invoicing and "practice managment" functionality to small businesses.

Some key features of BANAL are:

  • Identical methods for adding information into various tables. This means that once you learn a type of command (eg. listing) then and table (eg. expenses) then you can use that command for any table. You can easily add fields into a table or create a new table.

  • Client/Server means that you have one repository for information and it may be accessed by anyone that can connect to your server (no security features yet, sorry).

  • Ability to generate invoices, quotations, income and expense statements.

  • Ability to generate management reports.
  • This document describes the concepts underlying the implementation of BANAL as well as how to use the client and server programs to add, modify, list and generate information.

    1.1: Getting Support

    Currently, support is available through e-mail. Send questions, problems, bugs fixes or whatever to matt@starnix.com.

    There is also a mailing list for users and developers. To subscribe, send an e-mail to banal-request@starnix.com with the subject of the message (NOT the body) saying: subscribe

    An e-mail will be sent to you asking you to confirm the request. Follow the instructions sent. An e-mail with your password will be sent upon confirmation. This will be needed later.

    Send your questions and comments to: banal@starnix.com

    1.2: Concepts

    Important concepts to understand with BANAL are:

  • This is a Client/Server application. This means that you have one copy of the server executable running at all times. Any number of clients may connect to the server to perform tasks.

  • The Client Program - bk is for the general user.

  • The Server Program - bkd is set-up and and only one copy is run at a time by the BANAL administrator.

  • Information is store in tables (or databases). Each table supports identical add, edit, delete and listing operations, differing only by the information. If you want to extend the existing tables or add new ones then read the information in section 4.3.

  • A table record is a collection of named fields with values. The command line client will give you a file to edit when adding or modifying a record. Each record (for any table) will have a first field which is a unique identifier. You may name it when you create it, however, if it already exists then you will be modifying it.

  • RDB-type expressions may be used to limit the entries that are listed from a table. You can find more information about RDB expressions in section 7.1.

  • Dates are stored in the form YYYY.MMDD to faciliate comparisons in expressions (eg. Date >= 1997.0101). When a GUI version of the client is created this detail may become less apparent.

  • Permitted values for a table's field (when it is classified as CATEGORIZED) are stored in the Category table.

  • Configuration settings are stored in the Setting table.
  • 1.3: System Requirements

    There aren't many system requirements to use BANAL. They are:

    Perl 5.002 or greater
    Perl may be found at http://www.perl.com if you do not have it. I'm actually using 5.003 and 5.004 so let me know if 5.002 doesn't work (and I'll raise the requirement unless you have specific fixes).

    RDB
    I've included a partial copy with BANAL so you do not have to install it. If you wish, you may obtain a complete distribution with documentation from ftp://ftp.rand.org/pub/RDB-hobbs.

    PHP3
    If you want to use the web interface (FWIW) you will need this. Get it from http://www.php.net.

    1.4: Legalese

    This software is currently copyrighted by FTL Solutions Inc. and we are including this notice because we know that someone will ask for one. So here it is:

    BANAL Practice Management Software

    Copyright (c) 1997-2002 FTL Solutions Inc.

    Permission to use, copy, modify, distribute, and sell this software and its documentation for any purpose is hereby granted without fee, provided that the above copyright notices and this permission notice appear in all copies of the software and related documentation.

    THE SOFTWARE IS PROVIDED "AS-IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

    IN NO EVENT SHALL FTL SOLUTIONS INC. OR STARNIX INC. BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF ABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

    1.5: Future Plans

    See the TODO file included with the BANAL distribution for specific items. Generally, we want to make this program more robust and useful. This will include new functionality and a GUI based on the same generalized information handling.

    New functionality means more financial statements, exporting to accounting packages and contact management. The new direction of development is for practice management. This means more functionality and reports for tracking how well you company is doing.

    Feel free to make suggestions. Send your comments (good or bad) to matt@starnix.com



    Solutions :: Services :: Support :: Training :: About Us
    copyright ©2002-2006 starnix inc. all rights reserved.