|
|
||||||||||||||||||
|
|
||||||||||||||||||
![]() |
![]() |
Issue 9 - Revision 8 / February 7, 2005
|
|||
|
- - - - - - - - - - - - By Samuel Sotillo | December 29, 2004 Pros
Introduction BastionLedger (BL) is a Web-based accounting system. It is part of a series of products designed to integrate enterprise financial services into a single view accessible through the Web. Further, BL is one of the first Open Source products targeted to the emerging on-demand applications market. BL was developed by The Last Bastion Network, an integration company, to compete with other similar products such as Oracle-based NetSuite and SAP-based mySAP. Like those other products, BL was initially conceived as a hosted solution — users would be able to access a Web-based accounting system customized for their company's needs. Host-based applications or, as they are called today, on-demand applications, are an emerging technology based on the ASP (Application Service Provider) model from the mid 90s. Several companies are pushing this new technology, including big names such as IBM and Oracle, and more modest ones such as the integrators Salesforce.com and Grand Central Communications. BL is one of the first Open Source accounting products offered under this emerging model. Nonetheless, in contrast with its competitors, BL is also available under GPL so that people can use the product to set up their own in-house accounting systems or to develop their own applications. Some BL features are (or will be):
Another type of object can be added to this list: Installation BL is available for download as a at compressed TAR file . For this review we will use BL version 1.0.6 running on top of Zope 2.7.2 for Linux. (Note: BL requires BtreeFolder2 in order to handle the containment of a large number of objects.) To install the product, one must untar the package into the <:zope-home>/Products folder. Do not forget that Zope must be re-started to complete the installation.
Once Zope has been re-started, one must check There is another way to verify that BL has been installed correctly. From the root folder, expand the pull-down menu (or Zope Product Add list) and check if a new object named Ledger has been added. If so, everything is OK. Some documentation is available in HTML format, though it is mostly introductory. (There is a User Manual as well as a User Guide for the sister-application BastionBanking.) (Recently, The Last Bastion released BL as RPM packages. For those interested in using Linux the RPM packages are available here. There is a nominal fee for accessing this version of the distribution.) Getting started: myCompany Inc. To test BL let's use an imaginary company named: myCompany Inc. Let's assume that it is a small business whose primary purpose is to sell hand-made Christmas cards.
First we need to create a folder named
There are three parameters to define, as shown in Figure 1. The first one is the very common
The next parameter is
The last parameter ( Figure 2 depicts our ledger before it has been set up.
BL is a relatively complex application — it would be impossible to describe all of BL's capabilities in the space of a product review. Sometime in the future, ZopeMag will offer a more detailed article on this interesting product. For now, we will review some of the most interesting capabilities of BL without going too deeply into the details. Setting up our Company's identityAll new ledgers include several default objects — all of them based on default templates. Figure 2 shows the following list of objects (with some changes):
Following the documentation, the next step should be to enter the Company's identity information. Figure 3 shows how to do it. (Of course, all data is fictitious.)
In addition to self-explanatory data such as title, address, incorporation date, or the names of the directors and the secretary, our Company's identity includes an ID number and a tax identification number. Because this product has been designed as a hosted solution, the company's ID number is used to differentiate this particular instance of the ledger from other instances belonging to other companies. Users and security
BL instances use the underlying Zope user management mechanism through an
For example, administrators can define a new role, say Additionally, new users can be created at the time certain kinds of accounts are created — for instance, employees and shareholders. Setting-up the LedgerThe Ledger is the most important part of any accounting system. It keeps information about all existing accounts and their relationship to each other. To use our ledger we must click on the Ledger object link. Figure 4 shows the content of this object.
As mentioned above , the Ledger contains the chart of accounts (see Table 1 for a partial list of BL's default chart of accounts). By default, clicking on the Ledger object link takes us to the Ledger's properties view. Figure 4 shows this view. Basically, a ledger may have a name, some information about the next account and transaction numbers available, a list of possible currencies that can be assigned to the ledger, and an email address for “correspondence.” Note that the ledger may use multiple currencies — we have assigned US and Canadian dollars as an example. It is important to differentiate between BL the product and its ledgers as described in this section. BL, as defined above (“Setting up our Company's Identity”), does not support multiple currencies — this means that all balances will be computed in a single currency, the one chosen at the time we define our company's identity. However, this restriction is of limited importance now as future versions of BL will offer full multi-currency functionality.
Going back to the chart of accounts, BL uses a default list of accounts — see Table above. Accounts are identified by an account number or code. According to the documentation these codes are generated by concatenating the letter A (for “Account”) and an integer. Figure 5 shows our chart of accounts as rendered by the
Transaction numbers are generated the same way, with the letter T (Transaction) instead of A at the beginning. Inventories
Inventories are assumed to have a simple hierarchical structure. Stocks or parts are kept in
Every item (stock) in the Inventory must be associated with a series of accounts in the General Ledger so that transactions can update all necessary records when they are committed. The last three parameters point to such accounts. Orders and transactions
When an order is entered into BL, a transaction is initiated that affects the order's underlying account — for instance, either account payables or account receivables. In order to use this mechanism, debtor and creditor () accounts must be created through the
As can be seen in Figure 7, the All-Fictitious Corporation's order account includes tombstone information (company name, address, contact info, tax info, discount rate, credit limit, etc.) in the
Observable eventsare actions or processes that can be pre-scheduled or which can trigger other processes or events. These events may be triggered whenever an entry is made into the account — whenever they are added (
For example, let's enter a new order from us for fifty (50) Sibling Cards by All-Fictitious Corp. First we add a new
The new BLOrder has no items yet. To add items, we must click on the
Figure 10 shows the resulting invoice. As shown, BL calculates the gross amount after the preset discount is applied.
Transactions can be defined for any BL account — for instance, journal transactions for the
By the way, as should be expected, transactions can contain more than one entry. Transactions cannot be completed until they balance — i.e., all accounts involved must balance. However, there is no information about what happens when there is an open transaction at the end of the fiscal year. PayrollDevelopment of the payroll system is still in progress. Basic employee information such as contact information and pay-stub information are accessible to every employee with a personal user account. From this point of access employees can create personalized time-sheets and view past pay-stubs. Figure 11 illustrates how to create a new employee account.
Unfortunately, this component still has a lot of flaws. While testing, I found several bugs in some of the main page templates, as well as problems with some form processing routines in different scripts. ShareholdersThe Shareholder component allows the user to keep some basic information about the company's owners — their capital accounts. Figure 12 shows information about a sample shareholder (Bill Gastes).
In addition to the shareholder accounts, BL allows the creation of share definitions containing face value, allocation, and issue date. Things to comeBL is evolving. The Last Bastion Network is working hard to integrate this product into Plone. According to them, Plone skins are being developed to facilitate usage and to make BL more appealing. Also, much of BL functionality is being translated into Plone's workflows — for instance, future BL releases will use workflows to deal with accounts, transactions, orders and so on. In addition, a new payment management system will allow BL to handle PayPal transactions — currently, BL offers some basic payment functionality when it is used in conjunction with another Last Bastion project, BastionBanking. Unfortunately, all this new functionality was not available at the time of this review. ConclusionsBastionLedger is a framework suited for developing Web-based accounting systems targeted to CPA firms and other small and medium-size businesses. It was initially offered as a hosted, on-demand solution but because of its GPL license, it may be customized as an on-site application or integrated into other products. Unfortunately, BL is lacking proper documentation. The available documentation is poor and limited in scope — focussing mainly on the API. Further, the source-code is buggy and there is almost no error-handling — beyond the basic one provided by Zope. Despite its deficiencies, BL is a very interesting project with a lot of potentiality in an emerging market — on-demand applications. According to Allan Milligan, lead developer of The Last Bastion Network, BL is a challenging project with significant “demands.” For that reason, they are requesting increased support from the Zope/Plone community in order to develop a robust application good enough to compete with the likes of Oracle's NetSuite, SAP's mySAP, and even Open Source Java-based Compiere ERP. Product Review End.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| ZopeMag is committed to bringing you the best in Zope Documentation. | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
Reproduction of material from any of ZopeMag's pages without prior written permission is strictly prohibited. Copyright 2003 - 2005 ZopeMag |
|