Exploring BambooInvoice

Usually bamboo refers to grass ( same category ) sort of plant.. bt in bangladesh; sometime we refer bamboo as having hard time.
Like:  I am getting a bamboo in my a** dealing the last project. Means: i am having a hard time with my last project.

But in case of BambooInvoice .. quoting from the main site..

BambooInvoice is free open-source invoicing software intended for small businesses and independent contractors. Our number one priorities are ease of use, user-interface, and beautiful code. BambooInvoice was built by designer and programmer Derek Allard.”

And i am really surprised and impressed by seeing the simplicity of this system. My objectives for 1 of my projects were:

  1. Integrating BambooInvoice 0.8.4 with one of my project developed using CodeIgniter 1.6.1 .
  2. Pass additional Data to Clients.
  3. Pass additional Data during New Invoice Creation.
  4. Creating New Items in Invoice, on Fly.

To solve objective 1:  BambooInvoice uses ‘Site Sentry security library’ By James Nicol www.glossopteris.com. So, all i did is removed ‘if (!$this->site_sentry->is_logged_in()…. ‘ from each controller and in 1(not sure may be 2 ) view files.

To solve objective 2:  I passed my Agency(in my project agency is client) data into clients table and altered the table as necesary.

To solve objective 3: In my project after selecting the client the user had to choose a contract id. So, i had to use an onchage event. That did not worked because ‘newinvoice.js’ defines the event for that client_id select box. Moreover from a view file (common_assets/invoice_new.php) the display of newinvoice is made hidden. For this i tweaked these 2 files and other necessary changes. To hold the other important datas in table i added ‘contract_id’ field in ‘invoices’ table.

To solve Objective 4: My Items in Invoice were categorized like VAT on total Amount, AIT on total amount.. etc. I have added a reference key from table ‘tbl_invoice_item_type’ which holds the percentage of VAT and other info, into ‘invoice_items’.

The logic structure and data manipulation in BambooInvoice is so organized that all i have to ask myself is what i want to do?? and then i have to check the flow of the application.

Though ‘BambooInvoice is still pre 1.0. There are a few bugs and uncompleted features. It is stable for everyday use, and is growing all the time.’ bt it saved a good amount of my work. 3 cheers to Derek Allard. Keep up the good work.



4 thoughts on “Exploring BambooInvoice

  1. billybob says:

    This project is dead, it is another project that has been neglected under the excuse there is no time, the math in the program is not right, time always seems to be an excuse when someone reaches their level of understanding. Don’t waste your time on this product, free doesn’t have to mean it doesn’t work.

    Give myclientbase a try at http://www.myclientbase.com/forums/index.php

  2. tohin says:

    Hey bob .. thanks for sharing the link .. I have used myclientbase for another project in 2010. And you may have not noticed the day of this post which is in 2008 🙂 .. At that time I liked bamboo Invoice. On a short note about myclientbase — the structure of the code is good .. It did not take much time to modify the project to add my additional needs ..

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s