When you run a small business, it’s imperative to get paid — this is especially true for service-based businesses such as IT consultancies. A key component to getting paid is invoicing. There are various invoicing options, including in-house software or a hosted service. One in-house software option that helps you easily manage professional looking invoices is BambooInvoice.

BambooInvoice’s features

  • Client management
  • Invoice management
  • Reports
  • Add custom invoice information/notes
  • Add logo
  • Generate PDF
  • Email invoice
  • Enter payments on invoices
  • Invoice payment history
  • Multi-user
  • Open source
  • Web-based (so it’s accessible from anywhere)


BambooInvoice does not contain an item or service component; you need to manually input these components into each invoice. Even with this minor shortcoming, BambooInvoice is a stellar product.

Installing BambooInvoice

The installation requires a LAMP server with PHP 5 and MySQL 4.1 or greater (a recent LAMP installation will meet the necessary requirements). I will demonstrate the installation on a Ubuntu 13.04 platform. If you’re installing BambooInvoice on a different platform, you should modify the instructions as necessary (such as use of sudo or a different document root).

Before you start the installation process, you need to create a database. So, using your favorite database admin tool (such as phpMyAdmin or MySQL Workbench), create a database named bambooinvoice.

With the database created, download the latest release from the BambooInvoice website. Once the .zip file has downloaded, move it into the document root of your web server. From a terminal window, change to the document root and unzip the file with the command sudo unzip bambooinvoice_XXX.zip (XXX is the release number).

Now you need to edit a couple of configuration files. Navigate to /var/www/bambooinvoice/bamboo_system_files/application/config and open the config.php file. In this file, look for the line $config[‘base_url’]     = ‘http://localhost/bambooinvoice/’;. You need to replace localhost/ with your domain if you wish to access BambooInvoice from outside the LAN.

Next, open the file database.php and look for these lines:

$db[‘default’][‘hostname’] = ‘localhost’;

$db[‘default’][‘username’] = ‘root’;

$db[‘default’][‘password’] = ‘root’;

$db[‘default’][‘database’] = ‘bambooinvoice’;

Make sure you change those lines to reflect your configuration — only change what is between the ‘ ‘ on the right side and not the lines between the []. That is all the terminal configuration you need to do.

The next step is to point your browser to http://ADDRESS_OF_SERVER/bambooinvoice/, where you will be informed that BambooInvoice has not been installed (Figure A). Click the You Can Install Now link to take you to the only screen necessary for the installation.
Figure A

In the next screen, enter the details for the site admin (the Primary Contact should be your name) and click Install (Figure B).
Figure B

The installation process will automatically download and upgrade BambooInvoice to the latest version. When the installation is complete, a new screen will appear, giving you instructions on what to do next (Figure C). Click the Login link to go to the login page for BambooInvoice.
Figure C

Setting up your company

From the main page, click the Settings button. In the Settings screen, you will see three tabs: Account Settings, Invoice Settings, Advanced Settings (Figure D). Here’s what you’ll enter in those tabs:

  • Account Settings: Company information
  • Invoice Settings: Currency type, currency symbol, days until invoice is due, tax rate, second tax rate
  • Advanced Settings: Company logo, display branding (enable/disable), auto-check for new versions (enable/disable)

Figure D

After you configure BambooInvoice to your company’s specifications, it’s time to start setting up clients. Think of clients as companies rather than as individuals, unless the client is an individual. To that end, you will set up the company and then set up contacts within the company; this means you can have more than one contact per client.

To create a client, follow these steps:

  1. From the main window, click Clients.
  2. Click Create New Client.
  3. Fill out the necessary information including tax rates (Figure E).
  4. Click Save Client.

Figure E

To add contacts to the client, follow these steps:

  1. From the client list, click the newly created client, and then click Add Contact.
  2. Fill out the information for that contact and click Add Contact.
  3. Continue this process until you’ve added all the necessary contacts for the client.

BambooInvoice is ready for you to use. Give it a try, and report back in the comments section with your thoughts about the invoicing solution.