BambooInvoice web-based invoicing application
Smooth Solution
If you want your business to run smoothly, deploying a dependable invoicing solution should be among your top priorities. BambooInvoice offers a user-friendly, web-based invoicing solution.
As a freelancer or a small business owner, you might be tempted to use a Calc spreadsheet or a Writer template to generate and manage invoices, but a dedicated invoicing application can save you a lot of time and frustration in the long run. If installing, configuring, and learning to use an invoicing application sounds like a daunting proposition to you, then BambooInvoice [1] is what you need (Figure 1).
BambooInvoice is a PHP/MySQL-based application, so you need a machine running the LAMP (Linux, Apache, MySQL, PHP) stack. If you don't have the time or necessary skills to set up the stack yourself, your best option is to use the XAMPP package [2], which comes with all the required components preconfigured and ready to run.
Getting Started
Installing BambooInvoice with XAMPP running on your machine is not difficult. To start, create the bambooinvoice database. To do this, you can use the phpMyAdmin tool bundled with XAMPP. Then download the latest version of BambooInvoice, unpack the downloaded archive, and move the resulting bambooinvoice folder to the htdocs directory in the XAMPP installation.
Next, make the invoices_temp and /img/logo directories writable by changing their permissions to 777. Then navigate to the /bambooinvoice/bamboo_system_files/application/config/ directory, open the database.php file in a text editor, and modify the default MySQL connection settings as follows:
$db['default']['hostname'] = "localhost"; $db['default']['username'] = "root"; $db['default']['password'] = "";
While you are at it, turn database debugging off by changing the TRUE value in the $db['default']['db_debug'] = TRUE; line to FALSE.
The installation notes that come with BambooInvoice also recommend changing the default encryption key to make your system more secure. To do this, go to the /bamboo_system_files/application/config directory and open the config.php file in a text editor. Locate the $config['encryption_key'] line and change its default value to a random string. Here, you can also change BambooInvoice's default language by replacing the default "english" value in the $config['language'] = "english"; line with another supported language (e.g., "french", "german", "dutch", "romanian", "spanish", "portuguese", "bulgarian", "swedish", or "italian").
If you want to be able to send invoices via email directly from within BambooInvoice, you must specify the SMTP server settings. To do so, navigate to the /bambooinvoice/bamboo_system_files/application/config directory and open the email.php file in a text editor. Uncomment the following block and specify the SMTP server, user name, and password:
$config['protocol'] = 'smtp'; $config['smtp_host'] = 'smtp1.mailserver.ca'; $config['smtp_user'] = 'username'; $config['smtp_pass'] = 'password'; $config['smtp_port'] = '25';
To finish the installation, delete the /bambooinvoice/bamboo_system_files/application/controllers/install.php file. Point your browser to http://localhost/bambooinvoice and log in to BambooInvoice using the email address and password specified during installation. This brings you to BambooInvoice's main window (referred to as Root System) consisting of five sections: Invoices, Clients, Reports, Settings, and Utilities.
Settings
First you'll need to specify your account and invoice settings, which is done in the Settings section (see Figure 2). All the fields in the Account Settings subsection are self-explanatory, so you shouldn't have any trouble completing them. The Invoice Settings subsection allows you to specify different invoicing options, such as the default invoice note, currency, payment period, and tax information. Finally, the Advanced Settings subsection lets you add a custom logo that will appear on invoices, disable the default branding, and enable saving of invoices.
The latter option saves PDF copies on the server, but unless you use a .htaccess file to protect your server, you should leave this option disabled.
Next you'll need to populate BambooInvoice with clients, which is done in the Clients section (Figure 3). After selecting the Create New Client button, fill out the available fields and press Save client. Be sure to pay particular attention to the Tax Status section; here, you can mark the client as taxable or non-taxable. Also, you should add at least one contact to the created client. In the Clients section, click on the client to expand the view, click on the Add Contact link, then add a contact. In the client view, you can also add notes to a particular client by pressing the Notes button. This can come in handy if you need to enter some information about the client, like "Always pays invoices on time."
Creating Invoices
To create a new invoice, press the New Invoice button in the toolbar on the left-hand side, select an existing client from the Select client drop-down list, or create a new client on-the-fly by entering a name in the appropriate field (Figure 4). To create the invoice and open it for editing, press the Create Invoice button.
If you want to change the default invoice number or invoicing date, you can do so by modifying the appropriate options. Then fill out the first invoice item and, if necessary, create additional items by pressing the New Item button. To save the invoice, press the Save Invoice button. This displays the created invoice and, using the available buttons in the toolbar to the left, you can perform several actions (Figure 5). Using the Email Invoice button, you can send the invoice via email to a specified contact, whereas the Generate PDF button generates a PDF version of the invoice that you can then either print, send via email as an attachment, or archive for future reference.
To send the invoice directly to your printer, use the Print Invoice button. If you want to modify the currently viewed invoice, you can use the Edit Invoice button or delete the invoice by pressing the Delete Invoice button. The Private Note button allows you to attach a note to the invoice, which then appears in the Invoice History & Private Notes section below the invoice itself.
After the client has paid the invoice, you must close it with the use of the Enter Payment button. If you enter the full amount, BambooInvoice automatically marks the invoice as closed. From that point, you can neither edit nor send the invoice.
BambooInvoice also allows you to enter partial payments, which can come in handy when the client pays the invoices in several installments. Every time you add a payment, it appears in the Invoice History & Private Notes section, so you can keep track of how much of the invoiced amount has been paid.
The Invoice Summary button opens a window that provides an overview of the invoices in the system. By default, BambooInvoice displays a list of open invoices (i.e., sent but unpaid invoices that are not overdue). To view the overdue invoices, select the Overdue option. In a similar manner, you can view the closed invoices or all invoices by selecting the appropriate option. To display a list of invoices for a particular client, choose it from the Select client drop-down list.
Of course, BambooInvoice comes with reporting features, which you can access through the Reports section (Figure 6). Although BambooInvoice's reporting capabilities are not particularly sophisticated, they provide enough information to help you track your invoices and income. The available buttons let you generate quarterly reports quickly, and the Yearly Income graph provides a visual overview of your earnings. The main window of the Reports section also contains a list of open and overdue invoices, as well as the total number of invoices issued to the current date.
Buy this article as PDF
(incl. VAT)
Buy Linux Magazine
Subscribe to our Linux Newsletters
Find Linux and Open Source Jobs
Subscribe to our ADMIN Newsletters
Support Our Work
Linux Magazine content is made possible with support from readers like you. Please consider contributing when you’ve found an article to be beneficial.
News
-
The Gnome Foundation Struggling to Stay Afloat
The foundation behind the Gnome desktop environment is having to go through some serious belt-tightening due to continued financial problems.
-
Thousands of Linux Servers Infected with Stealth Malware Since 2021
Perfctl is capable of remaining undetected, which makes it dangerous and hard to mitigate.
-
Halcyon Creates Anti-Ransomware Protection for Linux
As more Linux systems are targeted by ransomware, Halcyon is stepping up its protection.
-
Valve and Arch Linux Announce Collaboration
Valve and Arch have come together for two projects that will have a serious impact on the Linux distribution.
-
Hacker Successfully Runs Linux on a CPU from the Early ‘70s
From the office of "Look what I can do," Dmitry Grinberg was able to get Linux running on a processor that was created in 1971.
-
OSI and LPI Form Strategic Alliance
With a goal of strengthening Linux and open source communities, this new alliance aims to nurture the growth of more highly skilled professionals.
-
Fedora 41 Beta Available with Some Interesting Additions
If you're a Fedora fan, you'll be excited to hear the beta version of the latest release is now available for testing and includes plenty of updates.
-
AlmaLinux Unveils New Hardware Certification Process
The AlmaLinux Hardware Certification Program run by the Certification Special Interest Group (SIG) aims to ensure seamless compatibility between AlmaLinux and a wide range of hardware configurations.
-
Wind River Introduces eLxr Pro Linux Solution
eLxr Pro offers an end-to-end Linux solution backed by expert commercial support.
-
Juno Tab 3 Launches with Ubuntu 24.04
Anyone looking for a full-blown Linux tablet need look no further. Juno has released the Tab 3.